diff options
author | Denis Vlasenko | 2008-04-12 13:46:39 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-04-12 13:46:39 +0000 |
commit | 55e06c1edf259283e1c7d02ad90be1a5c49c7404 (patch) | |
tree | 7329f3b0ac6d4864ff687ac3108e8d71a4ea3434 | |
parent | eecd588c53066fa5f95bc1ec2249028e0efcc8f3 (diff) | |
download | busybox-55e06c1edf259283e1c7d02ad90be1a5c49c7404.zip busybox-55e06c1edf259283e1c7d02ad90be1a5c49c7404.tar.gz |
Makefile.IMA: generate autoconf.h if needed
Makefile.IMA: use ld -gc-collect on gc -combine result
(by using trylink script). Saves ~3k.
-rw-r--r-- | scripts/Makefile.IMA | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/scripts/Makefile.IMA b/scripts/Makefile.IMA index 27163ab..2939917 100644 --- a/scripts/Makefile.IMA +++ b/scripts/Makefile.IMA @@ -146,21 +146,36 @@ lib-all-y += $(patsubst %,libbb/%,$(sort $(lib-y))) lib-y:= comma:=, -busybox: $(usage_stuff) include/applet_tables.h +busybox_unstripped.o: $(usage_stuff) include/applet_tables.h include/autoconf.h $(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) \ $(patsubst %,-Wl$(comma)%,$(LDFLAGS) $(EXTRA_LDFLAGS)) \ -DGCC_COMBINE=1 \ --combine $(WHOLE_PROGRAM) \ -funit-at-a-time -Wno-error -std=gnu99 \ - -o $(@)_unstripped $(lib-all-y:.o=.c) \ - -Wl,--start-group -lcrypt -lm -Wl,--end-group + -c -o busybox_unstripped.o \ + $(lib-all-y:.o=.c) + +busybox: busybox_unstripped.o + $(srctree)/scripts/trylink \ + busybox_unstripped \ + "$(CC)" \ + "$(CFLAGS)" \ + "$(LDFLAGS)" \ + "busybox_unstripped.o" \ + "" \ + "crypt m" cp -f $(@)_unstripped $@ -$(STRIP) -s -R .note -R .comment -R .version $@ -applets/usage: +# If .config is newer than include/autoconf.h, someone tinkered +# with it and forgot to run make oldconfig. +include/autoconf.h: .config + $(MAKE) -f $(srctree)/Makefile silentoldconfig + +applets/usage: include/autoconf.h $(HOSTCC) -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I$(srctree)/include -o applets/usage applets/usage.c -applets/applet_tables: +applets/applet_tables: include/autoconf.h $(HOSTCC) -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I$(srctree)/include -o applets/applet_tables applets/applet_tables.c include/usage_compressed.h: $(srctree)/include/usage.h applets/usage |