aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2005-08-13 01:10:27 +0000
committerRob Landley <rob@landley.net>2005-08-13 01:10:27 +0000
commitbe3dae145f71b583f2c975d8dcdc10d9dad2268a (patch)
tree4bcd50be61a1945e41eabd59d645d398fc038522
parent6022fc8723c4bfaf055011db33f69565fa0c82b1 (diff)
downloadbusybox-w32-be3dae145f71b583f2c975d8dcdc10d9dad2268a.tar.gz
busybox-w32-be3dae145f71b583f2c975d8dcdc10d9dad2268a.tar.bz2
busybox-w32-be3dae145f71b583f2c975d8dcdc10d9dad2268a.zip
Makefile related backports:
10945, 10946 Make compile much, much faster. 10923 big makefile change. Nervous. 10946, 10991, 10998, 11003 small makefile fixes.
-rw-r--r--busybox/Makefile14
-rw-r--r--busybox/Rules.mak24
-rw-r--r--busybox/applets/Makefile.in2
-rw-r--r--busybox/archival/Makefile.in2
-rw-r--r--busybox/archival/libunarchive/Makefile.in2
-rw-r--r--busybox/console-tools/Makefile.in2
-rw-r--r--busybox/coreutils/Makefile.in2
-rw-r--r--busybox/coreutils/libcoreutils/Makefile.in2
-rw-r--r--busybox/debianutils/Makefile.in2
-rw-r--r--busybox/docs/busybox.net/FAQ.html87
-rw-r--r--busybox/editors/Makefile.in2
-rw-r--r--busybox/findutils/Makefile.in2
-rw-r--r--busybox/init/Makefile.in2
-rw-r--r--busybox/libbb/Makefile.in2
-rw-r--r--busybox/libpwdgrp/Makefile.in2
-rw-r--r--busybox/loginutils/Makefile.in2
-rw-r--r--busybox/miscutils/Makefile.in2
-rw-r--r--busybox/modutils/Makefile.in2
-rw-r--r--busybox/networking/Makefile.in2
-rw-r--r--busybox/networking/libiproute/Makefile.in2
-rw-r--r--busybox/networking/udhcp/Makefile.in2
-rw-r--r--busybox/networking/udhcp/clientpacket.c3
-rw-r--r--busybox/procps/Makefile.in2
-rw-r--r--busybox/shell/Makefile.in2
-rw-r--r--busybox/sysklogd/Makefile.in2
-rw-r--r--busybox/util-linux/Makefile.in2
26 files changed, 71 insertions, 101 deletions
diff --git a/busybox/Makefile b/busybox/Makefile
index 81c59a089..048194dea 100644
--- a/busybox/Makefile
+++ b/busybox/Makefile
@@ -34,7 +34,7 @@ ifndef top_builddir
34top_builddir=$(CURDIR) 34top_builddir=$(CURDIR)
35endif 35endif
36 36
37srctree=$(top_srcdir) 37export srctree=$(top_srcdir)
38vpath %/Config.in $(srctree) 38vpath %/Config.in $(srctree)
39 39
40include $(top_builddir)/Rules.mak 40include $(top_builddir)/Rules.mak
@@ -164,9 +164,9 @@ docs/busybox.pod : $(top_srcdir)/docs/busybox_header.pod $(top_srcdir)/include/u
164 cat $(top_srcdir)/docs/busybox_footer.pod ) > docs/busybox.pod 164 cat $(top_srcdir)/docs/busybox_footer.pod ) > docs/busybox.pod
165 165
166docs/BusyBox.txt: docs/busybox.pod 166docs/BusyBox.txt: docs/busybox.pod
167 @echo 167 $(SECHO)
168 @echo BusyBox Documentation 168 $(SECHO) BusyBox Documentation
169 @echo 169 $(SECHO)
170 -mkdir -p docs 170 -mkdir -p docs
171 -pod2text $< > $@ 171 -pod2text $< > $@
172 172
@@ -214,9 +214,9 @@ include/config.h: .config
214 @$(top_builddir)/scripts/config/conf -o $(CONFIG_CONFIG_IN) 214 @$(top_builddir)/scripts/config/conf -o $(CONFIG_CONFIG_IN)
215 215
216finished2: 216finished2:
217 @echo 217 $(SECHO)
218 @echo Finished installing... 218 $(SECHO) Finished installing...
219 @echo 219 $(SECHO)
220 220
221else # ifeq ($(strip $(HAVE_DOT_CONFIG)),y) 221else # ifeq ($(strip $(HAVE_DOT_CONFIG)),y)
222 222
diff --git a/busybox/Rules.mak b/busybox/Rules.mak
index 1d917c2fa..c46855aca 100644
--- a/busybox/Rules.mak
+++ b/busybox/Rules.mak
@@ -81,12 +81,12 @@ BB_SRC_DIR=
81 81
82WARNINGS=-Wall -Wstrict-prototypes -Wshadow 82WARNINGS=-Wall -Wstrict-prototypes -Wshadow
83CFLAGS=-I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir) 83CFLAGS=-I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)
84ARFLAGS=-r 84ARFLAGS=cru
85 85
86#-------------------------------------------------------- 86#--------------------------------------------------------
87export VERSION BUILDTIME TOPDIR HOSTCC HOSTCFLAGS CROSS CC AR AS LD NM STRIP CPP 87export VERSION BUILDTIME TOPDIR HOSTCC HOSTCFLAGS CROSS CC AR AS LD NM STRIP CPP
88ifeq ($(strip $(TARGET_ARCH)),) 88ifeq ($(strip $(TARGET_ARCH)),)
89TARGET_ARCH=$(shell $(CC) -dumpmachine | sed -e s'/-.*//' \ 89TARGET_ARCH:=$(shell $(CC) -dumpmachine | sed -e s'/-.*//' \
90 -e 's/i.86/i386/' \ 90 -e 's/i.86/i386/' \
91 -e 's/sparc.*/sparc/' \ 91 -e 's/sparc.*/sparc/' \
92 -e 's/arm.*/arm/g' \ 92 -e 's/arm.*/arm/g' \
@@ -109,14 +109,22 @@ endif
109check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \ 109check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \
110 then echo "$(1)"; else echo "$(2)"; fi) 110 then echo "$(1)"; else echo "$(2)"; fi)
111 111
112# Setup some shortcuts so that silent mode is silent like it should be
113ifeq ($(subst s,,$(MAKEFLAGS)),$(MAKEFLAGS))
114export MAKE_IS_SILENT=n
115SECHO=@echo
116else
117export MAKE_IS_SILENT=y
118SECHO=-@false
119endif
120
112#-------------------------------------------------------- 121#--------------------------------------------------------
113# Arch specific compiler optimization stuff should go here. 122# Arch specific compiler optimization stuff should go here.
114# Unless you want to override the defaults, do not set anything 123# Unless you want to override the defaults, do not set anything
115# for OPTIMIZATION... 124# for OPTIMIZATION...
116 125
117# use '-Os' optimization if available, else use -O2 126# use '-Os' optimization if available, else use -O2
118OPTIMIZATION= 127OPTIMIZATION:=${call check_gcc,-Os,-O2}
119OPTIMIZATION=${call check_gcc,-Os,-O2}
120 128
121# Some nice architecture specific optimizations 129# Some nice architecture specific optimizations
122ifeq ($(strip $(TARGET_ARCH)),arm) 130ifeq ($(strip $(TARGET_ARCH)),arm)
@@ -158,8 +166,8 @@ ifeq ($(strip $(CONFIG_DEBUG)),y)
158 STRIPCMD:=/bin/true -Not_stripping_since_we_are_debugging 166 STRIPCMD:=/bin/true -Not_stripping_since_we_are_debugging
159else 167else
160 CFLAGS+=$(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG 168 CFLAGS+=$(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG
161 LDFLAGS += -s -Wl,-warn-common 169 LDFLAGS += -Wl,-warn-common
162 STRIPCMD:=$(STRIP) --remove-section=.note --remove-section=.comment 170 STRIPCMD:=$(STRIP) -s --remove-section=.note --remove-section=.comment
163endif 171endif
164ifeq ($(strip $(CONFIG_STATIC)),y) 172ifeq ($(strip $(CONFIG_STATIC)),y)
165 LDFLAGS += --static 173 LDFLAGS += --static
@@ -190,7 +198,3 @@ endif
190CFLAGS += $(CFLAGS_EXTRA) 198CFLAGS += $(CFLAGS_EXTRA)
191 199
192.PHONY: dummy 200.PHONY: dummy
193
194
195.EXPORT_ALL_VARIABLES:
196
diff --git a/busybox/applets/Makefile.in b/busybox/applets/Makefile.in
index e31bb6fd9..8a43c79f3 100644
--- a/busybox/applets/Makefile.in
+++ b/busybox/applets/Makefile.in
@@ -29,7 +29,7 @@ APPLET_OBJ:= $(patsubst %.c,$(APPLETS_DIR)%.o, $(APPLET_SRC))
29libraries-y+=$(APPLETS_DIR)$(APPLETS_AR) 29libraries-y+=$(APPLETS_DIR)$(APPLETS_AR)
30 30
31$(APPLETS_DIR)$(APPLETS_AR): $(APPLET_OBJ) 31$(APPLETS_DIR)$(APPLETS_AR): $(APPLET_OBJ)
32 $(AR) -ro $@ $(APPLET_OBJ) 32 $(AR) $(ARFLAGS) $@ $(APPLET_OBJ)
33 33
34$(APPLET_OBJ): $(top_builddir)/.config 34$(APPLET_OBJ): $(top_builddir)/.config
35$(APPLET_OBJ): $(APPLETS_DIR)%.o: $(srcdir)/%.c 35$(APPLET_OBJ): $(APPLETS_DIR)%.o: $(srcdir)/%.c
diff --git a/busybox/archival/Makefile.in b/busybox/archival/Makefile.in
index 76ab6cd08..dd399e1e7 100644
--- a/busybox/archival/Makefile.in
+++ b/busybox/archival/Makefile.in
@@ -41,7 +41,7 @@ ARCHIVAL-$(CONFIG_UNZIP) += unzip.o
41libraries-y+=$(ARCHIVAL_DIR)$(ARCHIVAL_AR) 41libraries-y+=$(ARCHIVAL_DIR)$(ARCHIVAL_AR)
42 42
43$(ARCHIVAL_DIR)$(ARCHIVAL_AR): $(patsubst %,$(ARCHIVAL_DIR)%, $(ARCHIVAL-y)) 43$(ARCHIVAL_DIR)$(ARCHIVAL_AR): $(patsubst %,$(ARCHIVAL_DIR)%, $(ARCHIVAL-y))
44 $(AR) -ro $@ $(patsubst %,$(ARCHIVAL_DIR)%, $(ARCHIVAL-y)) 44 $(AR) $(ARFLAGS) $@ $(patsubst %,$(ARCHIVAL_DIR)%, $(ARCHIVAL-y))
45 45
46$(ARCHIVAL_DIR)%.o: $(srcdir)/%.c 46$(ARCHIVAL_DIR)%.o: $(srcdir)/%.c
47 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 47 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/archival/libunarchive/Makefile.in b/busybox/archival/libunarchive/Makefile.in
index 809b0e10e..c0464c72b 100644
--- a/busybox/archival/libunarchive/Makefile.in
+++ b/busybox/archival/libunarchive/Makefile.in
@@ -77,7 +77,7 @@ LIBUNARCHIVE-$(CONFIG_UNZIP) += $(GUNZIP_FILES)
77libraries-y+=$(LIBUNARCHIVE_DIR)$(LIBUNARCHIVE_AR) 77libraries-y+=$(LIBUNARCHIVE_DIR)$(LIBUNARCHIVE_AR)
78 78
79$(LIBUNARCHIVE_DIR)$(LIBUNARCHIVE_AR): $(patsubst %,$(LIBUNARCHIVE_DIR)%, $(LIBUNARCHIVE-y)) 79$(LIBUNARCHIVE_DIR)$(LIBUNARCHIVE_AR): $(patsubst %,$(LIBUNARCHIVE_DIR)%, $(LIBUNARCHIVE-y))
80 $(AR) -ro $@ $(patsubst %,$(LIBUNARCHIVE_DIR)%, $(LIBUNARCHIVE-y)) 80 $(AR) $(ARFLAGS) $@ $(patsubst %,$(LIBUNARCHIVE_DIR)%, $(LIBUNARCHIVE-y))
81 81
82$(LIBUNARCHIVA_DIR)%.o: $(srcdir)/%.c 82$(LIBUNARCHIVA_DIR)%.o: $(srcdir)/%.c
83 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 83 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/console-tools/Makefile.in b/busybox/console-tools/Makefile.in
index b19ce5cb2..23ce37397 100644
--- a/busybox/console-tools/Makefile.in
+++ b/busybox/console-tools/Makefile.in
@@ -37,7 +37,7 @@ CONSOLETOOLS_DIR-$(CONFIG_SETKEYCODES) += setkeycodes.o
37libraries-y+=$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR) 37libraries-y+=$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR)
38 38
39$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR): $(patsubst %,$(CONSOLETOOLS_DIR)%, $(CONSOLETOOLS_DIR-y)) 39$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR): $(patsubst %,$(CONSOLETOOLS_DIR)%, $(CONSOLETOOLS_DIR-y))
40 $(AR) -ro $@ $(patsubst %,$(CONSOLETOOLS_DIR)%, $(CONSOLETOOLS_DIR-y)) 40 $(AR) $(ARFLAGS) $@ $(patsubst %,$(CONSOLETOOLS_DIR)%, $(CONSOLETOOLS_DIR-y))
41 41
42$(CONSOLETOOLS_DIR)%.o: $(srcdir)/%.c 42$(CONSOLETOOLS_DIR)%.o: $(srcdir)/%.c
43 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 43 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/coreutils/Makefile.in b/busybox/coreutils/Makefile.in
index aacb813b3..628aae0db 100644
--- a/busybox/coreutils/Makefile.in
+++ b/busybox/coreutils/Makefile.in
@@ -91,7 +91,7 @@ COREUTILS-$(CONFIG_YES) += yes.o
91libraries-y+=$(COREUTILS_DIR)$(COREUTILS_AR) 91libraries-y+=$(COREUTILS_DIR)$(COREUTILS_AR)
92 92
93$(COREUTILS_DIR)$(COREUTILS_AR): $(patsubst %,$(COREUTILS_DIR)%, $(COREUTILS-y)) 93$(COREUTILS_DIR)$(COREUTILS_AR): $(patsubst %,$(COREUTILS_DIR)%, $(COREUTILS-y))
94 $(AR) -ro $@ $(patsubst %,$(COREUTILS_DIR)%, $(COREUTILS-y)) 94 $(AR) $(ARFLAGS) $@ $(patsubst %,$(COREUTILS_DIR)%, $(COREUTILS-y))
95 95
96$(COREUTILS_DIR)%.o: $(srcdir)/%.c 96$(COREUTILS_DIR)%.o: $(srcdir)/%.c
97 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 97 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/coreutils/libcoreutils/Makefile.in b/busybox/coreutils/libcoreutils/Makefile.in
index cf83d7107..5f692b600 100644
--- a/busybox/coreutils/libcoreutils/Makefile.in
+++ b/busybox/coreutils/libcoreutils/Makefile.in
@@ -30,7 +30,7 @@ LIBCOREUTILS_OBJS=$(patsubst %.c,$(LIBCOREUTILS_DIR)%.o, $(LIBCOREUTILS_SRC))
30libraries-y+=$(LIBCOREUTILS_DIR)$(LIBCOREUTILS_AR) 30libraries-y+=$(LIBCOREUTILS_DIR)$(LIBCOREUTILS_AR)
31 31
32$(LIBCOREUTILS_DIR)$(LIBCOREUTILS_AR): $(LIBCOREUTILS_OBJS) 32$(LIBCOREUTILS_DIR)$(LIBCOREUTILS_AR): $(LIBCOREUTILS_OBJS)
33 $(AR) -ro $@ $(LIBCOREUTILS_OBJS) 33 $(AR) $(ARFLAGS) $@ $(LIBCOREUTILS_OBJS)
34 34
35$(LIBCOREUTILS_DIR)%.o: $(srcdir)/%.c 35$(LIBCOREUTILS_DIR)%.o: $(srcdir)/%.c
36 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 36 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/debianutils/Makefile.in b/busybox/debianutils/Makefile.in
index 3a204033e..67f5dd53f 100644
--- a/busybox/debianutils/Makefile.in
+++ b/busybox/debianutils/Makefile.in
@@ -34,7 +34,7 @@ DEBIANUTILS-$(CONFIG_WHICH) += which.o
34libraries-y+=$(DEBIANUTILS_DIR)$(DEBIANUTILS_AR) 34libraries-y+=$(DEBIANUTILS_DIR)$(DEBIANUTILS_AR)
35 35
36$(DEBIANUTILS_DIR)$(DEBIANUTILS_AR): $(patsubst %,$(DEBIANUTILS_DIR)%, $(DEBIANUTILS-y)) 36$(DEBIANUTILS_DIR)$(DEBIANUTILS_AR): $(patsubst %,$(DEBIANUTILS_DIR)%, $(DEBIANUTILS-y))
37 $(AR) -ro $@ $(patsubst %,$(DEBIANUTILS_DIR)%, $(DEBIANUTILS-y)) 37 $(AR) $(ARFLAGS) $@ $(patsubst %,$(DEBIANUTILS_DIR)%, $(DEBIANUTILS-y))
38 38
39$(DEBIANUTILS_DIR)%.o: $(srcdir)/%.c 39$(DEBIANUTILS_DIR)%.o: $(srcdir)/%.c
40 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 40 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/docs/busybox.net/FAQ.html b/busybox/docs/busybox.net/FAQ.html
index a9324ae26..8de06e632 100644
--- a/busybox/docs/busybox.net/FAQ.html
+++ b/busybox/docs/busybox.net/FAQ.html
@@ -254,68 +254,33 @@ have additions to this FAQ document, we would love to add them,
254 trust PayPal... 254 trust PayPal...
255 255
256<hr /> 256<hr />
257<p>
258<h2><a name="optimize">I want to make busybox even smaller, how do I go about it?</a></h2>
259<p>
260 To conserve bytes it's good to know where they're being used, and the
261 size of the final executable isn't always a reliable indicator of
262 the size of the components (since various structures are rounded up,
263 so a small change may not even be visible by itself, but many small
264 savings add up).
265</p>
266<p>
267 To examine a busybox binary with an eye to saving bytes, build an
268 optimized debug version and run the "nm" command against it, like so:
269</p>
270<p>
271 make clean && make STRIPCMD=/bin/true && nm --size-sort busybox
272</p>
273<p>
274 This gives a list of symbols and the amount of space allocated for
275 each one, sorted by size. (Note: do not enable CONFIG_DEBUG for this,
276 as that disables compiler optimization which is great for running gdb
277 but misleading when trying to figure out how much space each component
278 is really using under normal circumstances.)
279</p>
280<hr />
281
282
257 283
258<br>
259<br>
260<br>
261<br>
262<br>
263<br>
264<br>
265<br>
266<br>
267<br>
268<br>
269<br>
270<br>
271<br>
272<br>
273<br>
274<br>
275<br>
276<br>
277<br>
278<br>
279<br>
280<br>
281<br>
282<br>
283<br>
284<br>
285<br>
286<br>
287<br>
288<br>
289<br>
290<br>
291<br>
292<br>
293<br>
294<br>
295<br>
296<br>
297<br>
298<br>
299<br>
300<br>
301<br>
302<br>
303<br>
304<br>
305<br>
306<br>
307<br>
308<br>
309<br>
310<br>
311<br>
312<br>
313<br>
314<br>
315<br>
316<br>
317<br>
318<br>
319<br> 284<br>
320<br> 285<br>
321<br> 286<br>
diff --git a/busybox/editors/Makefile.in b/busybox/editors/Makefile.in
index 571e05568..b43cc463b 100644
--- a/busybox/editors/Makefile.in
+++ b/busybox/editors/Makefile.in
@@ -41,7 +41,7 @@ ifeq ($(needlibm-y),y)
41endif 41endif
42 42
43$(EDITOR_DIR)$(EDITOR_AR): $(patsubst %,$(EDITOR_DIR)%, $(EDITOR-y)) 43$(EDITOR_DIR)$(EDITOR_AR): $(patsubst %,$(EDITOR_DIR)%, $(EDITOR-y))
44 $(AR) -ro $@ $(patsubst %,$(EDITOR_DIR)%, $(EDITOR-y)) 44 $(AR) $(ARFLAGS) $@ $(patsubst %,$(EDITOR_DIR)%, $(EDITOR-y))
45 45
46$(EDITOR_DIR)%.o: $(srcdir)/%.c 46$(EDITOR_DIR)%.o: $(srcdir)/%.c
47 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 47 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/findutils/Makefile.in b/busybox/findutils/Makefile.in
index ae71070d9..107d2519e 100644
--- a/busybox/findutils/Makefile.in
+++ b/busybox/findutils/Makefile.in
@@ -31,7 +31,7 @@ FINDUTILS-$(CONFIG_XARGS) += xargs.o
31libraries-y+=$(FINDUTILS_DIR)$(FINDUTILS_AR) 31libraries-y+=$(FINDUTILS_DIR)$(FINDUTILS_AR)
32 32
33$(FINDUTILS_DIR)$(FINDUTILS_AR): $(patsubst %,$(FINDUTILS_DIR)%, $(FINDUTILS-y)) 33$(FINDUTILS_DIR)$(FINDUTILS_AR): $(patsubst %,$(FINDUTILS_DIR)%, $(FINDUTILS-y))
34 $(AR) -ro $@ $(patsubst %,$(FINDUTILS_DIR)%, $(FINDUTILS-y)) 34 $(AR) $(ARFLAGS) $@ $(patsubst %,$(FINDUTILS_DIR)%, $(FINDUTILS-y))
35 35
36$(FINDUTILS_DIR)%.o: $(srcdir)/%.c 36$(FINDUTILS_DIR)%.o: $(srcdir)/%.c
37 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 37 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/init/Makefile.in b/busybox/init/Makefile.in
index 807259dee..9e3eadf51 100644
--- a/busybox/init/Makefile.in
+++ b/busybox/init/Makefile.in
@@ -55,7 +55,7 @@ endif
55libraries-y+=$(INIT_DIR)$(INIT_AR) 55libraries-y+=$(INIT_DIR)$(INIT_AR)
56 56
57$(INIT_DIR)$(INIT_AR): $(patsubst %,$(INIT_DIR)%, $(INIT-y)) 57$(INIT_DIR)$(INIT_AR): $(patsubst %,$(INIT_DIR)%, $(INIT-y))
58 $(AR) -ro $@ $(patsubst %,$(INIT_DIR)%, $(INIT-y)) 58 $(AR) $(ARFLAGS) $@ $(patsubst %,$(INIT_DIR)%, $(INIT-y))
59 59
60$(INIT_DIR)%.o: $(srcdir)/%.c 60$(INIT_DIR)%.o: $(srcdir)/%.c
61 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 61 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/libbb/Makefile.in b/busybox/libbb/Makefile.in
index d4c5ec14a..212ed70b7 100644
--- a/busybox/libbb/Makefile.in
+++ b/busybox/libbb/Makefile.in
@@ -84,7 +84,7 @@ libraries-y+=$(LIBBB_DIR)$(LIBBB_AR)
84 84
85$(LIBBB_DIR)$(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_MOBJS0) $(LIBBB_MOBJS1) \ 85$(LIBBB_DIR)$(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_MOBJS0) $(LIBBB_MOBJS1) \
86 $(LIBBB_MOBJS2) $(LIBBB_MOBJS3) $(LIBBB_MOBJS4) 86 $(LIBBB_MOBJS2) $(LIBBB_MOBJS3) $(LIBBB_MOBJS4)
87 $(AR) -ro $@ $(LIBBB_OBJS) $(LIBBB_MOBJS0) $(LIBBB_MOBJS1) \ 87 $(AR) $(ARFLAGS) $@ $(LIBBB_OBJS) $(LIBBB_MOBJS0) $(LIBBB_MOBJS1) \
88 $(LIBBB_MOBJS2) $(LIBBB_MOBJS3) $(LIBBB_MOBJS4) 88 $(LIBBB_MOBJS2) $(LIBBB_MOBJS3) $(LIBBB_MOBJS4)
89 89
90$(LIBBB_DIR)%.o: $(srcdir)/%.c 90$(LIBBB_DIR)%.o: $(srcdir)/%.c
diff --git a/busybox/libpwdgrp/Makefile.in b/busybox/libpwdgrp/Makefile.in
index 9bdfc10d8..7d7241c66 100644
--- a/busybox/libpwdgrp/Makefile.in
+++ b/busybox/libpwdgrp/Makefile.in
@@ -42,7 +42,7 @@ LIBPWDGRP_MOBJS1=$(patsubst %,$(LIBPWDGRP_DIR)%, $(LIBPWDGRP_MOBJ1-y))
42libraries-y+=$(LIBPWDGRP_DIR)$(LIBPWDGRP_AR) 42libraries-y+=$(LIBPWDGRP_DIR)$(LIBPWDGRP_AR)
43 43
44$(LIBPWDGRP_DIR)$(LIBPWDGRP_AR): $(LIBPWDGRP_MOBJS0) $(LIBPWDGRP_MOBJS1) 44$(LIBPWDGRP_DIR)$(LIBPWDGRP_AR): $(LIBPWDGRP_MOBJS0) $(LIBPWDGRP_MOBJS1)
45 $(AR) -ro $@ $(LIBPWDGRP_MOBJS0) $(LIBPWDGRP_MOBJS1) 45 $(AR) $(ARFLAGS) $@ $(LIBPWDGRP_MOBJS0) $(LIBPWDGRP_MOBJS1)
46 46
47$(LIBPWDGRP_MOBJS0): $(LIBPWDGRP_MSRC0) 47$(LIBPWDGRP_MOBJS0): $(LIBPWDGRP_MSRC0)
48 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@ 48 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@
diff --git a/busybox/loginutils/Makefile.in b/busybox/loginutils/Makefile.in
index 96a61e60f..cb8733f42 100644
--- a/busybox/loginutils/Makefile.in
+++ b/busybox/loginutils/Makefile.in
@@ -50,7 +50,7 @@ ifeq ($(needcrypt-y),y)
50endif 50endif
51 51
52$(LOGINUTILS_DIR)$(LOGINUTILS_AR): $(patsubst %,$(LOGINUTILS_DIR)%, $(LOGINUTILS-y)) 52$(LOGINUTILS_DIR)$(LOGINUTILS_AR): $(patsubst %,$(LOGINUTILS_DIR)%, $(LOGINUTILS-y))
53 $(AR) -ro $@ $(patsubst %,$(LOGINUTILS_DIR)%, $(LOGINUTILS-y)) 53 $(AR) $(ARFLAGS) $@ $(patsubst %,$(LOGINUTILS_DIR)%, $(LOGINUTILS-y))
54 54
55$(LOGINUTILS_DIR)%.o: $(srcdir)/%.c 55$(LOGINUTILS_DIR)%.o: $(srcdir)/%.c
56 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 56 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/miscutils/Makefile.in b/busybox/miscutils/Makefile.in
index ddddf72b3..6c5ab0d04 100644
--- a/busybox/miscutils/Makefile.in
+++ b/busybox/miscutils/Makefile.in
@@ -48,7 +48,7 @@ ifeq ($(needlibm-y),y)
48endif 48endif
49 49
50$(MISCUTILS_DIR)$(MISCUTILS_AR): $(patsubst %,$(MISCUTILS_DIR)%, $(MISCUTILS-y)) 50$(MISCUTILS_DIR)$(MISCUTILS_AR): $(patsubst %,$(MISCUTILS_DIR)%, $(MISCUTILS-y))
51 $(AR) -ro $@ $(patsubst %,$(MISCUTILS_DIR)%, $(MISCUTILS-y)) 51 $(AR) $(ARFLAGS) $@ $(patsubst %,$(MISCUTILS_DIR)%, $(MISCUTILS-y))
52 52
53$(MISCUTILS_DIR)%.o: $(srcdir)/%.c 53$(MISCUTILS_DIR)%.o: $(srcdir)/%.c
54 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 54 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/modutils/Makefile.in b/busybox/modutils/Makefile.in
index 9bd11d4d8..7bfbae3a4 100644
--- a/busybox/modutils/Makefile.in
+++ b/busybox/modutils/Makefile.in
@@ -32,7 +32,7 @@ MODUTILS-$(CONFIG_RMMOD) += rmmod.o
32libraries-y+=$(MODUTILS_DIR)$(MODUTILS_AR) 32libraries-y+=$(MODUTILS_DIR)$(MODUTILS_AR)
33 33
34$(MODUTILS_DIR)$(MODUTILS_AR): $(patsubst %,$(MODUTILS_DIR)%, $(MODUTILS-y)) 34$(MODUTILS_DIR)$(MODUTILS_AR): $(patsubst %,$(MODUTILS_DIR)%, $(MODUTILS-y))
35 $(AR) -ro $@ $(patsubst %,$(MODUTILS_DIR)%, $(MODUTILS-y)) 35 $(AR) $(ARFLAGS) $@ $(patsubst %,$(MODUTILS_DIR)%, $(MODUTILS-y))
36 36
37$(MODUTILS_DIR)%.o: $(srcdir)/%.c 37$(MODUTILS_DIR)%.o: $(srcdir)/%.c
38 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 38 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/networking/Makefile.in b/busybox/networking/Makefile.in
index 9bfe90176..f0157ad59 100644
--- a/busybox/networking/Makefile.in
+++ b/busybox/networking/Makefile.in
@@ -61,7 +61,7 @@ ifeq ($(needcrypt-y),y)
61endif 61endif
62 62
63$(NETWORKING_DIR)$(NETWORKING_AR): $(patsubst %,$(NETWORKING_DIR)%, $(NETWORKING-y)) 63$(NETWORKING_DIR)$(NETWORKING_AR): $(patsubst %,$(NETWORKING_DIR)%, $(NETWORKING-y))
64 $(AR) -ro $@ $(patsubst %,$(NETWORKING_DIR)%, $(NETWORKING-y)) 64 $(AR) $(ARFLAGS) $@ $(patsubst %,$(NETWORKING_DIR)%, $(NETWORKING-y))
65 65
66$(NETWORKING_DIR)%.o: $(srcdir)/%.c 66$(NETWORKING_DIR)%.o: $(srcdir)/%.c
67 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 67 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/networking/libiproute/Makefile.in b/busybox/networking/libiproute/Makefile.in
index fcc7f48ce..a28af4611 100644
--- a/busybox/networking/libiproute/Makefile.in
+++ b/busybox/networking/libiproute/Makefile.in
@@ -77,7 +77,7 @@ LIBIPROUTE-$(CONFIG_IPTUNNEL) += \
77libraries-y+=$(LIBIPROUTE_DIR)$(LIBIPROUTE_AR) 77libraries-y+=$(LIBIPROUTE_DIR)$(LIBIPROUTE_AR)
78 78
79$(LIBIPROUTE_DIR)$(LIBIPROUTE_AR): $(patsubst %,$(LIBIPROUTE_DIR)%, $(LIBIPROUTE-y)) 79$(LIBIPROUTE_DIR)$(LIBIPROUTE_AR): $(patsubst %,$(LIBIPROUTE_DIR)%, $(LIBIPROUTE-y))
80 $(AR) -ro $@ $(patsubst %,$(LIBIPROUTE_DIR)%, $(LIBIPROUTE-y)) 80 $(AR) $(ARFLAGS) $@ $(patsubst %,$(LIBIPROUTE_DIR)%, $(LIBIPROUTE-y))
81 81
82$(LIBIPROUTE_DIR)%.o: $(srcdir)/%.c 82$(LIBIPROUTE_DIR)%.o: $(srcdir)/%.c
83 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 83 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/networking/udhcp/Makefile.in b/busybox/networking/udhcp/Makefile.in
index 94750f693..ac9be5c57 100644
--- a/busybox/networking/udhcp/Makefile.in
+++ b/busybox/networking/udhcp/Makefile.in
@@ -47,7 +47,7 @@ UDHCP_OBJS=$(patsubst %.c,$(UDHCP_DIR)%.o, $(UDHCP-y))
47libraries-y+=$(UDHCP_DIR)$(UDHCP_AR) 47libraries-y+=$(UDHCP_DIR)$(UDHCP_AR)
48 48
49$(UDHCP_DIR)$(UDHCP_AR): $(UDHCP_OBJS) 49$(UDHCP_DIR)$(UDHCP_AR): $(UDHCP_OBJS)
50 $(AR) -ro $@ $(UDHCP_OBJS) 50 $(AR) $(ARFLAGS) $@ $(UDHCP_OBJS)
51 51
52$(UDHCP_OBJS): $(UDHCP_DIR)%.o : $(srcdir)/%.c 52$(UDHCP_OBJS): $(UDHCP_DIR)%.o : $(srcdir)/%.c
53 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DIN_BUSYBOX -c $< -o $@ 53 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DIN_BUSYBOX -c $< -o $@
diff --git a/busybox/networking/udhcp/clientpacket.c b/busybox/networking/udhcp/clientpacket.c
index ec96601cb..a0e8ccfb6 100644
--- a/busybox/networking/udhcp/clientpacket.c
+++ b/busybox/networking/udhcp/clientpacket.c
@@ -76,7 +76,8 @@ static void init_packet(struct dhcpMessage *packet, char type)
76 76
77 init_header(packet, type); 77 init_header(packet, type);
78 memcpy(packet->chaddr, client_config.arp, 6); 78 memcpy(packet->chaddr, client_config.arp, 6);
79 add_option_string(packet->options, client_config.clientid); 79 if (client_config.clientid)
80 add_option_string(packet->options, client_config.clientid);
80 if (client_config.hostname) add_option_string(packet->options, client_config.hostname); 81 if (client_config.hostname) add_option_string(packet->options, client_config.hostname);
81 add_option_string(packet->options, (uint8_t *) &vendor_id); 82 add_option_string(packet->options, (uint8_t *) &vendor_id);
82} 83}
diff --git a/busybox/procps/Makefile.in b/busybox/procps/Makefile.in
index ced29a198..b9eb117fd 100644
--- a/busybox/procps/Makefile.in
+++ b/busybox/procps/Makefile.in
@@ -36,7 +36,7 @@ PROCPS-$(CONFIG_UPTIME) += uptime.o
36libraries-y+=$(PROCPS_DIR)$(PROCPS_AR) 36libraries-y+=$(PROCPS_DIR)$(PROCPS_AR)
37 37
38$(PROCPS_DIR)$(PROCPS_AR): $(patsubst %,$(PROCPS_DIR)%, $(PROCPS-y)) 38$(PROCPS_DIR)$(PROCPS_AR): $(patsubst %,$(PROCPS_DIR)%, $(PROCPS-y))
39 $(AR) -ro $@ $(patsubst %,$(PROCPS_DIR)%, $(PROCPS-y)) 39 $(AR) $(ARFLAGS) $@ $(patsubst %,$(PROCPS_DIR)%, $(PROCPS-y))
40 40
41$(PROCPS_DIR)%.o: $(srcdir)/%.c 41$(PROCPS_DIR)%.o: $(srcdir)/%.c
42 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 42 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/shell/Makefile.in b/busybox/shell/Makefile.in
index 61b2846ac..9677fd62f 100644
--- a/busybox/shell/Makefile.in
+++ b/busybox/shell/Makefile.in
@@ -33,7 +33,7 @@ SHELLT-$(CONFIG_FEATURE_COMMAND_EDITING) += cmdedit.o
33libraries-y+=$(SHELL_DIR)$(SHELL_AR) 33libraries-y+=$(SHELL_DIR)$(SHELL_AR)
34 34
35$(SHELL_DIR)$(SHELL_AR): $(patsubst %,$(SHELL_DIR)%, $(SHELLT-y)) 35$(SHELL_DIR)$(SHELL_AR): $(patsubst %,$(SHELL_DIR)%, $(SHELLT-y))
36 $(AR) -ro $@ $(patsubst %,$(SHELL_DIR)%, $(SHELLT-y)) 36 $(AR) $(ARFLAGS) $@ $(patsubst %,$(SHELL_DIR)%, $(SHELLT-y))
37 37
38$(SHELL_DIR)%.o: $(srcdir)/%.c 38$(SHELL_DIR)%.o: $(srcdir)/%.c
39 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 39 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/sysklogd/Makefile.in b/busybox/sysklogd/Makefile.in
index 99a5f823c..78efdc7cf 100644
--- a/busybox/sysklogd/Makefile.in
+++ b/busybox/sysklogd/Makefile.in
@@ -32,7 +32,7 @@ SYSKLOGD-$(CONFIG_SYSLOGD) += syslogd.o
32libraries-y+=$(SYSKLOGD_DIR)$(SYSKLOGD_AR) 32libraries-y+=$(SYSKLOGD_DIR)$(SYSKLOGD_AR)
33 33
34$(SYSKLOGD_DIR)$(SYSKLOGD_AR): $(patsubst %,$(SYSKLOGD_DIR)%, $(SYSKLOGD-y)) 34$(SYSKLOGD_DIR)$(SYSKLOGD_AR): $(patsubst %,$(SYSKLOGD_DIR)%, $(SYSKLOGD-y))
35 $(AR) -ro $@ $(patsubst %,$(SYSKLOGD_DIR)%, $(SYSKLOGD-y)) 35 $(AR) $(ARFLAGS) $@ $(patsubst %,$(SYSKLOGD_DIR)%, $(SYSKLOGD-y))
36 36
37$(SYSKLOGD_DIR)%.o: $(srcdir)/%.c 37$(SYSKLOGD_DIR)%.o: $(srcdir)/%.c
38 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 38 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
diff --git a/busybox/util-linux/Makefile.in b/busybox/util-linux/Makefile.in
index 0172b3562..3e31f8d46 100644
--- a/busybox/util-linux/Makefile.in
+++ b/busybox/util-linux/Makefile.in
@@ -48,7 +48,7 @@ UTILLINUX-$(CONFIG_UMOUNT) +=umount.o
48libraries-y+=$(UTILLINUX_DIR)$(UTILLINUX_AR) 48libraries-y+=$(UTILLINUX_DIR)$(UTILLINUX_AR)
49 49
50$(UTILLINUX_DIR)$(UTILLINUX_AR): $(patsubst %,$(UTILLINUX_DIR)%, $(UTILLINUX-y)) 50$(UTILLINUX_DIR)$(UTILLINUX_AR): $(patsubst %,$(UTILLINUX_DIR)%, $(UTILLINUX-y))
51 $(AR) -ro $@ $(patsubst %,$(UTILLINUX_DIR)%, $(UTILLINUX-y)) 51 $(AR) $(ARFLAGS) $@ $(patsubst %,$(UTILLINUX_DIR)%, $(UTILLINUX-y))
52 52
53$(UTILLINUX_DIR)%.o: $(srcdir)/%.c 53$(UTILLINUX_DIR)%.o: $(srcdir)/%.c
54 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< 54 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<