Pending patches status?
Bernhard Fischer
rep.nop at aon.at
Thu Mar 2 17:44:56 UTC 2006
On Thu, Mar 02, 2006 at 04:45:38PM +0100, Bernhard Fischer wrote:
>On Thu, Mar 02, 2006 at 03:21:58PM +0200, Denis Vlasenko wrote:
>>On Thursday 02 March 2006 11:49, Bernhard Fischer wrote:
>>> >Patches at http://195.66.192.167/linux/bbox/ are updated with descriptions.
>>> >make.patch is modified.
>>>
>>> You did not provide {sil,pur,ver}_{disp,cmd}_compile.{s,i} in your
>>> patch.
>
>Look at Rules.mak and e.g. the sil_disp and sil_cmd stuff.
>The rule should read:
>
>pur_disp_compile.s = @echo " "CC [.S] $(show_objs) ;
>sil_disp_compile.s = @
>ver_disp_compile.s =
>cmd_compile.s = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I$(srcdir) -S -o
>$@ $< \
>$(CFLAGS-$(notdir $(@D))-$(notdir $(@F))) \
> $(CFLAGS-$(notdir $(@D)))
>compile.s = $(disp_compile.s) $(cmd_compile.s)
>.SUFFIXES: .c .S .o .os .om .osm .oS .so .a .s .i .E
>%.s: %.c ; $(compile.s)
>
>
>The string for '" "CC [.S]' is debatable..
>>
>>> I'll fixed this.
>>
>>I don't understand this last sentence.
I didn't look at the library versions yet, but would something
like the attached do what you want?
-------------- next part --------------
Index: Rules.mak
===================================================================
--- Rules.mak (revision 14426)
+++ Rules.mak (working copy)
@@ -283,11 +283,15 @@ endif
ifeq ($(strip $(CONFIG_BUILD_LIBBUSYBOX)),y)
# single-object extension
os:=.os
+ss:=.ss
# multi-object extension
om:=.osm
+sm:=.ssm
else
os:=.o
om:=.om
+ss:=.s
+sm:=.sm
endif
#------------------------------------------------------------
@@ -319,6 +323,7 @@ define show_objs
endef
pur_disp_compile.c = @echo " "CC $(show_objs) ;
pur_disp_compile.h = @echo " "HOSTCC $(show_objs) ;
+pur_disp_compile.s = @echo " "CC [.S] $(show_objs) ;
pur_disp_strip = @echo " "STRIP $(show_objs) ;
pur_disp_link = @echo " "LINK $(show_objs) ;
pur_disp_link.h = @echo " "HOSTLINK $(show_objs) ;
@@ -328,6 +333,7 @@ pur_disp_doc = @echo " "DOC $(sub
pur_disp_bin = @echo " "BIN $(show_objs) ;
sil_disp_compile.c = @
sil_disp_compile.h = @
+sil_disp_compile.s = @
sil_disp_strip = @
sil_disp_link = @
sil_disp_link.h = @
@@ -337,6 +343,7 @@ sil_disp_doc = @
sil_disp_bin = @
ver_disp_compile.c =
ver_disp_compile.h =
+ver_disp_compile.s =
ver_disp_strip =
ver_disp_link =
ver_disp_link.h =
@@ -363,6 +370,10 @@ cmd_compile.c = $(CC) $(CFLAGS) $(E
$(CFLAGS-$(notdir $(@D)))
cmd_compile.m = $(cmd_compile.c) -DL_$(patsubst %$(suffix $(notdir $@)),%,$(notdir $@))
cmd_compile.h = $(HOSTCC) $(HOSTCFLAGS) -c -o $@ $<
+cmd_compile.s = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I$(srcdir) -S -o $@ $< \
+ $(foreach f,$^,$(CFLAGS-$(notdir $(patsubst %/$,%,$(dir $(f))))-$(notdir $(f)))) \
+ $(CFLAGS-$(notdir $(@D))-$(notdir $(@F))) \
+ $(CFLAGS-$(notdir $(@D)))
cmd_strip = $(STRIPCMD) $@
cmd_link = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I$(srcdir) $(LDFLAGS)
cmd_link.h = $(HOSTCC) $(HOSTCFLAGS) $(HOST_LDFLAGS) $^ -o $@
@@ -370,13 +381,14 @@ cmd_ar = $(AR) $(ARFLAGS) $@
compile.c = $(disp_compile.c) $(cmd_compile.c)
compile.m = $(disp_compile.c) $(cmd_compile.m)
compile.h = $(disp_compile.h) $(cmd_compile.h)
+compile.s = $(disp_compile.s) $(cmd_compile.s)
do_strip = $(disp_strip) $(cmd_strip)
do_link = $(disp_link) $(cmd_link)
do_link.h = $(disp_link.h) $(cmd_link.h)
do_ar = $(disp_ar) $(cmd_ar)
ifdef rules-mak-rules
-.SUFFIXES: .c .S .o .os .om .osm .oS .so .a .s .i .E
+.SUFFIXES: .c .S .o .os .om .osm .oS .so .a .s .ss .sm .ssm
# generic rules
%.o: %.c ; $(compile.c)
@@ -385,6 +397,10 @@ ifdef rules-mak-rules
%.os: ; $(compile.c) $(CFLAGS_PIC)
%.om: ; $(compile.m)
%.osm: ; $(compile.m) $(CFLAGS_PIC)
+%.s: ; $(compile.s)
+%.ss: ; $(compile.s) $(CFLAGS_PIC)
+%.sm: ; $(compile.s)
+%.ssm: ; $(compile.s) $(CFLAGS_PIC)
endif # rules-mak-rules
Index: Makefile
===================================================================
--- Makefile (revision 14426)
+++ Makefile (working copy)
@@ -258,6 +259,13 @@ endif
$(if $($(1)_OBJ$(os)),$($(1)_OBJ$(os)): $(top_builddir)/$(2)/%$(os): $(top_srcdir)/$(2)/%.c)
$(if $($(1)_OBJ),$($(1)_OBJ): $(top_builddir)/$(2)/%.o: $(top_srcdir)/$(2)/%.c)
+ifeq ($(ss),.ss)
+# write patterns for both .ss and .s
+$(if $($(1)_OBJ.os),$($(1)_OBJ.os:.os=.s): $(top_builddir)/$(2)/%.s: $(top_srcdir)/$(2)/%.c)
+endif
+$(if $($(1)_OBJ$(os)),$($(1)_OBJ$(os):$(os)=$(ss)): $(top_builddir)/$(2)/%$(ss): $(top_srcdir)/$(2)/%.c)
+$(if $($(1)_OBJ),$($(1)_OBJ:.o=.s): $(top_builddir)/$(2)/%.s: $(top_srcdir)/$(2)/%.c)
+
lib-obj-y+=$($(1)_OBJ) $($(1)_OBJ.o) $($(1)_OBJ.os)
lib-mobj-y+=$($(1)_MOBJ.o) $($(1)_MOBJ.os)
bin-obj-y+=$($(1)_OBJ:.os=.o) $($(1)_OBJ.o:.os=.o) $($(1)_OBJ.os:.os=.o)
More information about the busybox
mailing list