kbuild: support make dir/file.i for *.S
diff mbox

Message ID 20151210163329.GA18947@udknight
State New
Headers show

Commit Message

wang yanqing Dec. 10, 2015, 4:33 p.m. UTC
This feature could reduce a little time to expand all
the macros in *.S for reading.

Signed-off-by: Wang YanQing <udknight@gmail.com>
---
 Makefile               | 2 ++
 scripts/Makefile.build | 6 ++++++
 2 files changed, 8 insertions(+)

Comments

Michal Marek Dec. 11, 2015, 4:29 p.m. UTC | #1
Dne 10.12.2015 v 17:33 Wang YanQing napsal(a):
> This feature could reduce a little time to expand all
> the macros in *.S for reading.
> 
> Signed-off-by: Wang YanQing <udknight@gmail.com>

Makes sense. Applied to kbuild.git#kbuild.

Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Brian Gerst Dec. 12, 2015, 7:13 p.m. UTC | #2
On Thu, Dec 10, 2015 at 11:33 AM, Wang YanQing <udknight@gmail.com> wrote:
> This feature could reduce a little time to expand all
> the macros in *.S for reading.
>
> Signed-off-by: Wang YanQing <udknight@gmail.com>
> ---
>  Makefile               | 2 ++
>  scripts/Makefile.build | 6 ++++++
>  2 files changed, 8 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 7558c9c..d7e2060 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1552,6 +1552,8 @@ endif
>         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>  %.s: %.S prepare scripts FORCE
>         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
> +%.i: %.S prepare scripts FORCE
> +       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>  %.o: %.S prepare scripts FORCE
>         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>  %.symtypes: %.c prepare scripts FORCE
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 2c47f9c..2a51d49 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -287,6 +287,12 @@ cmd_as_s_S       = $(CPP) $(a_flags)   -o $@ $<
>  $(obj)/%.s: $(src)/%.S FORCE
>         $(call if_changed_dep,as_s_S)
>
> +quiet_cmd_cc_i_S = CPP $(quiet_modtag) $@
> +cmd_cc_i_S       = $(CPP) $(a_flags)   -o $@ $<
> +
> +$(obj)/%.i: $(src)/%.S FORCE
> +       $(call if_changed_dep,cc_i_S)
> +
>  quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
>  cmd_as_o_S       = $(CC) $(a_flags) -c -o $@ $<

*.s (lower case) is the suffix used for preprocessed assembly files,
and there is already a rule for that.  *.i is for preprocessed C
files.

--
Brian Gerst
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Masahiro Yamada Dec. 13, 2015, 8:17 a.m. UTC | #3
2015-12-13 4:13 GMT+09:00 Brian Gerst <brgerst@gmail.com>:
> On Thu, Dec 10, 2015 at 11:33 AM, Wang YanQing <udknight@gmail.com> wrote:
>> This feature could reduce a little time to expand all
>> the macros in *.S for reading.
>>
>> Signed-off-by: Wang YanQing <udknight@gmail.com>
>> ---
>>  Makefile               | 2 ++
>>  scripts/Makefile.build | 6 ++++++
>>  2 files changed, 8 insertions(+)
>>
>> diff --git a/Makefile b/Makefile
>> index 7558c9c..d7e2060 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -1552,6 +1552,8 @@ endif
>>         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>>  %.s: %.S prepare scripts FORCE
>>         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>> +%.i: %.S prepare scripts FORCE
>> +       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>>  %.o: %.S prepare scripts FORCE
>>         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>>  %.symtypes: %.c prepare scripts FORCE
>> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
>> index 2c47f9c..2a51d49 100644
>> --- a/scripts/Makefile.build
>> +++ b/scripts/Makefile.build
>> @@ -287,6 +287,12 @@ cmd_as_s_S       = $(CPP) $(a_flags)   -o $@ $<
>>  $(obj)/%.s: $(src)/%.S FORCE
>>         $(call if_changed_dep,as_s_S)
>>
>> +quiet_cmd_cc_i_S = CPP $(quiet_modtag) $@
>> +cmd_cc_i_S       = $(CPP) $(a_flags)   -o $@ $<
>> +
>> +$(obj)/%.i: $(src)/%.S FORCE
>> +       $(call if_changed_dep,cc_i_S)
>> +
>>  quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
>>  cmd_as_o_S       = $(CC) $(a_flags) -c -o $@ $<
>
> *.s (lower case) is the suffix used for preprocessed assembly files,
> and there is already a rule for that.  *.i is for preprocessed C
> files.
>

Right.  We already support *.s and it is completely the same as
what this patch adds (except that *.i is now an alias of *.s,
which is also wrong as Brian pointed out.)

quiet_cmd_as_s_S = CPP $(quiet_modtag) $@
cmd_as_s_S       = $(CPP) $(a_flags)   -o $@ $<

$(obj)/%.s: $(src)/%.S FORCE
         $(call if_changed_dep,as_s_S)
wang yanqing Dec. 14, 2015, 4:14 p.m. UTC | #4
On Sat, Dec 12, 2015 at 02:13:03PM -0500, Brian Gerst wrote:
> On Thu, Dec 10, 2015 at 11:33 AM, Wang YanQing <udknight@gmail.com> wrote:
> > This feature could reduce a little time to expand all
> > the macros in *.S for reading.
> >
> > Signed-off-by: Wang YanQing <udknight@gmail.com>
> > ---
> >  Makefile               | 2 ++
> >  scripts/Makefile.build | 6 ++++++
> >  2 files changed, 8 insertions(+)
> >
> > diff --git a/Makefile b/Makefile
> > index 7558c9c..d7e2060 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -1552,6 +1552,8 @@ endif
> >         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
> >  %.s: %.S prepare scripts FORCE
> >         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
> > +%.i: %.S prepare scripts FORCE
> > +       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
> >  %.o: %.S prepare scripts FORCE
> >         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
> >  %.symtypes: %.c prepare scripts FORCE
> > diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> > index 2c47f9c..2a51d49 100644
> > --- a/scripts/Makefile.build
> > +++ b/scripts/Makefile.build
> > @@ -287,6 +287,12 @@ cmd_as_s_S       = $(CPP) $(a_flags)   -o $@ $<
> >  $(obj)/%.s: $(src)/%.S FORCE
> >         $(call if_changed_dep,as_s_S)
> >
> > +quiet_cmd_cc_i_S = CPP $(quiet_modtag) $@
> > +cmd_cc_i_S       = $(CPP) $(a_flags)   -o $@ $<
> > +
> > +$(obj)/%.i: $(src)/%.S FORCE
> > +       $(call if_changed_dep,cc_i_S)
> > +
> >  quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
> >  cmd_as_o_S       = $(CC) $(a_flags) -c -o $@ $<
> 
> *.s (lower case) is the suffix used for preprocessed assembly files,
> and there is already a rule for that.  *.i is for preprocessed C
> files.

Agreed, you are right!

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michal Marek Dec. 14, 2015, 5:16 p.m. UTC | #5
Dne 14.12.2015 v 17:14 Wang YanQing napsal(a):
> On Sat, Dec 12, 2015 at 02:13:03PM -0500, Brian Gerst wrote:
>> On Thu, Dec 10, 2015 at 11:33 AM, Wang YanQing <udknight@gmail.com> wrote:
>>> This feature could reduce a little time to expand all
>>> the macros in *.S for reading.
>>>
>>> Signed-off-by: Wang YanQing <udknight@gmail.com>
>>> ---
>>>  Makefile               | 2 ++
>>>  scripts/Makefile.build | 6 ++++++
>>>  2 files changed, 8 insertions(+)
>>>
>>> diff --git a/Makefile b/Makefile
>>> index 7558c9c..d7e2060 100644
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -1552,6 +1552,8 @@ endif
>>>         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>>>  %.s: %.S prepare scripts FORCE
>>>         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>>> +%.i: %.S prepare scripts FORCE
>>> +       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>>>  %.o: %.S prepare scripts FORCE
>>>         $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
>>>  %.symtypes: %.c prepare scripts FORCE
>>> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
>>> index 2c47f9c..2a51d49 100644
>>> --- a/scripts/Makefile.build
>>> +++ b/scripts/Makefile.build
>>> @@ -287,6 +287,12 @@ cmd_as_s_S       = $(CPP) $(a_flags)   -o $@ $<
>>>  $(obj)/%.s: $(src)/%.S FORCE
>>>         $(call if_changed_dep,as_s_S)
>>>
>>> +quiet_cmd_cc_i_S = CPP $(quiet_modtag) $@
>>> +cmd_cc_i_S       = $(CPP) $(a_flags)   -o $@ $<
>>> +
>>> +$(obj)/%.i: $(src)/%.S FORCE
>>> +       $(call if_changed_dep,cc_i_S)
>>> +
>>>  quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
>>>  cmd_as_o_S       = $(CC) $(a_flags) -c -o $@ $<
>>
>> *.s (lower case) is the suffix used for preprocessed assembly files,
>> and there is already a rule for that.  *.i is for preprocessed C
>> files.
> 
> Agreed, you are right!

Ah, I missed. I'll revert the patch in the kbuild tree.

Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Masahiro Yamada Dec. 15, 2015, 1:41 a.m. UTC | #6
Hi Michal,

2015-12-15 2:16 GMT+09:00 Michal Marek <mmarek@suse.com>:

>
> Ah, I missed. I'll revert the patch in the kbuild tree.


Please drop the noise commit rather than reverting it.
It was just applied a few days ago, and there is only one commit on top of it.

Patch
diff mbox

diff --git a/Makefile b/Makefile
index 7558c9c..d7e2060 100644
--- a/Makefile
+++ b/Makefile
@@ -1552,6 +1552,8 @@  endif
 	$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
 %.s: %.S prepare scripts FORCE
 	$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+%.i: %.S prepare scripts FORCE
+	$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
 %.o: %.S prepare scripts FORCE
 	$(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
 %.symtypes: %.c prepare scripts FORCE
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 2c47f9c..2a51d49 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -287,6 +287,12 @@  cmd_as_s_S       = $(CPP) $(a_flags)   -o $@ $<
 $(obj)/%.s: $(src)/%.S FORCE
 	$(call if_changed_dep,as_s_S)
 
+quiet_cmd_cc_i_S = CPP $(quiet_modtag) $@
+cmd_cc_i_S       = $(CPP) $(a_flags)   -o $@ $<
+
+$(obj)/%.i: $(src)/%.S FORCE
+	$(call if_changed_dep,cc_i_S)
+
 quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
 cmd_as_o_S       = $(CC) $(a_flags) -c -o $@ $<