diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2006-03-01 22:54:48 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2006-03-01 22:54:48 +0000 |
commit | 5d26126b9e8fd6c6f5098dbaa2e5b9e2901749bf (patch) | |
tree | 233c051da862595b6e473e832051708e2d9803cb | |
parent | 12c2429a4242a157217c5bc9673a531fa1e1de61 (diff) | |
download | busybox-w32-5d26126b9e8fd6c6f5098dbaa2e5b9e2901749bf.tar.gz busybox-w32-5d26126b9e8fd6c6f5098dbaa2e5b9e2901749bf.tar.bz2 busybox-w32-5d26126b9e8fd6c6f5098dbaa2e5b9e2901749bf.zip |
- fixes parallel builds (make -j)
- use less resources for the buildsystem itself
-rw-r--r-- | INSTALL | 21 | ||||
-rw-r--r-- | Makefile | 347 | ||||
-rw-r--r-- | Rules.mak | 314 | ||||
-rw-r--r-- | applets/Makefile.in | 20 | ||||
-rwxr-xr-x | applets/install.sh | 3 | ||||
-rw-r--r-- | archival/Makefile.in | 16 | ||||
-rw-r--r-- | archival/libunarchive/Makefile.in | 96 | ||||
-rw-r--r-- | console-tools/Makefile.in | 27 | ||||
-rw-r--r-- | coreutils/Makefile.in | 16 | ||||
-rw-r--r-- | coreutils/libcoreutils/Makefile.in | 44 | ||||
-rw-r--r-- | debianutils/Makefile.in | 14 | ||||
-rw-r--r-- | e2fsprogs/Makefile.in | 55 | ||||
-rw-r--r-- | editors/Makefile.in | 35 | ||||
-rw-r--r-- | findutils/Makefile.in | 15 | ||||
-rw-r--r-- | init/Makefile.in | 15 | ||||
-rw-r--r-- | libbb/Makefile.in | 102 | ||||
-rw-r--r-- | libpwdgrp/Makefile.in | 54 | ||||
-rw-r--r-- | loginutils/Makefile.in | 19 | ||||
-rw-r--r-- | miscutils/Makefile.in | 27 | ||||
-rw-r--r-- | modutils/Makefile.in | 15 | ||||
-rw-r--r-- | networking/Makefile.in | 29 | ||||
-rw-r--r-- | networking/libiproute/Makefile.in | 110 | ||||
-rw-r--r-- | networking/udhcp/Makefile.in | 93 | ||||
-rw-r--r-- | procps/Makefile.in | 14 | ||||
-rw-r--r-- | scripts/config/Makefile | 10 | ||||
-rw-r--r-- | shell/Makefile.in | 26 | ||||
-rw-r--r-- | sysklogd/Makefile.in | 14 | ||||
-rw-r--r-- | util-linux/Makefile.in | 85 |
28 files changed, 796 insertions, 840 deletions
@@ -72,6 +72,13 @@ also configure a standaone install capability into the busybox base applet, | |||
72 | and then install such links at runtime with one of "busybox --install" (for | 72 | and then install such links at runtime with one of "busybox --install" (for |
73 | hardlinks) or "busybox --install -s" (for symlinks). | 73 | hardlinks) or "busybox --install -s" (for symlinks). |
74 | 74 | ||
75 | If you built busybox as shared object which uses libbusybox.so and have not | ||
76 | yet installed the binary but want to run tests, then set your LD_LIBRARY_PATH | ||
77 | accordingly before running the executable: | ||
78 | |||
79 | export LD_LIBRARY_PATH=`pwd` | ||
80 | ./busybox | ||
81 | |||
75 | Building out-of-tree: | 82 | Building out-of-tree: |
76 | ===================== | 83 | ===================== |
77 | 84 | ||
@@ -80,8 +87,13 @@ Building from a read-only source tree, or to building multiple | |||
80 | configurations from the same source directory, requires the ability to | 87 | configurations from the same source directory, requires the ability to |
81 | put the temporary files somewhere else. | 88 | put the temporary files somewhere else. |
82 | 89 | ||
83 | To build out of tree, use the O=$BUILDPATH option during the configuration | 90 | To build out of tree, cd to the empty directory and do this instead: |
84 | step, as in: | 91 | |
92 | make -f /path/to/source/Makefile allyesconfig | ||
93 | make | ||
94 | make install | ||
95 | |||
96 | Alternately, use the O=$BUILDPATH option during the configuration step, as in: | ||
85 | 97 | ||
86 | make O=/some/empty/directory allyesconfig | 98 | make O=/some/empty/directory allyesconfig |
87 | cd /some/empty/directory | 99 | cd /some/empty/directory |
@@ -90,11 +102,6 @@ step, as in: | |||
90 | 102 | ||
91 | (Note, O= requires an absolute path.) | 103 | (Note, O= requires an absolute path.) |
92 | 104 | ||
93 | Alternately, cd to the empty directory and do this instead: | ||
94 | |||
95 | make top_srcdir=/path/to/source -f /path/to/source/Makefile allyesconfig | ||
96 | make | ||
97 | make install | ||
98 | 105 | ||
99 | More Information: | 106 | More Information: |
100 | ================= | 107 | ================= |
@@ -10,16 +10,15 @@ | |||
10 | #-------------------------------------------------------------- | 10 | #-------------------------------------------------------------- |
11 | noconfig_targets := menuconfig config oldconfig randconfig \ | 11 | noconfig_targets := menuconfig config oldconfig randconfig \ |
12 | defconfig allyesconfig allnoconfig allbareconfig \ | 12 | defconfig allyesconfig allnoconfig allbareconfig \ |
13 | clean distclean \ | ||
14 | release tags | 13 | release tags |
15 | 14 | ||
16 | # the toplevel sourcedir | 15 | # the toplevel sourcedir |
17 | ifndef top_srcdir | 16 | ifndef top_srcdir |
18 | top_srcdir=$(CURDIR) | 17 | top_srcdir:=$(shell cd $(dir $(firstword $(MAKEFILE_LIST))) && pwd) |
19 | endif | 18 | endif |
20 | # toplevel directory of the object-tree | 19 | # toplevel directory of the object-tree |
21 | ifndef top_builddir | 20 | ifndef top_builddir |
22 | top_builddir=$(CURDIR) | 21 | top_builddir:=$(CURDIR) |
23 | endif | 22 | endif |
24 | 23 | ||
25 | export srctree=$(top_srcdir) | 24 | export srctree=$(top_srcdir) |
@@ -34,79 +33,102 @@ SRC_DIRS:=$(patsubst %,$(top_srcdir)/%,$(DIRS)) | |||
34 | 33 | ||
35 | # That's our default target when none is given on the command line | 34 | # That's our default target when none is given on the command line |
36 | .PHONY: _all | 35 | .PHONY: _all |
37 | _all: | ||
38 | 36 | ||
39 | CONFIG_CONFIG_IN = $(top_srcdir)/Config.in | 37 | _all: all |
40 | 38 | ||
41 | ifeq ($(KBUILD_SRC),) | 39 | # see if we are in verbose mode |
40 | ifdef VERBOSE | ||
41 | CHECK_VERBOSE := -v | ||
42 | PACKAGE_BE_VERBOSE := $(VERBOSE) | ||
43 | endif | ||
44 | ifdef V | ||
45 | CHECK_VERBOSE := -v | ||
46 | PACKAGE_BE_VERBOSE := $(V) | ||
47 | endif | ||
42 | 48 | ||
43 | ifdef O | 49 | ifdef O |
44 | ifeq ("$(origin O)", "command line") | 50 | ifeq ("$(origin O)", "command line") |
45 | KBUILD_OUTPUT := $(O) | 51 | PACKAGE_OUTPUTDIR := $(shell cd $(O) && pwd) |
46 | top_builddir := $(O) | 52 | top_builddir := $(PACKAGE_OUTPUTDIR) |
47 | endif | 53 | endif |
48 | else | 54 | else |
49 | # If no alternate output-dir was specified, we build in cwd | 55 | # If no alternate output-dir was specified, we build in cwd |
50 | # We are using KBUILD_OUTPUT nevertheless to make sure that we create | 56 | PACKAGE_OUTPUTDIR := $(top_builddir) |
51 | # Rules.mak and the toplevel Makefile, in case they don't exist. | ||
52 | KBUILD_OUTPUT := $(top_builddir) | ||
53 | endif | 57 | endif |
54 | 58 | ||
55 | ifneq ($(strip $(HAVE_DOT_CONFIG)),y) | 59 | ####################################################################### |
56 | # pull in OS specific commands like cp, mkdir, etc. early | 60 | # Try to workaround bugs in make |
61 | |||
62 | # Workaround for bugs in make-3.80 | ||
63 | # eval is broken if it is in a conditional | ||
64 | |||
65 | #$ cat 3.80-eval-in-cond.mak | ||
66 | #all:: ; @echo it | ||
67 | #define Y | ||
68 | # all:: ; @echo worked | ||
69 | #endef | ||
70 | #ifdef BAR | ||
71 | #$(eval $(Y)) | ||
72 | #endif | ||
73 | #$ make -f 3.80-eval-in-cond.mak | ||
74 | #it | ||
75 | #$ make -f 3.80-eval-in-cond.mak BAR=set | ||
76 | #3.80-eval-in-cond.mak:5: *** missing `endif'. Stop. | ||
77 | |||
78 | # This was fixed in December 2003. | ||
79 | define check_gcc | ||
80 | $(eval $(1)+=$(if $(2),$(if $(shell $(CC) $(2) -S -o /dev/null -xc /dev/null > /dev/null 2>&1 && echo y),$(2),$(if $(3),$(3))),$(if $(3),$(3)))) | ||
81 | endef | ||
82 | |||
83 | define check_ld | ||
84 | $(eval $(1)+=$(if $(2),$(if $(shell $(LD) $(2) -o /dev/null -b binary /dev/null > /dev/null 2>&1 && echo y),$(shell echo \-Wl,$(2)),$(if $(3),$(3))),$(if $(3),$(3)))) | ||
85 | endef | ||
86 | |||
87 | ####################################################################### | ||
88 | |||
89 | |||
57 | -include $(top_srcdir)/Rules.mak | 90 | -include $(top_srcdir)/Rules.mak |
58 | endif | ||
59 | 91 | ||
60 | # All object directories. | 92 | # Handle building out of tree |
61 | OBJ_DIRS := $(DIRS) | 93 | ifneq ($(top_builddir),$(top_srcdir)) |
62 | all_tree := $(patsubst %,$(top_builddir)/%,$(OBJ_DIRS) scripts scripts/config include) | 94 | all_tree := $(patsubst %,$(top_builddir)/%,$(DIRS) scripts scripts/config include include/config) |
63 | all_tree: $(all_tree) | ||
64 | $(all_tree): | 95 | $(all_tree): |
65 | @mkdir -p "$@" | 96 | @mkdir -p "$@" |
66 | 97 | ||
67 | ifneq ($(KBUILD_OUTPUT),) | 98 | saved-output := $(PACKAGE_OUTPUTDIR) |
68 | # Invoke a second make in the output directory, passing relevant variables | 99 | |
69 | # Check that the output directory actually exists | 100 | $(if $(wildcard $(PACKAGE_OUTPUTDIR)),, \ |
70 | saved-output := $(KBUILD_OUTPUT) | ||
71 | KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd) | ||
72 | $(if $(wildcard $(KBUILD_OUTPUT)),, \ | ||
73 | $(error output directory "$(saved-output)" does not exist)) | 101 | $(error output directory "$(saved-output)" does not exist)) |
74 | 102 | ||
75 | .PHONY: $(MAKECMDGOALS) | 103 | .PHONY: $(MAKECMDGOALS) |
76 | 104 | ||
77 | $(filter-out _all,$(MAKECMDGOALS)) _all: $(KBUILD_OUTPUT)/Rules.mak $(KBUILD_OUTPUT)/Makefile all_tree | 105 | $(PACKAGE_OUTPUTDIR)/Rules.mak: |
78 | $(Q)$(MAKE) -C $(KBUILD_OUTPUT) \ | ||
79 | top_srcdir=$(top_srcdir) \ | ||
80 | top_builddir=$(top_builddir) \ | ||
81 | KBUILD_SRC=$(top_srcdir) \ | ||
82 | -f $(CURDIR)/Makefile $@ | ||
83 | |||
84 | $(KBUILD_OUTPUT)/Rules.mak: | ||
85 | @echo > $@ | 106 | @echo > $@ |
86 | @echo top_srcdir=$(top_srcdir) >> $@ | 107 | @echo top_srcdir=$(top_srcdir) >> $@ |
87 | @echo top_builddir=$(KBUILD_OUTPUT) >> $@ | 108 | @echo top_builddir=$(PACKAGE_OUTPUTDIR) >> $@ |
88 | @echo include $(top_srcdir)/Rules.mak >> $@ | 109 | @echo include $$\(top_srcdir\)/Rules.mak >> $@ |
89 | 110 | ||
90 | $(KBUILD_OUTPUT)/Makefile: | 111 | $(PACKAGE_OUTPUTDIR)/Makefile: |
91 | @echo > $@ | 112 | @echo > $@ |
92 | @echo top_srcdir=$(top_srcdir) >> $@ | 113 | @echo top_srcdir=$(top_srcdir) >> $@ |
93 | @echo top_builddir=$(KBUILD_OUTPUT) >> $@ | 114 | @echo top_builddir=$(PACKAGE_OUTPUTDIR) >> $@ |
94 | @echo KBUILD_SRC='$$(top_srcdir)' >> $@ | 115 | @echo PACKAGE_SOURCEDIR='$$(top_srcdir)' >> $@ |
95 | @echo include '$$(KBUILD_SRC)'/Makefile >> $@ | 116 | @echo include '$$(PACKAGE_SOURCEDIR)'/Makefile >> $@ |
96 | 117 | ||
97 | # Leave processing to above invocation of make | ||
98 | skip-makefile := 1 | ||
99 | endif # ifneq ($(KBUILD_OUTPUT),) | ||
100 | endif # ifeq ($(KBUILD_SRC),) | ||
101 | 118 | ||
102 | ifeq ($(skip-makefile),) | 119 | buildtree := $(all_tree) $(PACKAGE_OUTPUTDIR)/Rules.mak $(PACKAGE_OUTPUTDIR)/Makefile |
103 | 120 | ||
104 | # We only need a copy of the Makefile for the config targets and reuse | 121 | # We only need a copy of the Makefile for the config targets and reuse |
105 | # the rest from the source directory, i.e. we do not cp ALL_MAKEFILES. | 122 | # the rest from the source directory, i.e. we do not cp ALL_MAKEFILES. |
106 | scripts/config/Makefile: $(top_srcdir)/scripts/config/Makefile | 123 | scripts/config/Makefile: $(top_srcdir)/scripts/config/Makefile | $(buildtree) |
107 | cp $< $@ | 124 | @cp $(top_srcdir)/scripts/config/Makefile $@ |
108 | 125 | ||
109 | _all: all | 126 | else |
127 | all_tree := include/config | ||
128 | $(all_tree): | ||
129 | @mkdir -p "$@" | ||
130 | buildtree := $(all_tree) | ||
131 | endif # ifneq ($(PACKAGE_OUTPUTDIR),$(top_srcdir)) | ||
110 | 132 | ||
111 | help: | 133 | help: |
112 | @echo 'Cleaning:' | 134 | @echo 'Cleaning:' |
@@ -137,37 +159,42 @@ help: | |||
137 | @echo ' release - create a distribution tarball' | 159 | @echo ' release - create a distribution tarball' |
138 | @echo ' sizes - show size of all enabled busybox symbols' | 160 | @echo ' sizes - show size of all enabled busybox symbols' |
139 | @echo | 161 | @echo |
140 | 162 | @echo 'Make flags:' | |
141 | 163 | @echo ' V=<number> - print verbose make output (default: unset)' | |
142 | include $(top_srcdir)/Rules.mak | 164 | @echo ' 0 print CC invocations' |
165 | @echo ' 1' | ||
166 | @echo ' 2 also print when make enters a directory' | ||
167 | @echo ' 3 also verbosely print shell invocations' | ||
143 | 168 | ||
144 | ifneq ($(strip $(HAVE_DOT_CONFIG)),y) | 169 | ifneq ($(strip $(HAVE_DOT_CONFIG)),y) |
145 | |||
146 | # Default target if none was requested explicitly | 170 | # Default target if none was requested explicitly |
147 | all: defconfig menuconfig | 171 | all: defconfig menuconfig ; |
148 | 172 | ||
173 | ifneq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) | ||
149 | # warn if no configuration exists and we are asked to build a non-config target | 174 | # warn if no configuration exists and we are asked to build a non-config target |
150 | .config: | 175 | .config: |
151 | @echo "" | 176 | @echo "" |
152 | @echo "No $(top_builddir)/$@ found!" | 177 | @echo "No $(top_builddir)/$@ found!" |
153 | @echo "Please refer to 'make help', section Configuration." | 178 | @echo "Please refer to 'make help', section Configuration." |
154 | @echo "" | 179 | @echo "" |
155 | @exit 1 | 180 | @exit 1 |
181 | else | ||
182 | # Avoid implicit rule to kick in by using an empty command | ||
183 | .config: $(buildtree) ; | ||
184 | endif | ||
185 | endif # ifneq ($(strip $(HAVE_DOT_CONFIG)),y) | ||
186 | |||
156 | 187 | ||
157 | # configuration | 188 | # configuration |
158 | # --------------------------------------------------------------------------- | 189 | # --------------------------------------------------------------------------- |
159 | 190 | ||
191 | CONFIG_CONFIG_IN = $(top_srcdir)/Config.in | ||
192 | |||
160 | scripts/config/conf: scripts/config/Makefile | 193 | scripts/config/conf: scripts/config/Makefile |
161 | $(Q)$(MAKE) -C scripts/config conf | 194 | $(Q)$(MAKE) -C scripts/config conf |
162 | -@if [ ! -f .config ] ; then \ | ||
163 | touch .config; \ | ||
164 | fi | ||
165 | 195 | ||
166 | scripts/config/mconf: scripts/config/Makefile | 196 | scripts/config/mconf: scripts/config/Makefile |
167 | $(Q)$(MAKE) -C scripts/config ncurses conf mconf | 197 | $(Q)$(MAKE) -C scripts/config ncurses conf mconf |
168 | -@if [ ! -f .config ] ; then \ | ||
169 | touch .config; \ | ||
170 | fi | ||
171 | 198 | ||
172 | menuconfig: scripts/config/mconf | 199 | menuconfig: scripts/config/mconf |
173 | @./scripts/config/mconf $(CONFIG_CONFIG_IN) | 200 | @./scripts/config/mconf $(CONFIG_CONFIG_IN) |
@@ -183,7 +210,7 @@ randconfig: scripts/config/conf | |||
183 | 210 | ||
184 | allyesconfig: scripts/config/conf | 211 | allyesconfig: scripts/config/conf |
185 | @./scripts/config/conf -y $(CONFIG_CONFIG_IN) | 212 | @./scripts/config/conf -y $(CONFIG_CONFIG_IN) |
186 | sed -i -r -e "s/^(USING_CROSS_COMPILER)=.*/# \1 is not set/" .config | 213 | @$(SED) -i -r -e "s/^(USING_CROSS_COMPILER)=.*/# \1 is not set/" .config |
187 | @./scripts/config/conf -o $(CONFIG_CONFIG_IN) | 214 | @./scripts/config/conf -o $(CONFIG_CONFIG_IN) |
188 | 215 | ||
189 | allnoconfig: scripts/config/conf | 216 | allnoconfig: scripts/config/conf |
@@ -195,33 +222,68 @@ allnoconfig: scripts/config/conf | |||
195 | 222 | ||
196 | defconfig: scripts/config/conf | 223 | defconfig: scripts/config/conf |
197 | @./scripts/config/conf -y $(CONFIG_CONFIG_IN) | 224 | @./scripts/config/conf -y $(CONFIG_CONFIG_IN) |
198 | sed -i -r -e "s/^(USING_CROSS_COMPILER|CONFIG_(DEBUG.*|STATIC|SELINUX|BUILD_(AT_ONCE|LIBBUSYBOX)|FEATURE_(DEVFS|FULL_LIBBUSYBOX|SHARED_BUSYBOX|MTAB_SUPPORT|CLEAN_UP|UDHCP_DEBUG)|INSTALL_NO_USR))=.*/# \1 is not set/" .config | 225 | @$(SED) -i -r -e "s/^(USING_CROSS_COMPILER|CONFIG_(DEBUG.*|STATIC|SELINUX|BUILD_(AT_ONCE|LIBBUSYBOX)|FEATURE_(DEVFS|FULL_LIBBUSYBOX|SHARED_BUSYBOX|MTAB_SUPPORT|CLEAN_UP|UDHCP_DEBUG)|INSTALL_NO_USR))=.*/# \1 is not set/" .config |
199 | @./scripts/config/conf -o $(CONFIG_CONFIG_IN) | 226 | @./scripts/config/conf -o $(CONFIG_CONFIG_IN) |
200 | 227 | ||
201 | |||
202 | allbareconfig: scripts/config/conf | 228 | allbareconfig: scripts/config/conf |
203 | @./scripts/config/conf -y $(CONFIG_CONFIG_IN) | 229 | @./scripts/config/conf -y $(CONFIG_CONFIG_IN) |
204 | @sed -i -r -e "s/^(USING_CROSS_COMPILER|CONFIG_(DEBUG|STATIC|SELINUX|DEVFSD|NC_GAPING_SECURITY_HOLE|BUILD_AT_ONCE)).*/# \1 is not set/" .config | 230 | @$(SED) -i -r -e "s/^(USING_CROSS_COMPILER|CONFIG_(DEBUG|STATIC|SELINUX|DEVFSD|NC_GAPING_SECURITY_HOLE|BUILD_AT_ONCE)).*/# \1 is not set/" .config |
205 | @sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config | 231 | @$(SED) -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config |
206 | @echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config | 232 | @echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config |
207 | @./scripts/config/conf -o $(CONFIG_CONFIG_IN) | 233 | @./scripts/config/conf -o $(CONFIG_CONFIG_IN) |
208 | 234 | ||
209 | else # ifneq ($(strip $(HAVE_DOT_CONFIG)),y) | 235 | ifeq ($(strip $(HAVE_DOT_CONFIG)),y) |
210 | |||
211 | all: busybox busybox.links doc | ||
212 | 236 | ||
213 | # In this section, we need .config | 237 | # Load all Config.in |
214 | -include $(top_builddir)/.config.cmd | 238 | -include $(top_builddir)/.config.cmd |
215 | include $(patsubst %,%/Makefile.in, $(SRC_DIRS)) | ||
216 | 239 | ||
217 | endif # ifneq ($(strip $(HAVE_DOT_CONFIG)),y) | 240 | endif # ifeq ($(strip $(HAVE_DOT_CONFIG)),y) |
241 | |||
242 | # convert $(DIRS) to upper case. Use sed instead of tr since we're already | ||
243 | # depending on it. | ||
244 | DIRS_UPPER:=$(shell echo $(DIRS) | $(SED) 'h;y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/') | ||
245 | |||
246 | # First populate the variables ..._OBJ-y ...OBJ-m et al | ||
247 | $(foreach d,$(DIRS_UPPER),$(eval $(notdir $(d))-y:=)) | ||
248 | $(foreach d,$(DIRS_UPPER),$(eval $(notdir $(d))-m:=)) | ||
249 | |||
250 | include $(patsubst %,%/Makefile.in,$(SRC_DIRS)) | ||
218 | 251 | ||
219 | -include $(top_builddir)/.config | 252 | # Then we need the dependencies for ..._OBJ |
253 | define dir_pattern.o | ||
254 | ifeq ($(os),.os) | ||
255 | # write patterns for both .os and .o | ||
256 | $(if $($(1)_OBJ.os),$($(1)_OBJ.os:.os=.o): $(top_builddir)/$(2)/%.o: $(top_srcdir)/$(2)/%.c) | ||
257 | endif | ||
258 | $(if $($(1)_OBJ$(os)),$($(1)_OBJ$(os)): $(top_builddir)/$(2)/%$(os): $(top_srcdir)/$(2)/%.c) | ||
259 | $(if $($(1)_OBJ),$($(1)_OBJ): $(top_builddir)/$(2)/%.o: $(top_srcdir)/$(2)/%.c) | ||
260 | |||
261 | lib-obj-y+=$($(1)_OBJ) $($(1)_OBJ.o) $($(1)_OBJ.os) | ||
262 | lib-mobj-y+=$($(1)_MOBJ.o) $($(1)_MOBJ.os) | ||
263 | bin-obj-y+=$($(1)_OBJ:.os=.o) $($(1)_OBJ.o:.os=.o) $($(1)_OBJ.os:.os=.o) | ||
264 | bin-mobj-y+=$($(1)_MOBJ.o:.osm=.om) $($(1)_MOBJ.os:.osm=.om) | ||
265 | endef | ||
266 | # The actual directory patterns for .o* | ||
267 | $(foreach d,$(DIRS),$(eval $(call dir_pattern.o,$(subst /,_,$(d)),$(d)))) | ||
268 | |||
269 | ifeq ($(strip $(HAVE_DOT_CONFIG)),y) | ||
270 | # Finally pull in the dependencies (headers and other includes) of the | ||
271 | # individual object files | ||
220 | -include $(top_builddir)/.depend | 272 | -include $(top_builddir)/.depend |
221 | 273 | ||
222 | 274 | ||
275 | # Everything is set. | ||
276 | |||
277 | all: busybox busybox.links doc ; | ||
278 | |||
279 | # Two modes of operation: legacy and IMA | ||
280 | # Legacy mode builds each object through an individual invocation of CC | ||
281 | # IMA compiles all sources at once (aka IPO aka IPA etc.) | ||
282 | |||
223 | ifeq ($(strip $(CONFIG_BUILD_AT_ONCE)),y) | 283 | ifeq ($(strip $(CONFIG_BUILD_AT_ONCE)),y) |
224 | libraries-y:= | 284 | # We are not building .o |
285 | bin-obj-y:= | ||
286 | bin-mobj-y:= | ||
225 | # Which parts of the internal libs are requested? | 287 | # Which parts of the internal libs are requested? |
226 | # Per default we only want what was actually selected. | 288 | # Per default we only want what was actually selected. |
227 | # -a denotes all while -y denotes the selected ones. | 289 | # -a denotes all while -y denotes the selected ones. |
@@ -237,19 +299,26 @@ APPLETS_DEFINE:=$(APPLETS_DEFINE-y) | |||
237 | else # CONFIG_BUILD_AT_ONCE | 299 | else # CONFIG_BUILD_AT_ONCE |
238 | # no --combine, build archives out of the individual .o | 300 | # no --combine, build archives out of the individual .o |
239 | # This was the old way the binary was built. | 301 | # This was the old way the binary was built. |
240 | libbusybox-obj:=archival/libunarchive/libunarchive.a \ | 302 | libbusybox-obj:=$(archival_libunarchive_OBJ$(os)) \ |
241 | networking/libiproute/libiproute.a \ | 303 | $(networking_libiproute_OBJ$(os)) \ |
242 | libpwdgrp/libpwdgrp.a \ | 304 | $(libpwdgrp_MOBJ$(os)) \ |
243 | coreutils/libcoreutils/libcoreutils.a \ | 305 | $(coreutils_libcoreutils_OBJ$(os)) \ |
244 | libbb/libbb.a | 306 | $(libbb_OBJ$(os)) $(libbb_MOBJ$(os)) |
245 | libbusybox-obj:=$(patsubst %,$(top_builddir)/%,$(libbusybox-obj)) | ||
246 | 307 | ||
247 | ifeq ($(strip $(CONFIG_FEATURE_SHARED_BUSYBOX)),y) | 308 | ifeq ($(strip $(CONFIG_FEATURE_SHARED_BUSYBOX)),y) |
248 | # linking against libbusybox, so don't build the .a already contained in the .so | 309 | # linking against libbusybox, so don't build the .o already contained in the .so |
249 | libraries-y:=$(filter-out $(libbusybox-obj),$(libraries-y)) | 310 | bin-obj-y:=$(filter-out $(libbusybox-obj) $(libbusybox-obj:.os=.o),$(bin-obj-y)) |
311 | bin-mobj-y:=$(filter-out $(libbusybox-obj) $(libbusybox-obj:.osm=.om),$(bin-mobj-y)) | ||
250 | endif # CONFIG_FEATURE_SHARED_BUSYBOX | 312 | endif # CONFIG_FEATURE_SHARED_BUSYBOX |
251 | endif # CONFIG_BUILD_AT_ONCE | 313 | endif # CONFIG_BUILD_AT_ONCE |
252 | 314 | ||
315 | # build an .a to keep .hash et al small | ||
316 | $(if $(bin-obj-y)$(bin-mobj-y),$(eval applets.a:=$(bin-obj-y) $(bin-mobj-y))) | ||
317 | ifdef applets.a | ||
318 | applets.a: $(applets.a) | ||
319 | $(do_ar) | ||
320 | bin-obj.a=applets.a | ||
321 | endif | ||
253 | 322 | ||
254 | ifeq ($(strip $(CONFIG_BUILD_LIBBUSYBOX)),y) | 323 | ifeq ($(strip $(CONFIG_BUILD_LIBBUSYBOX)),y) |
255 | LD_LIBBUSYBOX:=libbusybox.so | 324 | LD_LIBBUSYBOX:=libbusybox.so |
@@ -258,9 +327,11 @@ DO_INSTALL_LIBS:=$(LD_LIBBUSYBOX) \ | |||
258 | $(LD_LIBBUSYBOX).$(MAJOR_VERSION) \ | 327 | $(LD_LIBBUSYBOX).$(MAJOR_VERSION) \ |
259 | $(LD_LIBBUSYBOX).$(MAJOR_VERSION).$(MINOR_VERSION) | 328 | $(LD_LIBBUSYBOX).$(MAJOR_VERSION).$(MINOR_VERSION) |
260 | 329 | ||
330 | endif # CONFIG_BUILD_LIBBUSYBOX | ||
331 | |||
261 | ifeq ($(strip $(CONFIG_BUILD_AT_ONCE)),y) | 332 | ifeq ($(strip $(CONFIG_BUILD_AT_ONCE)),y) |
262 | ifneq ($(strip $(CONFIG_FEATURE_SHARED_BUSYBOX)),y) | 333 | ifneq ($(strip $(CONFIG_FEATURE_SHARED_BUSYBOX)),y) |
263 | # --combine but not linking against libbusybox, so compile all | 334 | # --combine but not linking against libbusybox, so compile lib*.c |
264 | BUSYBOX_SRC := $(LIBRARY_SRC) | 335 | BUSYBOX_SRC := $(LIBRARY_SRC) |
265 | BUSYBOX_DEFINE:= $(LIBRARY_DEFINE) | 336 | BUSYBOX_DEFINE:= $(LIBRARY_DEFINE) |
266 | endif # !CONFIG_FEATURE_SHARED_BUSYBOX | 337 | endif # !CONFIG_FEATURE_SHARED_BUSYBOX |
@@ -268,7 +339,7 @@ $(LIBBUSYBOX_SONAME): $(LIBRARY_SRC) | |||
268 | else # CONFIG_BUILD_AT_ONCE | 339 | else # CONFIG_BUILD_AT_ONCE |
269 | $(LIBBUSYBOX_SONAME): $(libbusybox-obj) | 340 | $(LIBBUSYBOX_SONAME): $(libbusybox-obj) |
270 | endif # CONFIG_BUILD_AT_ONCE | 341 | endif # CONFIG_BUILD_AT_ONCE |
271 | endif # CONFIG_BUILD_LIBBUSYBOX | 342 | |
272 | 343 | ||
273 | ifeq ($(strip $(CONFIG_FEATURE_SHARED_BUSYBOX)),y) | 344 | ifeq ($(strip $(CONFIG_FEATURE_SHARED_BUSYBOX)),y) |
274 | LDBUSYBOX:=-L$(top_builddir) -lbusybox | 345 | LDBUSYBOX:=-L$(top_builddir) -lbusybox |
@@ -279,24 +350,27 @@ $(LIBBUSYBOX_SONAME): | |||
279 | ifndef MAJOR_VERSION | 350 | ifndef MAJOR_VERSION |
280 | $(error MAJOR_VERSION needed for $@ is not defined) | 351 | $(error MAJOR_VERSION needed for $@ is not defined) |
281 | endif | 352 | endif |
282 | $(do_link) $(LIB_CFLAGS) $(LIB_LDFLAGS) \ | 353 | $(do_link) $(LIB_CFLAGS) $(LIB_LDFLAGS) $(CFLAGS_COMBINE) \ |
283 | -Wl,-soname=$(LD_LIBBUSYBOX).$(MAJOR_VERSION) \ | 354 | -Wl,-soname=$(LD_LIBBUSYBOX).$(MAJOR_VERSION) \ |
284 | -Wl,-z,combreloc $(LIB_LDFLAGS) \ | 355 | -Wl,-z,combreloc $(LIB_LDFLAGS) \ |
285 | -o $(@) \ | 356 | -o $(@) \ |
286 | -Wl,--start-group -Wl,--whole-archive \ | 357 | -Wl,--start-group \ |
287 | $(LIBRARY_DEFINE) $(^) \ | 358 | $(LIBRARY_DEFINE) $(^) \ |
288 | -Wl,--no-whole-archive -Wl,--end-group | 359 | -Wl,--end-group |
289 | $(RM_F) $(DO_INSTALL_LIBS) | 360 | @rm -f $(DO_INSTALL_LIBS) |
290 | for i in $(DO_INSTALL_LIBS); do $(LN_S) -v $(@) $$i ; done | 361 | @for i in $(DO_INSTALL_LIBS); do ln -s $(@) $$i ; done |
291 | $(do_strip) | 362 | $(do_strip) |
292 | 363 | ||
293 | endif # ifeq ($(strip $(CONFIG_BUILD_LIBBUSYBOX)),y) | 364 | endif # ifeq ($(strip $(CONFIG_BUILD_LIBBUSYBOX)),y) |
294 | 365 | ||
295 | busybox: .depend $(LIBBUSYBOX_SONAME) $(BUSYBOX_SRC) $(libraries-y) | 366 | busybox: $(top_builddir)/.depend $(LIBBUSYBOX_SONAME) $(BUSYBOX_SRC) $(APPLET_SRC) $(bin-obj.a) |
296 | $(do_link) $(PROG_CFLAGS) \ | 367 | $(do_link) $(PROG_CFLAGS) $(PROG_LDFLAGS) $(CFLAGS_COMBINE) \ |
297 | -o $@ -Wl,--start-group \ | 368 | $(foreach f,$(^:.o=.c),$(CFLAGS-$(notdir $(patsubst %/$,%,$(dir $(f))))-$(notdir $(f)))) \ |
369 | $(CFLAGS-$(@)) \ | ||
370 | -o $@ -Wl,--start-group \ | ||
298 | $(APPLETS_DEFINE) $(APPLET_SRC) \ | 371 | $(APPLETS_DEFINE) $(APPLET_SRC) \ |
299 | $(BUSYBOX_DEFINE) $(BUSYBOX_SRC) $(libraries-y) \ | 372 | $(BUSYBOX_DEFINE) $(BUSYBOX_SRC) \ |
373 | $(bin-obj.a) \ | ||
300 | $(LDBUSYBOX) $(LIBRARIES) \ | 374 | $(LDBUSYBOX) $(LIBRARIES) \ |
301 | -Wl,--end-group | 375 | -Wl,--end-group |
302 | $(do_strip) | 376 | $(do_strip) |
@@ -305,7 +379,7 @@ busybox.links: $(top_srcdir)/applets/busybox.mkll include/bb_config.h $(top_srcd | |||
305 | $(Q)-$(SHELL) $^ >$@ | 379 | $(Q)-$(SHELL) $^ >$@ |
306 | 380 | ||
307 | install: $(top_srcdir)/applets/install.sh busybox busybox.links | 381 | install: $(top_srcdir)/applets/install.sh busybox busybox.links |
308 | DO_INSTALL_LIBS="$(strip $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS))" \ | 382 | $(Q)DO_INSTALL_LIBS="$(strip $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS))" \ |
309 | $(SHELL) $< $(PREFIX) $(INSTALL_OPTS) | 383 | $(SHELL) $< $(PREFIX) $(INSTALL_OPTS) |
310 | ifeq ($(strip $(CONFIG_FEATURE_SUID)),y) | 384 | ifeq ($(strip $(CONFIG_FEATURE_SUID)),y) |
311 | @echo | 385 | @echo |
@@ -319,44 +393,33 @@ ifeq ($(strip $(CONFIG_FEATURE_SUID)),y) | |||
319 | endif | 393 | endif |
320 | 394 | ||
321 | uninstall: busybox.links | 395 | uninstall: busybox.links |
322 | $(RM_F) $(PREFIX)/bin/busybox | 396 | rm -f $(PREFIX)/bin/busybox |
323 | for i in `cat busybox.links` ; do $(RM_F) $(PREFIX)$$i; done | 397 | for i in `cat busybox.links` ; do rm -f $(PREFIX)$$i; done |
324 | ifneq ($(strip $(DO_INSTALL_LIBS)),n) | 398 | ifneq ($(strip $(DO_INSTALL_LIBS)),n) |
325 | for i in $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS); do \ | 399 | for i in $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS); do \ |
326 | $(RM_F) $(PREFIX)$$i; \ | 400 | rm -f $(PREFIX)$$i; \ |
327 | done | 401 | done |
328 | endif | 402 | endif |
329 | 403 | ||
330 | # see if we are in verbose mode | ||
331 | KBUILD_VERBOSE := | ||
332 | ifdef V | ||
333 | ifeq ("$(origin V)", "command line") | ||
334 | KBUILD_VERBOSE := $(V) | ||
335 | endif | ||
336 | endif | ||
337 | ifneq ($(strip $(KBUILD_VERBOSE)),) | ||
338 | CHECK_VERBOSE := -v | ||
339 | # ARFLAGS+=v | ||
340 | endif | ||
341 | check test: busybox | 404 | check test: busybox |
342 | bindir=$(top_builddir) srcdir=$(top_srcdir)/testsuite \ | 405 | bindir=$(top_builddir) srcdir=$(top_srcdir)/testsuite \ |
343 | $(top_srcdir)/testsuite/runtest $(CHECK_VERBOSE) | 406 | $(top_srcdir)/testsuite/runtest $(CHECK_VERBOSE) |
344 | 407 | ||
345 | sizes: | 408 | sizes: |
346 | -$(RM_F) busybox | 409 | -rm -f busybox |
347 | $(MAKE) top_srcdir=$(top_srcdir) top_builddir=$(top_builddir) \ | 410 | $(MAKE) top_srcdir=$(top_srcdir) top_builddir=$(top_builddir) \ |
348 | -f $(top_srcdir)/Makefile STRIPCMD=/bin/true | 411 | -f $(top_srcdir)/Makefile STRIPCMD=/bin/true |
349 | $(NM) --size-sort busybox | 412 | $(NM) --size-sort busybox |
350 | 413 | ||
351 | # Documentation Targets | 414 | # Documentation Targets |
352 | doc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html | 415 | doc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html ; |
353 | 416 | ||
354 | docs/busybox.pod : $(top_srcdir)/docs/busybox_header.pod $(top_srcdir)/include/usage.h $(top_srcdir)/docs/busybox_footer.pod $(top_srcdir)/docs/autodocifier.pl | 417 | docs/busybox.pod : $(top_srcdir)/docs/busybox_header.pod $(top_srcdir)/include/usage.h $(top_srcdir)/docs/busybox_footer.pod $(top_srcdir)/docs/autodocifier.pl |
355 | $(disp_doc) | 418 | $(disp_doc) |
356 | $(Q)-mkdir -p docs | 419 | $(Q)-mkdir -p docs |
357 | $(Q)-( cat $(top_srcdir)/docs/busybox_header.pod; \ | 420 | $(Q)-( cat $(top_srcdir)/docs/busybox_header.pod ; \ |
358 | $(top_srcdir)/docs/autodocifier.pl $(top_srcdir)/include/usage.h; \ | 421 | $(top_srcdir)/docs/autodocifier.pl $(top_srcdir)/include/usage.h ; \ |
359 | cat $(top_srcdir)/docs/busybox_footer.pod ) > docs/busybox.pod | 422 | cat $(top_srcdir)/docs/busybox_footer.pod ; ) > docs/busybox.pod |
360 | 423 | ||
361 | docs/BusyBox.txt: docs/busybox.pod | 424 | docs/BusyBox.txt: docs/busybox.pod |
362 | $(disp_doc) | 425 | $(disp_doc) |
@@ -372,18 +435,18 @@ docs/BusyBox.1: docs/busybox.pod | |||
372 | docs/BusyBox.html: docs/busybox.net/BusyBox.html | 435 | docs/BusyBox.html: docs/busybox.net/BusyBox.html |
373 | $(disp_doc) | 436 | $(disp_doc) |
374 | $(Q)-mkdir -p docs | 437 | $(Q)-mkdir -p docs |
375 | $(Q)-$(RM_F) docs/BusyBox.html | 438 | $(Q)-rm -f docs/BusyBox.html |
376 | $(Q)-cp docs/busybox.net/BusyBox.html docs/BusyBox.html | 439 | $(Q)-cp docs/busybox.net/BusyBox.html docs/BusyBox.html |
377 | 440 | ||
378 | docs/busybox.net/BusyBox.html: docs/busybox.pod | 441 | docs/busybox.net/BusyBox.html: docs/busybox.pod |
379 | $(Q)-mkdir -p docs/busybox.net | 442 | $(Q)-mkdir -p docs/busybox.net |
380 | $(Q)-pod2html --noindex $< > \ | 443 | $(Q)-pod2html --noindex $< > \ |
381 | docs/busybox.net/BusyBox.html | 444 | docs/busybox.net/BusyBox.html |
382 | $(Q)-$(RM_F) pod2htm* | 445 | $(Q)-rm -f pod2htm* |
383 | 446 | ||
384 | # The nifty new buildsystem stuff | 447 | # The nifty new dependency stuff |
385 | scripts/bb_mkdep: $(top_srcdir)/scripts/bb_mkdep.c | 448 | scripts/bb_mkdep: $(top_srcdir)/scripts/bb_mkdep.c |
386 | $(Q)$(HOSTCC) $(HOSTCFLAGS) -o $@ $< | 449 | $(do_link.h) |
387 | 450 | ||
388 | DEP_INCLUDES := include/bb_config.h | 451 | DEP_INCLUDES := include/bb_config.h |
389 | 452 | ||
@@ -395,63 +458,65 @@ include/bbconfigopts.h: .config | |||
395 | $(Q)$(top_srcdir)/scripts/config/mkconfigs > $@ | 458 | $(Q)$(top_srcdir)/scripts/config/mkconfigs > $@ |
396 | endif | 459 | endif |
397 | 460 | ||
398 | depend dep: .depend | 461 | depend dep: $(top_builddir)/.depend ; |
399 | .depend: scripts/bb_mkdep $(DEP_INCLUDES) | 462 | $(top_builddir)/.depend: $(buildtree) scripts/bb_mkdep $(DEP_INCLUDES) |
400 | $(disp_gen) | 463 | $(disp_gen) |
401 | $(Q)$(RM_F) .depend | 464 | $(Q)rm -f .depend |
402 | $(Q)mkdir -p include/config | 465 | $(Q)scripts/bb_mkdep $(MKDEP_ARGS) \ |
403 | $(Q)scripts/bb_mkdep -I $(top_srcdir)/include $(top_srcdir) > $@.tmp | 466 | -I $(top_srcdir)/include $(top_srcdir) > $@.tmp |
404 | $(Q)mv $@.tmp $@ | 467 | $(Q)mv $@.tmp $@ |
405 | 468 | ||
406 | include/bb_config.h: .config | 469 | include/bb_config.h: .config |
407 | @if [ ! -x $(top_builddir)/scripts/config/conf ] ; then \ | 470 | $(disp_gen) |
408 | $(MAKE) -C scripts/config conf; \ | ||
409 | fi; | ||
410 | @$(top_builddir)/scripts/config/conf -o $(CONFIG_CONFIG_IN) | 471 | @$(top_builddir)/scripts/config/conf -o $(CONFIG_CONFIG_IN) |
411 | 472 | ||
473 | endif # ifeq ($(strip $(HAVE_DOT_CONFIG)),y) | ||
474 | |||
412 | clean: | 475 | clean: |
413 | - $(MAKE) -C scripts/config $@ | 476 | - rm -f docs/busybox.dvi docs/busybox.ps \ |
414 | - $(RM_F) docs/busybox.dvi docs/busybox.ps \ | ||
415 | docs/busybox.pod docs/busybox.net/busybox.html \ | 477 | docs/busybox.pod docs/busybox.net/busybox.html \ |
416 | docs/busybox pod2htm* *.gdb *.elf *~ core .*config.log \ | 478 | docs/busybox pod2htm* *.gdb *.elf *~ core .*config.log \ |
417 | docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html \ | 479 | docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html \ |
418 | docs/busybox.net/BusyBox.html busybox.links \ | 480 | docs/busybox.net/BusyBox.html busybox.links \ |
419 | $(DO_INSTALL_LIBS) $(LIBBUSYBOX_SONAME) \ | 481 | $(DO_INSTALL_LIBS) $(LIBBUSYBOX_SONAME) \ |
420 | .config.old busybox | 482 | .config.old busybox |
421 | - rm -rf _install testsuite/links | 483 | - rm -r -f _install testsuite/links |
422 | - find . -name .\*.flags -exec $(RM_F) {} \; | 484 | - find . -name .\*.flags -exec rm -f {} \; |
423 | - find . -name \*.o -exec $(RM_F) {} \; | 485 | - find . -name \*.o -exec rm -f {} \; |
424 | - find . -name \*.a -exec $(RM_F) {} \; | 486 | - find . -name \*.om -exec rm -f {} \; |
425 | - find . -name \*.so -exec $(RM_F) {} \; | 487 | - find . -name \*.os -exec rm -f {} \; |
488 | - find . -name \*.a -exec rm -f {} \; | ||
426 | 489 | ||
427 | distclean: clean | 490 | distclean: clean |
428 | - $(RM_F) scripts/bb_mkdep | 491 | - $(MAKE) -C scripts/config clean |
429 | - rm -rf include/config $(DEP_INCLUDES) | 492 | - rm -f scripts/bb_mkdep |
430 | - find . -name .depend'*' -exec $(RM_F) {} \; | 493 | - rm -r -f include/config $(DEP_INCLUDES) |
431 | $(RM_F) .config .config.old .config.cmd | 494 | - find . -name .depend'*' -exec rm -f {} \; |
495 | rm -f .config .config.old .config.cmd | ||
432 | 496 | ||
433 | release: distclean #doc | 497 | release: distclean #doc |
434 | cd ..; \ | 498 | cd ..; \ |
435 | rm -rf $(PROG)-$(VERSION); \ | 499 | rm -r -f $(PROG)-$(VERSION); \ |
436 | cp -a busybox $(PROG)-$(VERSION); \ | 500 | cp -a busybox $(PROG)-$(VERSION); \ |
437 | \ | 501 | \ |
438 | find $(PROG)-$(VERSION)/ -type d \ | 502 | find $(PROG)-$(VERSION)/ -type d \ |
439 | -name .svn \ | 503 | -name .svn \ |
440 | -print \ | 504 | -print \ |
441 | -exec rm -rf {} \; ; \ | 505 | -exec rm -r -f {} \; ; \ |
442 | \ | 506 | \ |
443 | find $(PROG)-$(VERSION)/ -type f \ | 507 | find $(PROG)-$(VERSION)/ -type f \ |
444 | -name .\#* \ | 508 | -name .\#* \ |
445 | -print \ | 509 | -print \ |
446 | -exec $(RM_F) {} \; ; \ | 510 | -exec rm -f {} \; ; \ |
447 | \ | 511 | \ |
448 | tar -cvzf $(PROG)-$(VERSION).tar.gz $(PROG)-$(VERSION)/; | 512 | tar -cvzf $(PROG)-$(VERSION).tar.gz $(PROG)-$(VERSION)/; |
449 | 513 | ||
450 | tags: | 514 | tags: |
451 | ctags -R . | 515 | ctags -R . |
452 | 516 | ||
453 | 517 | # keep these in sync with noconfig_targets above! | |
454 | endif # ifeq ($(skip-makefile),) | 518 | .PHONY: dummy subdirs check test depend dep buildtree \ |
455 | 519 | menuconfig config oldconfig randconfig \ | |
456 | .PHONY: dummy subdirs release distclean clean config oldconfig \ | 520 | defconfig allyesconfig allnoconfig allbareconfig \ |
457 | menuconfig tags check test depend dep buildtree | 521 | clean distclean \ |
522 | release tags | ||
@@ -10,6 +10,12 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) | |||
10 | -include $(top_builddir)/.config | 10 | -include $(top_builddir)/.config |
11 | endif | 11 | endif |
12 | 12 | ||
13 | ifeq ($(MAKELEVEL),0) | ||
14 | ifeq ($(HAVE_DOT_CONFIG),y) | ||
15 | rules-mak-rules:=0 | ||
16 | endif | ||
17 | endif | ||
18 | |||
13 | #-------------------------------------------------------- | 19 | #-------------------------------------------------------- |
14 | PROG := busybox | 20 | PROG := busybox |
15 | MAJOR_VERSION :=1 | 21 | MAJOR_VERSION :=1 |
@@ -30,8 +36,9 @@ BUILDTIME := $(shell TZ=UTC date -u "+%Y.%m.%d-%H:%M%z") | |||
30 | # If you are running a cross compiler, you will want to set 'CROSS' | 36 | # If you are running a cross compiler, you will want to set 'CROSS' |
31 | # to something more interesting... Target architecture is determined | 37 | # to something more interesting... Target architecture is determined |
32 | # by asking the CC compiler what arch it compiles things for, so unless | 38 | # by asking the CC compiler what arch it compiles things for, so unless |
33 | # your compiler is broken, you should not need to specify TARGET_ARCH | 39 | # your compiler is broken, you should not need to specify __TARGET_ARCH |
34 | CROSS =$(subst ",, $(strip $(CROSS_COMPILER_PREFIX))) | 40 | CROSS =$(subst ",, $(strip $(CROSS_COMPILER_PREFIX))) |
41 | #") | ||
35 | CC = $(CROSS)gcc | 42 | CC = $(CROSS)gcc |
36 | AR = $(CROSS)ar | 43 | AR = $(CROSS)ar |
37 | AS = $(CROSS)as | 44 | AS = $(CROSS)as |
@@ -39,16 +46,19 @@ LD = $(CROSS)ld | |||
39 | NM = $(CROSS)nm | 46 | NM = $(CROSS)nm |
40 | STRIP = $(CROSS)strip | 47 | STRIP = $(CROSS)strip |
41 | CPP = $(CC) -E | 48 | CPP = $(CC) -E |
42 | # MAKEFILES = $(top_builddir)/.config | 49 | SED ?= sed |
43 | RM = rm | 50 | AWK ?= awk |
44 | RM_F = $(RM) -f | 51 | |
45 | LN = ln | 52 | |
46 | LN_S = $(LN) -s | 53 | ifdef PACKAGE_BE_VERBOSE |
47 | MKDIR = mkdir | 54 | PACKAGE_BE_VERBOSE := $(shell echo $(PACKAGE_BE_VERBOSE) | $(SED) "s/[[:alpha:]]*//g") |
48 | MKDIR_P = $(MKDIR) -p | 55 | endif |
49 | MV = mv | ||
50 | CP = cp | ||
51 | 56 | ||
57 | # for make V=3 and above make $(shell) invocations verbose | ||
58 | ifeq ($(if $(strip $(PACKAGE_BE_VERBOSE)),$(shell test $(PACKAGE_BE_VERBOSE) -gt 2 ; echo $$?),1),0) | ||
59 | SHELL+=-x | ||
60 | MKDEP_ARGS:=-w | ||
61 | endif | ||
52 | 62 | ||
53 | # What OS are you compiling busybox for? This allows you to include | 63 | # What OS are you compiling busybox for? This allows you to include |
54 | # OS specific things, syscall overrides, etc. | 64 | # OS specific things, syscall overrides, etc. |
@@ -63,8 +73,9 @@ LC_ALL:= C | |||
63 | 73 | ||
64 | # If you want to add some simple compiler switches (like -march=i686), | 74 | # If you want to add some simple compiler switches (like -march=i686), |
65 | # especially from the command line, use this instead of CFLAGS directly. | 75 | # especially from the command line, use this instead of CFLAGS directly. |
66 | # For optimization overrides, it's better still to set OPTIMIZATION. | 76 | # For optimization overrides, it's better still to set OPTIMIZATIONS. |
67 | CFLAGS_EXTRA=$(subst ",, $(strip $(EXTRA_CFLAGS_OPTIONS))) | 77 | CFLAGS_EXTRA=$(subst ",, $(strip $(EXTRA_CFLAGS_OPTIONS))) |
78 | #") | ||
68 | 79 | ||
69 | # To compile vs some other alternative libc, you may need to use/adjust | 80 | # To compile vs some other alternative libc, you may need to use/adjust |
70 | # the following lines to meet your needs... | 81 | # the following lines to meet your needs... |
@@ -81,20 +92,50 @@ CFLAGS_EXTRA=$(subst ",, $(strip $(EXTRA_CFLAGS_OPTIONS))) | |||
81 | #GCCINCDIR:=$(shell gcc -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp") | 92 | #GCCINCDIR:=$(shell gcc -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp") |
82 | 93 | ||
83 | WARNINGS=-Wall -Wstrict-prototypes -Wshadow | 94 | WARNINGS=-Wall -Wstrict-prototypes -Wshadow |
84 | CFLAGS+=-I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir) | 95 | CFLAGS+=-I$(top_builddir)/include -I$(top_srcdir)/include |
85 | 96 | ||
86 | ARFLAGS=cru | 97 | ARFLAGS=cru |
87 | 98 | ||
88 | 99 | ||
100 | |||
101 | # Get the CC MAJOR/MINOR version | ||
89 | # gcc centric. Perhaps fiddle with findstring gcc,$(CC) for the rest | 102 | # gcc centric. Perhaps fiddle with findstring gcc,$(CC) for the rest |
90 | # get the CC MAJOR/MINOR version | ||
91 | CC_MAJOR:=$(shell printf "%02d" $(shell echo __GNUC__ | $(CC) -E -xc - | tail -n 1)) | 103 | CC_MAJOR:=$(shell printf "%02d" $(shell echo __GNUC__ | $(CC) -E -xc - | tail -n 1)) |
92 | CC_MINOR:=$(shell printf "%02d" $(shell echo __GNUC_MINOR__ | $(CC) -E -xc - | tail -n 1)) | 104 | CC_MINOR:=$(shell printf "%02d" $(shell echo __GNUC_MINOR__ | $(CC) -E -xc - | tail -n 1)) |
93 | 105 | ||
106 | # Note: spaces are significant here! | ||
107 | # Check if CC version is equal to given MAJOR,MINOR. Returns empty if false. | ||
108 | define cc_eq | ||
109 | $(shell [ $(CC_MAJOR) -eq $(1) -a $(CC_MINOR) -eq $(2) ] && echo y) | ||
110 | endef | ||
111 | # Check if CC version is greater or equal than given MAJOR,MINOR | ||
112 | define cc_ge | ||
113 | $(shell [ $(CC_MAJOR) -ge $(1) -a $(CC_MINOR) -ge $(2) ] && echo y) | ||
114 | endef | ||
115 | # Check if CC version is less or equal than given MAJOR,MINOR | ||
116 | define cc_le | ||
117 | $(shell [ $(CC_MAJOR) -le $(1) -a $(CC_MINOR) -le $(2) ] && echo y) | ||
118 | endef | ||
119 | |||
120 | # Workaround bugs in make-3.80 for eval in conditionals | ||
121 | define is_eq | ||
122 | $(shell [ $(1) = $(2) ] 2> /dev/null && echo y) | ||
123 | endef | ||
124 | define is_neq | ||
125 | $(shell [ $(1) != $(2) ] 2> /dev/null && echo y) | ||
126 | endef | ||
127 | |||
94 | #-------------------------------------------------------- | 128 | #-------------------------------------------------------- |
95 | export VERSION BUILDTIME HOSTCC HOSTCFLAGS CROSS CC AR AS LD NM STRIP CPP | 129 | export VERSION BUILDTIME HOSTCC HOSTCFLAGS CROSS CC AR AS LD NM STRIP CPP |
96 | ifeq ($(strip $(TARGET_ARCH)),) | 130 | |
97 | TARGET_ARCH:=$(shell $(CC) -dumpmachine | sed -e s'/-.*//' \ | 131 | # TARGET_ARCH and TARGET_MACH will be passed verbatim to CC with recent |
132 | # versions of make, so we use __TARGET_ARCH here. | ||
133 | # Current builtin rules looks like that: | ||
134 | # COMPILE.s = $(AS) $(ASFLAGS) $(TARGET_MACH) | ||
135 | # COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c | ||
136 | |||
137 | ifeq ($(strip $(__TARGET_ARCH)),) | ||
138 | __TARGET_ARCH:=$(shell $(CC) -dumpmachine | sed -e s'/-.*//' \ | ||
98 | -e 's/i.86/i386/' \ | 139 | -e 's/i.86/i386/' \ |
99 | -e 's/sparc.*/sparc/' \ | 140 | -e 's/sparc.*/sparc/' \ |
100 | -e 's/arm.*/arm/g' \ | 141 | -e 's/arm.*/arm/g' \ |
@@ -108,70 +149,60 @@ TARGET_ARCH:=$(shell $(CC) -dumpmachine | sed -e s'/-.*//' \ | |||
108 | ) | 149 | ) |
109 | endif | 150 | endif |
110 | 151 | ||
111 | # A nifty macro to make testing gcc features easier | 152 | $(call check_gcc,CFLAGS,-funsigned-char,) |
112 | check_gcc=$(shell \ | 153 | $(call check_gcc,CFLAGS,-mmax-stack-frame=256,) |
113 | if [ "$(1)" != "" ]; then \ | ||
114 | if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \ | ||
115 | then echo "$(1)"; else echo "$(2)"; fi \ | ||
116 | fi) | ||
117 | |||
118 | # A not very robust macro to check for available ld flags | ||
119 | check_ld=$(shell \ | ||
120 | if [ "x$(1)" != "x" ]; then \ | ||
121 | $(LD) --help | grep -q "\$(1)" && echo "-Wl,$(1)" ; \ | ||
122 | fi) | ||
123 | |||
124 | CFLAGS+=$(call check_gcc,-funsigned-char,) | ||
125 | |||
126 | CFLAGS+=$(call check_gcc,-mmax-stack-frame=256,) | ||
127 | 154 | ||
128 | #-------------------------------------------------------- | 155 | #-------------------------------------------------------- |
129 | # Arch specific compiler optimization stuff should go here. | 156 | # Arch specific compiler optimization stuff should go here. |
130 | # Unless you want to override the defaults, do not set anything | 157 | # Unless you want to override the defaults, do not set anything |
131 | # for OPTIMIZATION... | 158 | # for OPTIMIZATIONS... |
132 | 159 | ||
133 | # use '-Os' optimization if available, else use -O2 | 160 | # use '-Os' optimization if available, else use -O2 |
134 | OPTIMIZATION:=$(call check_gcc,-Os,-O2) | 161 | $(call check_gcc,OPTIMIZATIONS,-Os,-O2) |
135 | 162 | ||
136 | ifeq ($(CONFIG_BUILD_AT_ONCE),y) | ||
137 | # gcc 2.95 exits with 0 for "unrecognized option" | 163 | # gcc 2.95 exits with 0 for "unrecognized option" |
138 | ifeq ($(strip $(shell [ $(CC_MAJOR) -ge 3 ] ; echo $$?)),0) | 164 | $(if $(call is_eq,$(CONFIG_BUILD_AT_ONCE),y),\ |
139 | OPTIMIZATION+=$(call check_gcc,--combine,) | 165 | $(if $(call cc_ge,3,0),\ |
140 | endif | 166 | $(call check_gcc,CFLAGS_COMBINE,--combine,))) |
141 | OPTIMIZATION+=$(call check_gcc,-funit-at-a-time,) | ||
142 | PROG_CFLAGS+=$(call check_gcc,-fwhole-program,) | ||
143 | endif # CONFIG_BUILD_AT_ONCE | ||
144 | 167 | ||
145 | LIB_LDFLAGS:=$(call check_ld,--enable-new-dtags,) | 168 | $(if $(call is_eq,$(CONFIG_BUILD_AT_ONCE),y),\ |
146 | #LIB_LDFLAGS+=$(call check_ld,--reduce-memory-overheads,) | 169 | $(call check_gcc,OPTIMIZATIONS,-funit-at-a-time,)) |
147 | #LIB_LDFLAGS+=$(call check_ld,--as-needed,) | ||
148 | #LIB_LDFLAGS+=$(call check_ld,--warn-shared-textrel,) | ||
149 | 170 | ||
171 | # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25795 | ||
172 | #$(if $(call is_eq,$(CONFIG_BUILD_AT_ONCE),y),\ | ||
173 | # $(call check_gcc,PROG_CFLAGS,-fwhole-program,)) | ||
174 | |||
175 | $(call check_ld,LIB_LDFLAGS,--enable-new-dtags,) | ||
176 | #$(call check_ld,LIB_LDFLAGS,--reduce-memory-overheads,) | ||
177 | #$(call check_ld,LIB_LDFLAGS,--as-needed,) | ||
178 | #$(call check_ld,LIB_LDFLAGS,--warn-shared-textrel,) | ||
179 | |||
180 | $(call check_ld,PROG_LDFLAGS,--gc-sections,) | ||
150 | 181 | ||
151 | # Some nice architecture specific optimizations | 182 | # Some nice architecture specific optimizations |
152 | ifeq ($(strip $(TARGET_ARCH)),arm) | 183 | ifeq ($(__TARGET_ARCH),arm) |
153 | OPTIMIZATION+=-fstrict-aliasing | 184 | OPTIMIZATIONS+=-fstrict-aliasing |
154 | endif | 185 | endif # arm |
155 | ifeq ($(strip $(TARGET_ARCH)),i386) | 186 | |
156 | OPTIMIZATION+=$(call check_gcc,-march=i386,) | 187 | $(if $(call is_eq,$(__TARGET_ARCH),i386),\ |
188 | $(call check_gcc,OPTIMIZATIONS,-march=i386,)) | ||
189 | |||
157 | # gcc-4.0 and older seem to suffer from these | 190 | # gcc-4.0 and older seem to suffer from these |
158 | ifneq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0) | 191 | $(if $(call cc_le,4,0),\ |
159 | OPTIMIZATION+=$(call check_gcc,-mpreferred-stack-boundary=2,) | 192 | $(call check_gcc,OPTIMIZATIONS,-mpreferred-stack-boundary=2,)\ |
160 | OPTIMIZATION+=$(call check_gcc,-falign-functions=0 -falign-jumps=0 -falign-loops=0,\ | 193 | $(call check_gcc,OPTIMIZATIONS,-falign-functions=0 -falign-jumps=0 -falign-loops=0,\ |
161 | -malign-functions=0 -malign-jumps=0 -malign-loops=0) | 194 | -malign-functions=0 -malign-jumps=0 -malign-loops=0)) |
162 | endif # gcc-4.0 and older | ||
163 | 195 | ||
164 | # gcc-4.1 and beyond seem to benefit from these | 196 | # gcc-4.1 and beyond seem to benefit from these |
165 | ifeq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0) | 197 | # turn off flags which hurt -Os |
166 | # turn off flags which hurt -Os | 198 | $(if $(call cc_ge,4,1),\ |
167 | OPTIMIZATION+=$(call check_gcc,-fno-tree-loop-optimize,) | 199 | $(call check_gcc,OPTIMIZATIONS,-fno-tree-loop-optimize,)\ |
168 | OPTIMIZATION+=$(call check_gcc,-fno-tree-dominator-opts,) | 200 | $(call check_gcc,OPTIMIZATIONS,-fno-tree-dominator-opts,)\ |
169 | OPTIMIZATION+=$(call check_gcc,-fno-strength-reduce,) | 201 | $(call check_gcc,OPTIMIZATIONS,-fno-strength-reduce,)\ |
170 | 202 | \ | |
171 | OPTIMIZATION+=$(call check_gcc,-fno-branch-count-reg,) | 203 | $(call check_gcc,OPTIMIZATIONS,-fno-branch-count-reg,)) |
172 | endif # gcc-4.1 and beyond | 204 | |
173 | endif | 205 | $(call check_gcc,OPTIMIZATIONS,-fomit-frame-pointer,) |
174 | OPTIMIZATIONS:=$(OPTIMIZATION) $(call check_gcc,-fomit-frame-pointer,) | ||
175 | 206 | ||
176 | # | 207 | # |
177 | #-------------------------------------------------------- | 208 | #-------------------------------------------------------- |
@@ -182,40 +213,40 @@ OPTIMIZATIONS:=$(OPTIMIZATION) $(call check_gcc,-fomit-frame-pointer,) | |||
182 | # prone to casual user adjustment. | 213 | # prone to casual user adjustment. |
183 | # | 214 | # |
184 | 215 | ||
185 | ifeq ($(strip $(CONFIG_LFS)),y) | 216 | ifeq ($(CONFIG_LFS),y) |
186 | # For large file summit support | 217 | # For large file summit support |
187 | CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 | 218 | CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 |
188 | endif | 219 | endif |
189 | ifeq ($(strip $(CONFIG_DMALLOC)),y) | 220 | ifeq ($(CONFIG_DMALLOC),y) |
190 | # For testing mem leaks with dmalloc | 221 | # For testing mem leaks with dmalloc |
191 | CFLAGS+=-DDMALLOC | 222 | CFLAGS+=-DDMALLOC |
192 | LIBRARIES:=-ldmalloc | 223 | LIBRARIES:=-ldmalloc |
193 | else | 224 | else |
194 | ifeq ($(strip $(CONFIG_EFENCE)),y) | 225 | ifeq ($(CONFIG_EFENCE),y) |
195 | LIBRARIES:=-lefence | 226 | LIBRARIES:=-lefence |
196 | endif | 227 | endif |
197 | endif | 228 | endif |
198 | ifeq ($(strip $(CONFIG_DEBUG)),y) | 229 | |
230 | $(if $(call is_eq,$(CONFIG_DEBUG),y),\ | ||
231 | $(call check_ld,LDFLAGS,--warn-common,),\ | ||
232 | $(call check_ld,LDFLAGS,--warn-common,)$(call check_ld,LDFLAGS,--sort-common,)) | ||
233 | ifeq ($(CONFIG_DEBUG),y) | ||
199 | CFLAGS +=$(WARNINGS) -g -D_GNU_SOURCE | 234 | CFLAGS +=$(WARNINGS) -g -D_GNU_SOURCE |
200 | LDFLAGS += $(call check_ld,--warn-common,) | ||
201 | STRIPCMD:=/bin/true -Not_stripping_since_we_are_debugging | 235 | STRIPCMD:=/bin/true -Not_stripping_since_we_are_debugging |
202 | else | 236 | else |
203 | CFLAGS+=$(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG | 237 | CFLAGS+=$(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG |
204 | LDFLAGS += $(call check_ld,--warn-common,) | ||
205 | LDFLAGS += $(call check_ld,--sort-common,) | ||
206 | STRIPCMD:=$(STRIP) -s --remove-section=.note --remove-section=.comment | 238 | STRIPCMD:=$(STRIP) -s --remove-section=.note --remove-section=.comment |
207 | endif | 239 | endif |
208 | ifeq ($(strip $(CONFIG_STATIC)),y) | 240 | $(if $(call is_eq,$(CONFIG_STATIC),y),\ |
209 | PROG_CFLAGS += $(call check_gcc,-static,) | 241 | $(call check_gcc,PROG_CFLAGS,-static,)) |
210 | endif | 242 | |
211 | CFLAGS_SHARED += $(call check_gcc,-shared,) | 243 | $(call check_gcc,CFLAGS_SHARED,-shared,) |
212 | LIB_CFLAGS+=$(CFLAGS_SHARED) | 244 | LIB_CFLAGS+=$(CFLAGS_SHARED) |
213 | 245 | ||
214 | ifeq ($(strip $(CONFIG_BUILD_LIBBUSYBOX)),y) | 246 | $(if $(call is_eq,$(CONFIG_BUILD_LIBBUSYBOX),y),\ |
215 | CFLAGS_PIC:= $(call check_gcc,-fPIC,) | 247 | $(call check_gcc,CFLAGS_PIC,-fPIC,)) |
216 | endif | ||
217 | 248 | ||
218 | ifeq ($(strip $(CONFIG_SELINUX)),y) | 249 | ifeq ($(CONFIG_SELINUX),y) |
219 | LIBRARIES += -lselinux | 250 | LIBRARIES += -lselinux |
220 | endif | 251 | endif |
221 | 252 | ||
@@ -223,14 +254,6 @@ ifeq ($(strip $(PREFIX)),) | |||
223 | PREFIX:=`pwd`/_install | 254 | PREFIX:=`pwd`/_install |
224 | endif | 255 | endif |
225 | 256 | ||
226 | # Additional complications due to support for pristine source dir. | ||
227 | # Include files in the build directory should take precedence over | ||
228 | # the copy in top_srcdir, both during the compilation phase and the | ||
229 | # shell script that finds the list of object files. | ||
230 | # Work in progress by <ldoolitt@recycle.lbl.gov>. | ||
231 | |||
232 | |||
233 | OBJECTS:=$(APPLET_SOURCES:.c=.o) busybox.o usage.o applets.o | ||
234 | CFLAGS += $(CROSS_CFLAGS) | 257 | CFLAGS += $(CROSS_CFLAGS) |
235 | ifdef BB_INIT_SCRIPT | 258 | ifdef BB_INIT_SCRIPT |
236 | CFLAGS += -DINIT_SCRIPT='"$(BB_INIT_SCRIPT)"' | 259 | CFLAGS += -DINIT_SCRIPT='"$(BB_INIT_SCRIPT)"' |
@@ -252,59 +275,118 @@ ifeq ($(strip $(CONFIG_INSTALL_APPLET_DONT)),y) | |||
252 | INSTALL_OPTS= | 275 | INSTALL_OPTS= |
253 | endif | 276 | endif |
254 | 277 | ||
278 | |||
279 | #------------------------------------------------------------ | ||
280 | # object extensions | ||
281 | |||
282 | # object potentially used in shared object | ||
283 | ifeq ($(strip $(CONFIG_BUILD_LIBBUSYBOX)),y) | ||
284 | # single-object extension | ||
285 | os:=.os | ||
286 | # multi-object extension | ||
287 | om:=.osm | ||
288 | else | ||
289 | os:=.o | ||
290 | om:=.om | ||
291 | endif | ||
292 | |||
255 | #------------------------------------------------------------ | 293 | #------------------------------------------------------------ |
256 | # Make the output nice and tight | 294 | # Make the output nice and tight |
257 | MAKEFLAGS += --no-print-directory | 295 | |
296 | # for make V=2 and above, do print directory | ||
297 | ifneq ($(shell test -n "$(strip $(PACKAGE_BE_VERBOSE))" && test $(PACKAGE_BE_VERBOSE) -gt 1 ; echo $$?),0) | ||
298 | MAKEFLAGS += --no-print-directory | ||
299 | endif | ||
300 | |||
301 | export MAKEOVERRIDES | ||
258 | export MAKE_IS_SILENT=n | 302 | export MAKE_IS_SILENT=n |
259 | ifneq ($(findstring s,$(MAKEFLAGS)),) | 303 | ifneq ($(findstring s,$(MAKEFLAGS)),) |
260 | export MAKE_IS_SILENT=y | 304 | export MAKE_IS_SILENT=y |
261 | SECHO := @-false | ||
262 | DISP := sil | 305 | DISP := sil |
263 | Q := @ | 306 | Q := @ |
264 | else | 307 | else |
265 | ifneq ($(V)$(VERBOSE),) | 308 | ifneq ($(V)$(VERBOSE),) |
266 | SECHO := @-false | ||
267 | DISP := ver | 309 | DISP := ver |
268 | Q := | 310 | Q := |
269 | else | 311 | else |
270 | SECHO := @echo | ||
271 | DISP := pur | 312 | DISP := pur |
272 | Q := @ | 313 | Q := @ |
273 | endif | 314 | endif |
274 | endif | 315 | endif |
275 | 316 | ||
276 | show_objs = $(subst $(top_builddir)/,,$(subst ../,,$@)) | 317 | define show_objs |
277 | pur_disp_compile.c = echo " "CC $(show_objs) | 318 | $(subst $(top_builddir)/,,$(subst ../,,$@)) |
278 | pur_disp_compile.h = echo " "HOSTCC $(show_objs) | 319 | endef |
279 | pur_disp_strip = echo " "STRIP $(show_objs) | 320 | pur_disp_compile.c = @echo " "CC $(show_objs) ; |
280 | pur_disp_link = echo " "LINK $(show_objs) | 321 | pur_disp_compile.h = @echo " "HOSTCC $(show_objs) ; |
281 | pur_disp_ar = echo " "AR $(ARFLAGS) $(show_objs) | 322 | pur_disp_strip = @echo " "STRIP $(show_objs) ; |
282 | sil_disp_compile.c = true | 323 | pur_disp_link = @echo " "LINK $(show_objs) ; |
283 | sil_disp_compile.h = true | 324 | pur_disp_link.h = @echo " "HOSTLINK $(show_objs) ; |
284 | sil_disp_strip = true | 325 | pur_disp_ar = @echo " "AR $(ARFLAGS) $(show_objs) ; |
285 | sil_disp_link = true | 326 | pur_disp_gen = @echo " "GEN $@ ; |
286 | sil_disp_ar = true | 327 | pur_disp_doc = @echo " "DOC $(subst docs/,,$@) ; |
287 | ver_disp_compile.c = echo $(cmd_compile.c) | 328 | pur_disp_bin = @echo " "BIN $(show_objs) ; |
288 | ver_disp_compile.h = echo $(cmd_compile.h) | 329 | sil_disp_compile.c = @ |
289 | ver_disp_strip = echo $(cmd_strip) | 330 | sil_disp_compile.h = @ |
290 | ver_disp_link = echo $(cmd_link) | 331 | sil_disp_strip = @ |
291 | ver_disp_ar = echo $(cmd_ar) | 332 | sil_disp_link = @ |
333 | sil_disp_link.h = @ | ||
334 | sil_disp_ar = @ | ||
335 | sil_disp_gen = @ | ||
336 | sil_disp_doc = @ | ||
337 | sil_disp_bin = @ | ||
338 | ver_disp_compile.c = | ||
339 | ver_disp_compile.h = | ||
340 | ver_disp_strip = | ||
341 | ver_disp_link = | ||
342 | ver_disp_link.h = | ||
343 | ver_disp_ar = | ||
344 | ver_disp_gen = | ||
345 | ver_disp_doc = | ||
346 | ver_disp_bin = | ||
292 | disp_compile.c = $($(DISP)_disp_compile.c) | 347 | disp_compile.c = $($(DISP)_disp_compile.c) |
293 | disp_compile.h = $($(DISP)_disp_compile.h) | 348 | disp_compile.h = $($(DISP)_disp_compile.h) |
294 | disp_strip = $($(DISP)_disp_strip) | 349 | disp_strip = $($(DISP)_disp_strip) |
295 | disp_link = $($(DISP)_disp_link) | 350 | disp_link = $($(DISP)_disp_link) |
351 | disp_link.h = $($(DISP)_disp_link.h) | ||
296 | disp_ar = $($(DISP)_disp_ar) | 352 | disp_ar = $($(DISP)_disp_ar) |
297 | disp_gen = $(SECHO) " "GEN $@ ; true | 353 | disp_gen = $($(DISP)_disp_gen) |
298 | disp_doc = $(SECHO) " "DOC $(subst docs/,,$@) ; true | 354 | disp_doc = $($(DISP)_disp_doc) |
299 | cmd_compile.c = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< | 355 | disp_bin = $($(DISP)_disp_bin) |
356 | # CFLAGS-dir == $(CFLAGS-$(notdir $(@D))) | ||
357 | # CFLAGS-dir-file.o == $(CFLAGS-$(notdir $(@D))-$(notdir $(@F))) | ||
358 | # CFLAGS-dir-file.c == $(CFLAGS-$(notdir $(<D))-$(notdir $(<F))) | ||
359 | # all prerequesites == $(foreach fil,$^,$(CFLAGS-$(notdir $(patsubst %/$,%,$(dir $(fil))))-$(notdir $(fil)))) | ||
360 | cmd_compile.c = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I$(srcdir) -c -o $@ $< \ | ||
361 | $(foreach f,$^,$(CFLAGS-$(notdir $(patsubst %/$,%,$(dir $(f))))-$(notdir $(f)))) \ | ||
362 | $(CFLAGS-$(notdir $(@D))-$(notdir $(@F))) \ | ||
363 | $(CFLAGS-$(notdir $(@D))) | ||
364 | cmd_compile.m = $(cmd_compile.c) -DL_$(patsubst %$(suffix $(notdir $@)),%,$(notdir $@)) | ||
300 | cmd_compile.h = $(HOSTCC) $(HOSTCFLAGS) -c -o $@ $< | 365 | cmd_compile.h = $(HOSTCC) $(HOSTCFLAGS) -c -o $@ $< |
301 | cmd_strip = $(STRIPCMD) $@ | 366 | cmd_strip = $(STRIPCMD) $@ |
302 | cmd_link = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) | 367 | cmd_link = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I$(srcdir) $(LDFLAGS) |
368 | cmd_link.h = $(HOSTCC) $(HOSTCFLAGS) $(HOST_LDFLAGS) $^ -o $@ | ||
303 | cmd_ar = $(AR) $(ARFLAGS) $@ $^ | 369 | cmd_ar = $(AR) $(ARFLAGS) $@ $^ |
304 | compile.c = @$(disp_compile.c) ; $(cmd_compile.c) | 370 | compile.c = $(disp_compile.c) $(cmd_compile.c) |
305 | compile.h = @$(disp_compile.h) ; $(cmd_compile.h) | 371 | compile.m = $(disp_compile.c) $(cmd_compile.m) |
306 | do_strip = @$(disp_strip) ; $(cmd_strip) | 372 | compile.h = $(disp_compile.h) $(cmd_compile.h) |
307 | do_link = @$(disp_link) ; $(cmd_link) | 373 | do_strip = $(disp_strip) $(cmd_strip) |
308 | do_ar = @$(disp_ar) ; $(cmd_ar) | 374 | do_link = $(disp_link) $(cmd_link) |
375 | do_link.h = $(disp_link.h) $(cmd_link.h) | ||
376 | do_ar = $(disp_ar) $(cmd_ar) | ||
377 | |||
378 | ifdef rules-mak-rules | ||
379 | .SUFFIXES: .c .S .o .os .om .osm .oS .so .a .s .i .E | ||
380 | |||
381 | # generic rules | ||
382 | %.o: %.c ; $(compile.c) | ||
383 | %.os: %.c ; $(compile.c) $(CFLAGS_PIC) | ||
384 | %.o: ; $(compile.c) | ||
385 | %.os: ; $(compile.c) $(CFLAGS_PIC) | ||
386 | %.om: ; $(compile.m) | ||
387 | %.osm: ; $(compile.m) $(CFLAGS_PIC) | ||
388 | |||
389 | endif # rules-mak-rules | ||
309 | 390 | ||
310 | .PHONY: dummy | 391 | .PHONY: dummy |
392 | |||
diff --git a/applets/Makefile.in b/applets/Makefile.in index 02bcda93b..64aefc017 100644 --- a/applets/Makefile.in +++ b/applets/Makefile.in | |||
@@ -4,23 +4,13 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | APPLETS_AR:=applets.a | ||
8 | ifndef $(APPLETS_DIR) | ||
9 | APPLETS_DIR:=$(top_builddir)/applets/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/applets | 7 | srcdir=$(top_srcdir)/applets |
8 | objdir=$(top_builddir)/applets | ||
12 | 9 | ||
13 | APPLET_SRC:= $(patsubst %,$(srcdir)/%,applets.c busybox.c version.c) | 10 | APPLETS_SRC:= $(patsubst %,$(srcdir)/%,applets.c busybox.c version.c) |
14 | APPLET_OBJ:= $(patsubst $(srcdir)/%.c,$(APPLETS_DIR)%.o, $(APPLET_SRC)) | ||
15 | 11 | ||
16 | APPLET_SRC-y+=$(APPLET_SRC) | 12 | APPLET_SRC-y+=$(APPLETS_SRC) |
17 | APPLET_SRC-a+=$(APPLET_SRC) | 13 | APPLET_SRC-a+=$(APPLETS_SRC) |
18 | 14 | ||
19 | libraries-y+=$(APPLETS_DIR)$(APPLETS_AR) | 15 | applets_OBJ:=$(patsubst $(srcdir)/%.c,$(objdir)/%.o,$(APPLETS_SRC)) |
20 | 16 | ||
21 | $(APPLETS_DIR)$(APPLETS_AR): $(APPLET_OBJ) | ||
22 | $(do_ar) | ||
23 | |||
24 | $(APPLET_OBJ): $(top_builddir)/.config | ||
25 | $(APPLET_OBJ): $(APPLETS_DIR)%.o: $(srcdir)/%.c | ||
26 | $(compile.c) | ||
diff --git a/applets/install.sh b/applets/install.sh index 2c643f2f2..0173e7a44 100755 --- a/applets/install.sh +++ b/applets/install.sh | |||
@@ -28,7 +28,8 @@ if [ "$DO_INSTALL_LIBS" != "n" ]; then | |||
28 | for i in $DO_INSTALL_LIBS; do | 28 | for i in $DO_INSTALL_LIBS; do |
29 | rm -f $prefix/$libdir/$i || exit 1 | 29 | rm -f $prefix/$libdir/$i || exit 1 |
30 | if [ -f $i ]; then | 30 | if [ -f $i ]; then |
31 | install -m 644 $i $prefix/$libdir/ || exit 1 | 31 | cp -a $i $prefix/$libdir/ || exit 1 |
32 | chmod 0644 $prefix/$libdir/$i || exit 1 | ||
32 | fi | 33 | fi |
33 | done | 34 | done |
34 | fi | 35 | fi |
diff --git a/archival/Makefile.in b/archival/Makefile.in index ee284ad7a..6a2979e67 100644 --- a/archival/Makefile.in +++ b/archival/Makefile.in | |||
@@ -4,14 +4,9 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | ARCHIVAL_AR:=archival.a | ||
8 | ifndef $(ARCHIVAL_DIR) | ||
9 | ARCHIVAL_DIR:=$(top_builddir)/archival/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/archival | 7 | srcdir=$(top_srcdir)/archival |
8 | objdir=$(top_builddir)/archival | ||
12 | 9 | ||
13 | ARCHIVAL-y:= | ||
14 | ARCHIVAL-$(CONFIG_APT_GET) += | ||
15 | ARCHIVAL-$(CONFIG_AR) += ar.o | 10 | ARCHIVAL-$(CONFIG_AR) += ar.o |
16 | ARCHIVAL-$(CONFIG_BUNZIP2) += bunzip2.o | 11 | ARCHIVAL-$(CONFIG_BUNZIP2) += bunzip2.o |
17 | ARCHIVAL-$(CONFIG_UNLZMA) += unlzma.o | 12 | ARCHIVAL-$(CONFIG_UNLZMA) += unlzma.o |
@@ -26,17 +21,10 @@ ARCHIVAL-$(CONFIG_TAR) += tar.o | |||
26 | ARCHIVAL-$(CONFIG_UNCOMPRESS) += uncompress.o | 21 | ARCHIVAL-$(CONFIG_UNCOMPRESS) += uncompress.o |
27 | ARCHIVAL-$(CONFIG_UNZIP) += unzip.o | 22 | ARCHIVAL-$(CONFIG_UNZIP) += unzip.o |
28 | 23 | ||
29 | ifneq ($(strip $(ARCHIVAL-y)),) | ||
30 | libraries-y+=$(ARCHIVAL_DIR)$(ARCHIVAL_AR) | ||
31 | endif | ||
32 | |||
33 | ARCHIVAL_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(ARCHIVAL-y)) | 24 | ARCHIVAL_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(ARCHIVAL-y)) |
34 | ARCHIVAL_SRC-a:=$(wildcard $(srcdir)/*.c) | 25 | ARCHIVAL_SRC-a:=$(wildcard $(srcdir)/*.c) |
35 | APPLET_SRC-y+=$(ARCHIVAL_SRC-y) | 26 | APPLET_SRC-y+=$(ARCHIVAL_SRC-y) |
36 | APPLET_SRC-a+=$(ARCHIVAL_SRC-a) | 27 | APPLET_SRC-a+=$(ARCHIVAL_SRC-a) |
37 | 28 | ||
38 | $(ARCHIVAL_DIR)$(ARCHIVAL_AR): $(patsubst %,$(ARCHIVAL_DIR)%, $(ARCHIVAL-y)) | 29 | archival_OBJ:= $(patsubst %,$(objdir)/%,$(ARCHIVAL-y)) |
39 | $(do_ar) | ||
40 | 30 | ||
41 | $(ARCHIVAL_DIR)%.o: $(srcdir)/%.c | ||
42 | $(compile.c) | ||
diff --git a/archival/libunarchive/Makefile.in b/archival/libunarchive/Makefile.in index 265079c10..75d761036 100644 --- a/archival/libunarchive/Makefile.in +++ b/archival/libunarchive/Makefile.in | |||
@@ -3,83 +3,71 @@ | |||
3 | # Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> | 3 | # Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> |
4 | # | 4 | # |
5 | # Licensed under the GPL v2 or later, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2 or later, see the file LICENSE in this tarball. |
6 | # | ||
7 | 6 | ||
8 | LIBUNARCHIVE_AR:=libunarchive.a | ||
9 | ifndef $(LIBUNARCHIVE_DIR) | ||
10 | LIBUNARCHIVE_DIR:=$(top_builddir)/archival/libunarchive | ||
11 | endif | ||
12 | srcdir=$(top_srcdir)/archival/libunarchive | 7 | srcdir=$(top_srcdir)/archival/libunarchive |
13 | 8 | objdir=$(top_builddir)/archival/libunarchive | |
14 | LIBUNARCHIVE-obj:=$(LIBUNARCHIVE_DIR)/$(LIBUNARCHIVE_AR) | ||
15 | LIBUNARCHIVE-pic:=$(LIBUNARCHIVE_DIR)/$(subst .a,-pic.a,$(LIBUNARCHIVE_AR)) | ||
16 | |||
17 | libraries-y+=$(LIBUNARCHIVE-obj) | ||
18 | 9 | ||
19 | LIBUNARCHIVE-y:= \ | 10 | LIBUNARCHIVE-y:= \ |
20 | \ | 11 | \ |
21 | data_skip.o \ | 12 | data_skip \ |
22 | data_extract_all.o \ | 13 | data_extract_all \ |
23 | data_extract_to_stdout.o \ | 14 | data_extract_to_stdout \ |
24 | data_extract_to_buffer.o \ | 15 | data_extract_to_buffer \ |
25 | \ | 16 | \ |
26 | filter_accept_all.o \ | 17 | filter_accept_all \ |
27 | filter_accept_list.o \ | 18 | filter_accept_list \ |
28 | filter_accept_reject_list.o \ | 19 | filter_accept_reject_list \ |
29 | \ | 20 | \ |
30 | header_skip.o \ | 21 | header_skip \ |
31 | header_list.o \ | 22 | header_list \ |
32 | header_verbose_list.o \ | 23 | header_verbose_list \ |
33 | \ | 24 | \ |
34 | archive_xread_all.o \ | 25 | archive_xread_all \ |
35 | archive_xread_all_eof.o \ | 26 | archive_xread_all_eof \ |
36 | \ | 27 | \ |
37 | seek_by_char.o \ | 28 | seek_by_char \ |
38 | seek_by_jump.o \ | 29 | seek_by_jump \ |
39 | \ | 30 | \ |
40 | data_align.o \ | 31 | data_align \ |
41 | find_list_entry.o \ | 32 | find_list_entry \ |
42 | open_transformer.o \ | 33 | open_transformer \ |
43 | init_handle.o | 34 | init_handle |
44 | 35 | ||
45 | GUNZIP_FILES:= check_header_gzip.o decompress_unzip.o | 36 | GUNZIP_FILES:= check_header_gzip decompress_unzip |
46 | DPKG_FILES:= \ | 37 | DPKG_FILES:= \ |
47 | get_header_ar.o \ | 38 | get_header_ar \ |
48 | unpack_ar_archive.o \ | 39 | unpack_ar_archive \ |
49 | get_header_tar.o \ | 40 | get_header_tar \ |
50 | filter_accept_list_reassign.o | 41 | filter_accept_list_reassign |
51 | 42 | ||
52 | LIBUNARCHIVE-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o | 43 | LIBUNARCHIVE-$(CONFIG_AR) += get_header_ar unpack_ar_archive |
53 | LIBUNARCHIVE-$(CONFIG_BUNZIP2) += decompress_bunzip2.o | 44 | LIBUNARCHIVE-$(CONFIG_BUNZIP2) += decompress_bunzip2 |
54 | LIBUNARCHIVE-$(CONFIG_UNLZMA) += decompress_unlzma.o | 45 | LIBUNARCHIVE-$(CONFIG_UNLZMA) += decompress_unlzma |
55 | LIBUNARCHIVE-$(CONFIG_CPIO) += get_header_cpio.o | 46 | LIBUNARCHIVE-$(CONFIG_CPIO) += get_header_cpio |
56 | LIBUNARCHIVE-$(CONFIG_DPKG) += $(DPKG_FILES) | 47 | LIBUNARCHIVE-$(CONFIG_DPKG) += $(DPKG_FILES) |
57 | LIBUNARCHIVE-$(CONFIG_DPKG_DEB) += $(DPKG_FILES) | 48 | LIBUNARCHIVE-$(CONFIG_DPKG_DEB) += $(DPKG_FILES) |
58 | LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_GZ) += $(GUNZIP_FILES) get_header_tar_gz.o | 49 | LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_GZ) += $(GUNZIP_FILES) get_header_tar_gz |
59 | LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_BZ2) += decompress_bunzip2.o get_header_tar_bz2.o | 50 | LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_BZ2) += decompress_bunzip2 get_header_tar_bz2 |
60 | LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o | 51 | LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma get_header_tar_lzma |
61 | LIBUNARCHIVE-$(CONFIG_GUNZIP) += $(GUNZIP_FILES) | 52 | LIBUNARCHIVE-$(CONFIG_GUNZIP) += $(GUNZIP_FILES) |
62 | LIBUNARCHIVE-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += decompress_uncompress.o | 53 | LIBUNARCHIVE-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += decompress_uncompress |
63 | LIBUNARCHIVE-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o | 54 | LIBUNARCHIVE-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio |
64 | LIBUNARCHIVE-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio.o | 55 | LIBUNARCHIVE-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio |
65 | LIBUNARCHIVE-$(CONFIG_TAR) += get_header_tar.o | 56 | LIBUNARCHIVE-$(CONFIG_TAR) += get_header_tar |
66 | LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_BZIP2) += decompress_bunzip2.o get_header_tar_bz2.o | 57 | LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_BZIP2) += decompress_bunzip2 get_header_tar_bz2 |
67 | LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o | 58 | LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_LZMA) += decompress_unlzma get_header_tar_lzma |
68 | LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_GZIP) += $(GUNZIP_FILES) get_header_tar_gz.o | 59 | LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_GZIP) += $(GUNZIP_FILES) get_header_tar_gz |
69 | LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_COMPRESS) += decompress_uncompress.o | 60 | LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_COMPRESS) += decompress_uncompress |
70 | LIBUNARCHIVE-$(CONFIG_UNCOMPRESS) += decompress_uncompress.o | 61 | LIBUNARCHIVE-$(CONFIG_UNCOMPRESS) += decompress_uncompress |
71 | LIBUNARCHIVE-$(CONFIG_UNZIP) += $(GUNZIP_FILES) | 62 | LIBUNARCHIVE-$(CONFIG_UNZIP) += $(GUNZIP_FILES) |
72 | 63 | ||
73 | 64 | ||
74 | LIBUNARCHIVE-y:=$(sort $(LIBUNARCHIVE-y)) | 65 | LIBUNARCHIVE-y:=$(sort $(LIBUNARCHIVE-y)) |
75 | 66 | ||
76 | LIBUNARCHIVE_SRC-y:=$(patsubst %,$(srcdir)/%,$(subst .o,.c,$(LIBUNARCHIVE-y))) | 67 | LIBUNARCHIVE_SRC-y:=$(patsubst %,$(srcdir)/%.c,$(LIBUNARCHIVE-y)) |
77 | LIBUNARCHIVE_SRC-a:=$(wildcard $(srcdir)/*.c) | 68 | LIBUNARCHIVE_SRC-a:=$(wildcard $(srcdir)/*.c) |
78 | LIBRARY_SRC-y+=$(LIBUNARCHIVE_SRC-y) | 69 | LIBRARY_SRC-y+=$(LIBUNARCHIVE_SRC-y) |
79 | LIBRARY_SRC-a+=$(LIBUNARCHIVE_SRC-a) | 70 | LIBRARY_SRC-a+=$(LIBUNARCHIVE_SRC-a) |
80 | 71 | ||
81 | $(LIBUNARCHIVE_DIR)/$(LIBUNARCHIVE_AR): $(patsubst %,$(LIBUNARCHIVE_DIR)/%,$(LIBUNARCHIVE-y)) | 72 | archival_libunarchive_OBJ$(os):=$(patsubst %,$(objdir)/%$(os),$(LIBUNARCHIVE-y)) |
82 | $(do_ar) | ||
83 | 73 | ||
84 | $(LIBUNARCHIVE_DIR)/%.o: $(srcdir)/%.c | ||
85 | $(compile.c) | ||
diff --git a/console-tools/Makefile.in b/console-tools/Makefile.in index f14e338e1..e10bc4f78 100644 --- a/console-tools/Makefile.in +++ b/console-tools/Makefile.in | |||
@@ -4,34 +4,25 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | CONSOLETOOLS_AR:=console-tools.a | ||
8 | ifndef $(CONSOLETOOLS_DIR) | ||
9 | CONSOLETOOLS_DIR:=$(top_builddir)/console-tools/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/console-tools | 7 | srcdir=$(top_srcdir)/console-tools |
8 | objdir=$(top_builddir)/console-tools | ||
12 | 9 | ||
13 | CONSOLETOOLS-y:= | ||
14 | CONSOLETOOLS-$(CONFIG_CHVT) += chvt.o | 10 | CONSOLETOOLS-$(CONFIG_CHVT) += chvt.o |
15 | CONSOLETOOLS-$(CONFIG_CLEAR) += clear.o | 11 | CONSOLETOOLS-$(CONFIG_CLEAR) += clear.o |
16 | CONSOLETOOLS-$(CONFIG_DEALLOCVT) += deallocvt.o | 12 | CONSOLETOOLS-$(CONFIG_DEALLOCVT) += deallocvt.o |
17 | CONSOLETOOLS-$(CONFIG_DUMPKMAP) += dumpkmap.o | 13 | CONSOLETOOLS-$(CONFIG_DUMPKMAP) += dumpkmap.o |
18 | CONSOLETOOLS-$(CONFIG_SETCONSOLE) += setconsole.o | 14 | CONSOLETOOLS-$(CONFIG_SETCONSOLE) += setconsole.o |
19 | CONSOLETOOLS-$(CONFIG_LOADFONT) += loadfont.o | 15 | CONSOLETOOLS-$(CONFIG_LOADFONT) += loadfont.o |
20 | CONSOLETOOLS-$(CONFIG_LOADKMAP) += loadkmap.o | 16 | CONSOLETOOLS-$(CONFIG_LOADKMAP) += loadkmap.o |
21 | CONSOLETOOLS-$(CONFIG_OPENVT) += openvt.o | 17 | CONSOLETOOLS-$(CONFIG_OPENVT) += openvt.o |
22 | CONSOLETOOLS-$(CONFIG_RESET) += reset.o | 18 | CONSOLETOOLS-$(CONFIG_RESET) += reset.o |
23 | CONSOLETOOLS-$(CONFIG_SETKEYCODES) += setkeycodes.o | 19 | CONSOLETOOLS-$(CONFIG_SETKEYCODES) += setkeycodes.o |
24 | 20 | ||
25 | ifneq ($(strip $(CONSOLETOOLS-y)),) | 21 | |
26 | libraries-y+=$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR) | ||
27 | endif | ||
28 | CONSOLETOOLS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(CONSOLETOOLS-y)) | 22 | CONSOLETOOLS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(CONSOLETOOLS-y)) |
29 | CONSOLETOOLS_SRC-a:=$(wildcard $(srcdir)/*.c) | 23 | CONSOLETOOLS_SRC-a:=$(wildcard $(srcdir)/*.c) |
30 | APPLET_SRC-y+=$(CONSOLETOOLS_SRC-y) | 24 | APPLET_SRC-y+=$(CONSOLETOOLS_SRC-y) |
31 | APPLET_SRC-a+=$(CONSOLETOOLS_SRC-a) | 25 | APPLET_SRC-a+=$(CONSOLETOOLS_SRC-a) |
32 | 26 | ||
33 | $(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR): $(patsubst %,$(CONSOLETOOLS_DIR)%, $(CONSOLETOOLS-y)) | 27 | console-tools_OBJ:= $(patsubst %,$(objdir)/%,$(CONSOLETOOLS-y)) |
34 | $(do_ar) | ||
35 | 28 | ||
36 | $(CONSOLETOOLS_DIR)%.o: $(srcdir)/%.c | ||
37 | $(compile.c) | ||
diff --git a/coreutils/Makefile.in b/coreutils/Makefile.in index 2ab256c15..eee64a995 100644 --- a/coreutils/Makefile.in +++ b/coreutils/Makefile.in | |||
@@ -4,13 +4,9 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | COREUTILS_AR:=coreutils.a | ||
8 | ifndef $(COREUTILS_DIR) | ||
9 | COREUTILS_DIR:=$(top_builddir)/coreutils/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/coreutils | 7 | srcdir=$(top_srcdir)/coreutils |
8 | objdir=$(top_builddir)/coreutils | ||
12 | 9 | ||
13 | COREUTILS-y:= | ||
14 | COREUTILS-$(CONFIG_BASENAME) += basename.o | 10 | COREUTILS-$(CONFIG_BASENAME) += basename.o |
15 | COREUTILS-$(CONFIG_CAL) += cal.o | 11 | COREUTILS-$(CONFIG_CAL) += cal.o |
16 | COREUTILS-$(CONFIG_CAT) += cat.o | 12 | COREUTILS-$(CONFIG_CAT) += cat.o |
@@ -82,18 +78,12 @@ COREUTILS-$(CONFIG_WHOAMI) += whoami.o | |||
82 | COREUTILS-$(CONFIG_YES) += yes.o | 78 | COREUTILS-$(CONFIG_YES) += yes.o |
83 | 79 | ||
84 | COREUTILS-y:=$(sort $(COREUTILS-y)) | 80 | COREUTILS-y:=$(sort $(COREUTILS-y)) |
85 | 81 | COREUTILS-m:=$(sort $(COREUTILS-m)) | |
86 | ifneq ($(strip $(COREUTILS-y)),) | ||
87 | libraries-y+=$(COREUTILS_DIR)$(COREUTILS_AR) | ||
88 | endif | ||
89 | 82 | ||
90 | COREUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(COREUTILS-y)) | 83 | COREUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(COREUTILS-y)) |
91 | COREUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) | 84 | COREUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) |
92 | APPLET_SRC-y+=$(COREUTILS_SRC-y) | 85 | APPLET_SRC-y+=$(COREUTILS_SRC-y) |
93 | APPLET_SRC-a+=$(COREUTILS_SRC-a) | 86 | APPLET_SRC-a+=$(COREUTILS_SRC-a) |
94 | 87 | ||
95 | $(COREUTILS_DIR)$(COREUTILS_AR): $(patsubst %,$(COREUTILS_DIR)%, $(COREUTILS-y)) | 88 | coreutils_OBJ:= $(patsubst %,$(objdir)/%,$(COREUTILS-y)) |
96 | $(do_ar) | ||
97 | 89 | ||
98 | $(COREUTILS_DIR)%.o: $(srcdir)/%.c | ||
99 | $(compile.c) | ||
diff --git a/coreutils/libcoreutils/Makefile.in b/coreutils/libcoreutils/Makefile.in index 092019124..700341c97 100644 --- a/coreutils/libcoreutils/Makefile.in +++ b/coreutils/libcoreutils/Makefile.in | |||
@@ -3,49 +3,21 @@ | |||
3 | # Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> | 3 | # Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> |
4 | # | 4 | # |
5 | # Licensed under the GPL v2 or later, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2 or later, see the file LICENSE in this tarball. |
6 | # | ||
7 | 6 | ||
8 | LIBCOREUTILS_AR:=libcoreutils.a | ||
9 | ifndef $(LIBCOREUTILS_DIR) | ||
10 | LIBCOREUTILS_DIR:=$(top_builddir)/coreutils/libcoreutils | ||
11 | endif | ||
12 | srcdir=$(top_srcdir)/coreutils/libcoreutils | 7 | srcdir=$(top_srcdir)/coreutils/libcoreutils |
8 | objdir=$(top_builddir)/coreutils/libcoreutils | ||
13 | 9 | ||
14 | LIBCOREUTILS_ALL_SRC:= cp_mv_stat.c getopt_mk_fifo_nod.c | 10 | LIBCOREUTILS-$(CONFIG_MKFIFO) += getopt_mk_fifo_nod |
15 | 11 | LIBCOREUTILS-$(CONFIG_MKNOD) += getopt_mk_fifo_nod | |
16 | LIBCOREUTILS-y:= | 12 | LIBCOREUTILS-$(CONFIG_INSTALL) += cp_mv_stat |
17 | LIBCOREUTILS-$(CONFIG_MKFIFO) += getopt_mk_fifo_nod.o | 13 | LIBCOREUTILS-$(CONFIG_CP) += cp_mv_stat |
18 | LIBCOREUTILS-$(CONFIG_MKNOD) += getopt_mk_fifo_nod.o | 14 | LIBCOREUTILS-$(CONFIG_MV) += cp_mv_stat |
19 | LIBCOREUTILS-$(CONFIG_INSTALL) += cp_mv_stat.o | ||
20 | LIBCOREUTILS-$(CONFIG_CP) += cp_mv_stat.o | ||
21 | LIBCOREUTILS-$(CONFIG_MV) += cp_mv_stat.o | ||
22 | 15 | ||
23 | LIBCOREUTILS-y:=$(sort $(LIBCOREUTILS-y)) | 16 | LIBCOREUTILS-y:=$(sort $(LIBCOREUTILS-y)) |
24 | 17 | ||
25 | LIBCOREUTILS_SRC-y:=$(patsubst %,$(srcdir)/%,$(subst .o,.c,$(LIBCOREUTILS-y))) | 18 | LIBCOREUTILS_SRC-y:=$(patsubst %,$(srcdir)/%.c,$(LIBCOREUTILS-y)) |
26 | LIBCOREUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) | 19 | LIBCOREUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) |
27 | LIBRARY_SRC-y+=$(LIBCOREUTILS_SRC-y) | 20 | LIBRARY_SRC-y+=$(LIBCOREUTILS_SRC-y) |
28 | LIBRARY_SRC-a+=$(LIBCOREUTILS_SRC-a) | 21 | LIBRARY_SRC-a+=$(LIBCOREUTILS_SRC-a) |
29 | 22 | ||
30 | LIBCOREUTILS-multi-obj:=$(LIBCOREUTILS_DIR)/$(subst .a,-multi.o,$(LIBCOREUTILS_AR)) | 23 | coreutils_libcoreutils_OBJ$(os):=$(patsubst %,$(objdir)/%$(os),$(LIBCOREUTILS-y)) |
31 | LIBCOREUTILS-multi-pic:=$(LIBCOREUTILS_DIR)/$(subst .a,-pic.o,$(LIBCOREUTILS_AR)) | ||
32 | |||
33 | # We do not need to build an empty non-pic object/archive | ||
34 | ifneq ($(strip $(LIBCOREUTILS-y)),) | ||
35 | libraries-y+=$(LIBCOREUTILS_DIR)/$(LIBCOREUTILS_AR) | ||
36 | endif | ||
37 | # If we are building libbusybox.so _and_ we will use it ourselves then we | ||
38 | # keep it as small as possible | ||
39 | ifeq ($(strip $(CONFIG_FEATURE_SHARED_BUSYBOX)),y) | ||
40 | ifneq ($(strip $(LIBIPROUTE-y)),) | ||
41 | libraries-m+=$(LIBCOREUTILS-multi-pic) | ||
42 | endif | ||
43 | endif | ||
44 | |||
45 | LIBCOREUTILS_OBJS=$(patsubst %,$(LIBCOREUTILS_DIR)/%, $(LIBCOREUTILS-y)) | ||
46 | |||
47 | $(LIBCOREUTILS_DIR)/$(LIBCOREUTILS_AR): $(patsubst %,$(LIBCOREUTILS_DIR)/%,$(LIBCOREUTILS-y)) | ||
48 | $(do_ar) | ||
49 | |||
50 | $(LIBCOREUTILS_DIR)/%.o: $(srcdir)/%.c | ||
51 | $(compile.c) | ||
diff --git a/debianutils/Makefile.in b/debianutils/Makefile.in index 2983565b8..ffdb7abdc 100644 --- a/debianutils/Makefile.in +++ b/debianutils/Makefile.in | |||
@@ -4,13 +4,9 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | DEBIANUTILS_AR:=debianutils.a | ||
8 | ifndef $(DEBIANUTILS_DIR) | ||
9 | DEBIANUTILS_DIR:=$(top_builddir)/debianutils/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/debianutils | 7 | srcdir=$(top_srcdir)/debianutils |
8 | objdir=$(top_builddir)/debianutils | ||
12 | 9 | ||
13 | DEBIANUTILS-y:= | ||
14 | DEBIANUTILS-$(CONFIG_MKTEMP) += mktemp.o | 10 | DEBIANUTILS-$(CONFIG_MKTEMP) += mktemp.o |
15 | DEBIANUTILS-$(CONFIG_PIPE_PROGRESS) += pipe_progress.o | 11 | DEBIANUTILS-$(CONFIG_PIPE_PROGRESS) += pipe_progress.o |
16 | DEBIANUTILS-$(CONFIG_READLINK) += readlink.o | 12 | DEBIANUTILS-$(CONFIG_READLINK) += readlink.o |
@@ -18,16 +14,10 @@ DEBIANUTILS-$(CONFIG_RUN_PARTS) += run_parts.o | |||
18 | DEBIANUTILS-$(CONFIG_START_STOP_DAEMON) += start_stop_daemon.o | 14 | DEBIANUTILS-$(CONFIG_START_STOP_DAEMON) += start_stop_daemon.o |
19 | DEBIANUTILS-$(CONFIG_WHICH) += which.o | 15 | DEBIANUTILS-$(CONFIG_WHICH) += which.o |
20 | 16 | ||
21 | ifneq ($(strip $(DEBIANUTILS-y)),) | ||
22 | libraries-y+=$(DEBIANUTILS_DIR)$(DEBIANUTILS_AR) | ||
23 | endif | ||
24 | DEBIANUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(DEBIANUTILS-y)) | 17 | DEBIANUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(DEBIANUTILS-y)) |
25 | DEBIANUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) | 18 | DEBIANUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) |
26 | APPLET_SRC-y+=$(DEBIANUTILS_SRC-y) | 19 | APPLET_SRC-y+=$(DEBIANUTILS_SRC-y) |
27 | APPLET_SRC-a+=$(DEBIANUTILS_SRC-a) | 20 | APPLET_SRC-a+=$(DEBIANUTILS_SRC-a) |
28 | 21 | ||
29 | $(DEBIANUTILS_DIR)$(DEBIANUTILS_AR): $(patsubst %,$(DEBIANUTILS_DIR)%, $(DEBIANUTILS-y)) | 22 | debianutils_OBJ:= $(patsubst %,$(objdir)/%,$(DEBIANUTILS-y)) |
30 | $(do_ar) | ||
31 | 23 | ||
32 | $(DEBIANUTILS_DIR)%.o: $(srcdir)/%.c | ||
33 | $(compile.c) | ||
diff --git a/e2fsprogs/Makefile.in b/e2fsprogs/Makefile.in index e4cfdf545..8a46af113 100644 --- a/e2fsprogs/Makefile.in +++ b/e2fsprogs/Makefile.in | |||
@@ -4,12 +4,8 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | E2FSPROGS_AR:=e2fsprogs.a | 7 | srcdir:=$(top_srcdir)/e2fsprogs |
8 | 8 | objdir:=$(top_builddir)/e2fsprogs | |
9 | E2FSPROGS_DIR:=$(top_builddir)/e2fsprogs | ||
10 | E2FSPROGS_SRC:=$(top_srcdir)/e2fsprogs | ||
11 | |||
12 | E2FSPROGS_CFLAGS := -include $(E2FSPROGS_SRC)/e2fsbb.h | ||
13 | 9 | ||
14 | BLKID_SRC := cache.c dev.c devname.c devno.c blkid_getsize.c \ | 10 | BLKID_SRC := cache.c dev.c devname.c devno.c blkid_getsize.c \ |
15 | probe.c read.c resolve.c save.c tag.c | 11 | probe.c read.c resolve.c save.c tag.c |
@@ -39,22 +35,23 @@ UUID_SRC := compare.c gen_uuid.c pack.c parse.c unpack.c unparse.c \ | |||
39 | UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC)) | 35 | UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC)) |
40 | UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS)) | 36 | UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS)) |
41 | 37 | ||
38 | |||
42 | # for building out-of-tree we need to make sure that the directories to hold | 39 | # for building out-of-tree we need to make sure that the directories to hold |
43 | # the object tree are created | 40 | # the object tree are created |
44 | $(patsubst %,$(E2FSPROGS_DIR)/%, blkid e2fsck e2p ext2fs uuid): | 41 | $(patsubst %,$(objdir)/%, blkid e2fsck e2p ext2fs uuid): |
45 | @mkdir -p "$@" | 42 | @mkdir -p "$@" |
46 | 43 | ||
47 | # make sure that the directories are order-only prerequisites. Otherwise we | 44 | # make sure that the directories are order-only prerequisites. Otherwise we |
48 | # may have object files created after the timestamp of the directory was | 45 | # may have object files created after the timestamp of the directory was |
49 | # updated which would lead to spurious rebuilds (as some of the dentries | 46 | # updated which would lead to spurious rebuilds (as some of the dentries |
50 | # may be older than the dir itself). | 47 | # may be older than the dir itself). |
51 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(BLKID_OBJS)):|$(E2FSPROGS_DIR)/blkid | 48 | $(patsubst %,$(objdir)/%,$(BLKID_OBJS)): $(objdir)/blkid/%.o: $(srcdir)/%.c|$(objdir)/blkid |
52 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSCK_OBJS)):|$(E2FSPROGS_DIR)/e2fsck | 49 | $(patsubst %,$(objdir)/%,$(E2FSCK_OBJS)):$(objdir)/e2fsck/%.o:$(srcdir)/%.c|$(objdir)/e2fsck |
53 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2P_OBJS)):|$(E2FSPROGS_DIR)/e2p | 50 | $(patsubst %,$(objdir)/%,$(E2P_OBJS)): $(objdir)/e2p/%.o: $(srcdir)/%.c|$(objdir)/e2p |
54 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(EXT2FS_OBJS)):|$(E2FSPROGS_DIR)/ext2fs | 51 | $(patsubst %,$(objdir)/%,$(EXT2FS_OBJS)):$(objdir)/ext2fs/%.o:$(srcdir)/%.c|$(objdir)/ext2fs |
55 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(UUID_OBJS)):|$(E2FSPROGS_DIR)/uuid | 52 | $(patsubst %,$(objdir)/%,$(UUID_OBJS)): $(objdir)/uuid/%.o: $(srcdir)/%.c|$(objdir)/uuid |
53 | |||
56 | 54 | ||
57 | E2FSPROGS-y:= | ||
58 | E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS) | 55 | E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS) |
59 | E2FSPROGS-$(CONFIG_E2FSCK) += e2fsck.o util.o $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS) | 56 | E2FSPROGS-$(CONFIG_E2FSCK) += e2fsck.o util.o $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS) |
60 | E2FSPROGS-$(CONFIG_FSCK) += fsck.o util.o $(BLKID_OBJS) $(UUID_OBJS) | 57 | E2FSPROGS-$(CONFIG_FSCK) += fsck.o util.o $(BLKID_OBJS) $(UUID_OBJS) |
@@ -63,24 +60,26 @@ E2FSPROGS-$(CONFIG_MKE2FS) += mke2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EX | |||
63 | E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS) | 60 | E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS) |
64 | 61 | ||
65 | E2FSPROGS-y:=$(sort $(E2FSPROGS-y)) | 62 | E2FSPROGS-y:=$(sort $(E2FSPROGS-y)) |
66 | 63 | ifneq ($(E2FSPROGS-y),) | |
67 | ifneq ($(strip $(E2FSPROGS-y)),) | 64 | CFLAGS-e2fsprogs := -include $(srcdir)/e2fsbb.h |
68 | libraries-y+=$(E2FSPROGS_DIR)/$(E2FSPROGS_AR) | ||
69 | endif | 65 | endif |
70 | 66 | ||
71 | E2FSPROGS_SRC-y:=$(patsubst %.o,$(E2FSPROGS_SRC)/%.c,$(E2FSPROGS-y)) | 67 | E2FSPROGS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(E2FSPROGS-y)) |
72 | E2FSPROGS_SRC-a:=$(wildcard $(E2FSPROGS_SRC)/*.c) $(patsubst %,$(E2FSPROGS_SRC)/%,$(BLKID_SRCS) $(E2P_SRCS) $(EXT2FS_SRCS) $(UUID_SRCS)) | 68 | E2FSPROGS_SRC-a:=$(wildcard $(srcdir)/*.c) $(patsubst %,$(srcdir)/%,$(BLKID_SRCS) $(E2P_SRCS) $(EXT2FS_SRCS) $(UUID_SRCS)) |
73 | APPLET_SRC-y+=$(E2FSPROGS_CFLAGS) $(E2FSPROGS_SRC-y) | 69 | APPLET_SRC-y+=$(E2FSPROGS_SRC-y) |
74 | APPLET_SRC-a+=$(E2FSPROGS_CFLAGS) $(E2FSPROGS_SRC-a) | 70 | APPLET_SRC-a+=$(E2FSPROGS_SRC-a) |
71 | |||
72 | $(warning FIXME: change .c to include their stuff relative to $(srcdir)) | ||
73 | E2FSPROGS_TMP_KLUDGE:=$(patsubst %,-I$(srcdir)/%,blkid e2fsck e2p ext2fs uuid) | ||
74 | CFLAGS-blkid=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) | ||
75 | CFLAGS-e2fsck=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) | ||
76 | CFLAGS-e2p=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) | ||
77 | CFLAGS-ext2fs=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) | ||
78 | CFLAGS-uuid=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) | ||
75 | 79 | ||
76 | # XXX: FIXME: change .c to include their stuff relative to $(E2FSPROGS_SRC) | ||
77 | E2FSPROGS_TMP_KLUDGE:=$(patsubst %,-I$(E2FSPROGS_SRC)/%,blkid e2fsck e2p ext2fs uuid) | ||
78 | 80 | ||
79 | APPLETS_DEFINE-y+=$(E2FSPROGS_CFLAGS) -I$(E2FSPROGS_SRC) $(E2FSPROGS_TMP_KLUDGE) | 81 | APPLETS_DEFINE-y+=$(CFLAGS-e2fsprogs) -I$(srcdir) $(E2FSPROGS_TMP_KLUDGE) |
80 | APPLETS_DEFINE-a+=$(E2FSPROGS_CFLAGS) -I$(E2FSPROGS_SRC) $(E2FSPROGS_TMP_KLUDGE) | 82 | APPLETS_DEFINE-a+=$(CFLAGS-e2fsprogs) -I$(srcdir) $(E2FSPROGS_TMP_KLUDGE) |
81 | 83 | ||
82 | $(E2FSPROGS_DIR)/$(E2FSPROGS_AR): $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSPROGS-y)) | 84 | e2fsprogs_OBJ:= $(patsubst %,$(objdir)/%,$(E2FSPROGS-y)) |
83 | $(do_ar) | ||
84 | 85 | ||
85 | $(E2FSPROGS_DIR)/%.o: $(subst $(top_builddir),$(top_srcdir),$(E2FSPROGS_DIR)/%.c) | ||
86 | $(compile.c) $(E2FSPROGS_CFLAGS) | ||
diff --git a/editors/Makefile.in b/editors/Makefile.in index 805017dcc..19d8bf8e6 100644 --- a/editors/Makefile.in +++ b/editors/Makefile.in | |||
@@ -4,36 +4,25 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | EDITOR_AR:=editors.a | ||
8 | ifndef $(EDITOR_DIR) | ||
9 | EDITOR_DIR:=$(top_builddir)/editors/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/editors | 7 | srcdir=$(top_srcdir)/editors |
8 | objdir=$(top_builddir)/editors | ||
12 | 9 | ||
13 | EDITOR-y:= | 10 | EDITORS-$(CONFIG_AWK) += awk.o |
14 | EDITOR-$(CONFIG_AWK) += awk.o | 11 | EDITORS-$(CONFIG_PATCH) += patch.o |
15 | EDITOR-$(CONFIG_PATCH) += patch.o | 12 | EDITORS-$(CONFIG_SED) += sed.o |
16 | EDITOR-$(CONFIG_SED) += sed.o | 13 | EDITORS-$(CONFIG_VI) += vi.o |
17 | EDITOR-$(CONFIG_VI) += vi.o | ||
18 | |||
19 | ifneq ($(strip $(EDITOR-y)),) | ||
20 | libraries-y+=$(EDITOR_DIR)$(EDITOR_AR) | ||
21 | endif | ||
22 | |||
23 | EDITOR_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(EDITOR-y)) | ||
24 | EDITOR_SRC-a:=$(wildcard $(srcdir)/*.c) | ||
25 | APPLET_SRC-y+=$(EDITOR_SRC-y) | ||
26 | APPLET_SRC-a+=$(EDITOR_SRC-a) | ||
27 | 14 | ||
28 | needlibm-y:= | 15 | needlibm-y:= |
29 | needlibm-$(CONFIG_FEATURE_AWK_MATH) := y | 16 | needlibm-$(CONFIG_FEATURE_AWK_MATH) := y |
30 | 17 | ||
31 | ifeq ($(needlibm-y),y) | 18 | ifeq ($(needlibm-y),y) |
32 | LIBRARIES := -lm $(filter-out -lm,$(LIBRARIES)) | 19 | LIBRARIES := $(filter-out -lm,$(LIBRARIES)) -lm |
33 | endif | 20 | endif |
34 | 21 | ||
35 | $(EDITOR_DIR)$(EDITOR_AR): $(patsubst %,$(EDITOR_DIR)%, $(EDITOR-y)) | 22 | EDITOR_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(EDITORS-y)) |
36 | $(do_ar) | 23 | EDITOR_SRC-a:=$(wildcard $(srcdir)/*.c) |
24 | APPLET_SRC-y+=$(EDITOR_SRC-y) | ||
25 | APPLET_SRC-a+=$(EDITOR_SRC-a) | ||
26 | |||
27 | editors_OBJ:= $(patsubst %,$(objdir)/%,$(EDITORS-y)) | ||
37 | 28 | ||
38 | $(EDITOR_DIR)%.o: $(srcdir)/%.c | ||
39 | $(compile.c) | ||
diff --git a/findutils/Makefile.in b/findutils/Makefile.in index 25a2d38d3..d268f987d 100644 --- a/findutils/Makefile.in +++ b/findutils/Makefile.in | |||
@@ -4,28 +4,17 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | FINDUTILS_AR:=findutils.a | ||
8 | ifndef $(FINDUTILS_DIR) | ||
9 | FINDUTILS_DIR:=$(top_builddir)/findutils/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/findutils | 7 | srcdir=$(top_srcdir)/findutils |
8 | objdir=$(top_builddir)/findutils | ||
12 | 9 | ||
13 | FINDUTILS-y:= | ||
14 | FINDUTILS-$(CONFIG_FIND) += find.o | 10 | FINDUTILS-$(CONFIG_FIND) += find.o |
15 | FINDUTILS-$(CONFIG_GREP) += grep.o | 11 | FINDUTILS-$(CONFIG_GREP) += grep.o |
16 | FINDUTILS-$(CONFIG_XARGS) += xargs.o | 12 | FINDUTILS-$(CONFIG_XARGS) += xargs.o |
17 | 13 | ||
18 | ifneq ($(strip $(FINDUTILS-y)),) | ||
19 | libraries-y+=$(FINDUTILS_DIR)$(FINDUTILS_AR) | ||
20 | endif | ||
21 | |||
22 | FINDUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(FINDUTILS-y)) | 14 | FINDUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(FINDUTILS-y)) |
23 | FINDUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) | 15 | FINDUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) |
24 | APPLET_SRC-y+=$(FINDUTILS_SRC-y) | 16 | APPLET_SRC-y+=$(FINDUTILS_SRC-y) |
25 | APPLET_SRC-a+=$(FINDUTILS_SRC-a) | 17 | APPLET_SRC-a+=$(FINDUTILS_SRC-a) |
26 | 18 | ||
27 | $(FINDUTILS_DIR)$(FINDUTILS_AR): $(patsubst %,$(FINDUTILS_DIR)%, $(FINDUTILS-y)) | 19 | findutils_OBJ:= $(patsubst %,$(objdir)/%,$(FINDUTILS-y)) |
28 | $(do_ar) | ||
29 | 20 | ||
30 | $(FINDUTILS_DIR)%.o: $(srcdir)/%.c | ||
31 | $(compile.c) | ||
diff --git a/init/Makefile.in b/init/Makefile.in index a48ead446..a07c2189b 100644 --- a/init/Makefile.in +++ b/init/Makefile.in | |||
@@ -4,13 +4,9 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | INIT_AR:=init.a | ||
8 | ifndef $(INIT_DIR) | ||
9 | INIT_DIR:=$(top_builddir)/init/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/init | 7 | srcdir=$(top_srcdir)/init |
8 | objdir=$(top_builddir)/init | ||
12 | 9 | ||
13 | INIT-y:= | ||
14 | INIT-$(CONFIG_HALT) += halt.o | 10 | INIT-$(CONFIG_HALT) += halt.o |
15 | INIT-$(CONFIG_INIT) += init.o | 11 | INIT-$(CONFIG_INIT) += init.o |
16 | INIT-$(CONFIG_MESG) += mesg.o | 12 | INIT-$(CONFIG_MESG) += mesg.o |
@@ -27,17 +23,10 @@ endif | |||
27 | 23 | ||
28 | INIT-$(CONFIG_INIT_SHARED) += init_shared.o | 24 | INIT-$(CONFIG_INIT_SHARED) += init_shared.o |
29 | 25 | ||
30 | ifneq ($(strip $(INIT-y)),) | ||
31 | libraries-y+=$(INIT_DIR)$(INIT_AR) | ||
32 | endif | ||
33 | |||
34 | INIT_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(INIT-y)) | 26 | INIT_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(INIT-y)) |
35 | INIT_SRC-a:=$(wildcard $(srcdir)/*.c) | 27 | INIT_SRC-a:=$(wildcard $(srcdir)/*.c) |
36 | APPLET_SRC-y+=$(INIT_SRC-y) | 28 | APPLET_SRC-y+=$(INIT_SRC-y) |
37 | APPLET_SRC-a+=$(INIT_SRC-a) | 29 | APPLET_SRC-a+=$(INIT_SRC-a) |
38 | 30 | ||
39 | $(INIT_DIR)$(INIT_AR): $(patsubst %,$(INIT_DIR)%, $(INIT-y)) | 31 | init_OBJ:= $(patsubst %,$(objdir)/%,$(INIT-y)) |
40 | $(do_ar) | ||
41 | 32 | ||
42 | $(INIT_DIR)%.o: $(srcdir)/%.c | ||
43 | $(compile.c) | ||
diff --git a/libbb/Makefile.in b/libbb/Makefile.in index 51a162e3d..3828a42db 100644 --- a/libbb/Makefile.in +++ b/libbb/Makefile.in | |||
@@ -4,10 +4,8 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | ifndef $(LIBBB_DIR) | ||
8 | LIBBB_DIR:=$(top_builddir)/libbb | ||
9 | endif | ||
10 | srcdir=$(top_srcdir)/libbb | 7 | srcdir=$(top_srcdir)/libbb |
8 | objdir=$(top_builddir)/libbb | ||
11 | 9 | ||
12 | LIBBB-n:= | 10 | LIBBB-n:= |
13 | LIBBB-y:= \ | 11 | LIBBB-y:= \ |
@@ -20,7 +18,7 @@ LIBBB-y:= \ | |||
20 | herror_msg.c herror_msg_and_die.c \ | 18 | herror_msg.c herror_msg_and_die.c \ |
21 | human_readable.c inet_common.c inode_hash.c isdirectory.c \ | 19 | human_readable.c inet_common.c inode_hash.c isdirectory.c \ |
22 | kernel_version.c last_char_is.c login.c loop.c \ | 20 | kernel_version.c last_char_is.c login.c loop.c \ |
23 | make_directory.c md5.c mode_string.c mtab.c mtab_file.c \ | 21 | make_directory.c md5.c mode_string.c mtab_file.c \ |
24 | obscure.c parse_mode.c parse_number.c perror_msg.c \ | 22 | obscure.c parse_mode.c parse_number.c perror_msg.c \ |
25 | perror_msg_and_die.c print_file.c get_console.c \ | 23 | perror_msg_and_die.c print_file.c get_console.c \ |
26 | process_escape_sequence.c procps.c qmodule.c \ | 24 | process_escape_sequence.c procps.c qmodule.c \ |
@@ -47,81 +45,76 @@ LIBBB-$(CONFIG_SU)+= correct_password.c | |||
47 | LIBBB-$(CONFIG_LOGIN)+= correct_password.c | 45 | LIBBB-$(CONFIG_LOGIN)+= correct_password.c |
48 | 46 | ||
49 | 47 | ||
50 | LIBBB-y:=$(patsubst %,$(srcdir)/%,$(LIBBB-y)) | 48 | LIBBB-y:=$(patsubst %,$(srcdir)/%,$(LIBBB-y) $(LIBBB-m)) |
51 | 49 | ||
52 | # 1:N objects | 50 | # 1:N objects |
53 | LIBBB_MSRC0:=$(srcdir)/messages.c | 51 | LIBBB_MSRC0:=$(srcdir)/messages.c |
54 | LIBBB_MOBJ0:=full_version.o \ | 52 | LIBBB_M0:=full_version \ |
55 | memory_exhausted.o invalid_date.o io_error.o \ | 53 | memory_exhausted invalid_date io_error \ |
56 | read_error.o write_error.o name_longer_than_foo.o unknown.o \ | 54 | read_error write_error name_longer_than_foo unknown \ |
57 | can_not_create_raw_socket.o perm_denied_are_you_root.o \ | 55 | can_not_create_raw_socket perm_denied_are_you_root \ |
58 | shadow_file.o passwd_file.o group_file.o gshadow_file.o nologin_file.o \ | 56 | shadow_file passwd_file group_file gshadow_file nologin_file \ |
59 | securetty_file.o motd_file.o \ | 57 | securetty_file motd_file \ |
60 | msg_standard_input.o msg_standard_output.o shell_file.o \ | 58 | msg_standard_input msg_standard_output shell_file \ |
61 | bb_dev_null.o bb_common_bufsiz1.o | 59 | bb_dev_null bb_common_bufsiz1 |
62 | LIBBB_MOBJ0:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ0)) | 60 | LIBBB_MOBJ0:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M0)) |
63 | $(LIBBB_MOBJ0):$(LIBBB_MSRC0) | 61 | $(LIBBB_MOBJ0):$(LIBBB_MSRC0) |
64 | $(compile.c) -DL_$(notdir $*) | ||
65 | 62 | ||
66 | LIBBB_MSRC1:=$(srcdir)/xfuncs.c | 63 | LIBBB_MSRC1:=$(srcdir)/xfuncs.c |
67 | LIBBB_MOBJ1:=xmalloc.o xrealloc.o xcalloc.o xstrdup.o xstrndup.o \ | 64 | LIBBB_M1:=xmalloc xrealloc xcalloc xstrdup xstrndup \ |
68 | xfopen.o xopen.o xread.o xread_all.o xread_char.o \ | 65 | xfopen xopen xread xread_all xread_char \ |
69 | xferror.o xferror_stdout.o xfflush_stdout.o strlen.o | 66 | xferror xferror_stdout xfflush_stdout strlen |
70 | LIBBB_MOBJ1:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ1)) | 67 | LIBBB_MOBJ1:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M1)) |
71 | $(LIBBB_MOBJ1):$(LIBBB_MSRC1) | 68 | $(LIBBB_MOBJ1):$(LIBBB_MSRC1) |
72 | $(compile.c) -DL_$(notdir $*) | ||
73 | 69 | ||
74 | LIBBB_MSRC2:=$(srcdir)/printf.c | 70 | LIBBB_MSRC2:=$(srcdir)/printf.c |
75 | LIBBB_MOBJ2:=bb_vfprintf.o bb_vprintf.o bb_fprintf.o bb_printf.o | 71 | LIBBB_M2:=bb_vfprintf bb_vprintf bb_fprintf bb_printf |
76 | LIBBB_MOBJ2:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ2)) | 72 | LIBBB_MOBJ2:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M2)) |
77 | $(LIBBB_MOBJ2):$(LIBBB_MSRC2) | 73 | $(LIBBB_MOBJ2):$(LIBBB_MSRC2) |
78 | $(compile.c) -DL_$(notdir $*) | ||
79 | 74 | ||
80 | LIBBB_MSRC3:=$(srcdir)/xgetularg.c | 75 | LIBBB_MSRC3:=$(srcdir)/xgetularg.c |
81 | LIBBB_MOBJ3:=xgetularg_bnd_sfx.o xgetlarg_bnd_sfx.o getlarg10_sfx.o \ | 76 | LIBBB_M3:=xgetularg_bnd_sfx xgetlarg_bnd_sfx getlarg10_sfx \ |
82 | xgetularg_bnd.o xgetularg10_bnd.o xgetularg10.o | 77 | xgetularg_bnd xgetularg10_bnd xgetularg10 |
83 | LIBBB_MOBJ3:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ3)) | 78 | LIBBB_MOBJ3:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M3)) |
84 | $(LIBBB_MOBJ3):$(LIBBB_MSRC3) | 79 | $(LIBBB_MOBJ3):$(LIBBB_MSRC3) |
85 | $(compile.c) -DL_$(notdir $*) | ||
86 | 80 | ||
87 | LIBBB_MSRC4:=$(srcdir)/safe_strtol.c | 81 | LIBBB_MSRC4:=$(srcdir)/safe_strtol.c |
88 | LIBBB_MOBJ4:=safe_strtoi.o safe_strtod.o safe_strtol.o safe_strtoul.o | 82 | LIBBB_M4:=safe_strtoi safe_strtod safe_strtol safe_strtoul |
89 | LIBBB_MOBJ4:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ4)) | 83 | LIBBB_MOBJ4:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M4)) |
90 | $(LIBBB_MOBJ4):$(LIBBB_MSRC4) | 84 | $(LIBBB_MOBJ4):$(LIBBB_MSRC4) |
91 | $(compile.c) -DL_$(notdir $*) | ||
92 | 85 | ||
93 | LIBBB_MSRC5:=$(srcdir)/bb_pwd.c | 86 | LIBBB_MSRC5:=$(srcdir)/bb_pwd.c |
94 | LIBBB_MOBJ5:=bb_xgetpwnam.o bb_xgetgrnam.o bb_getgrgid.o bb_getpwuid.o \ | 87 | LIBBB_M5:=bb_xgetpwnam bb_xgetgrnam bb_getgrgid bb_getpwuid \ |
95 | bb_getug.o get_ug_id.o | 88 | bb_getug get_ug_id |
96 | LIBBB_MOBJ5:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ5)) | 89 | LIBBB_MOBJ5:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M5)) |
97 | $(LIBBB_MOBJ5):$(LIBBB_MSRC5) | 90 | $(LIBBB_MOBJ5):$(LIBBB_MSRC5) |
98 | $(compile.c) -DL_$(notdir $*) | ||
99 | 91 | ||
100 | LIBBB_MSRC6:=$(srcdir)/llist.c | 92 | LIBBB_MSRC6:=$(srcdir)/llist.c |
101 | LIBBB_MOBJ6:=llist_add_to.o llist_add_to_end.o llist_free_one.o llist_free.o | 93 | LIBBB_M6:=llist_add_to llist_add_to_end llist_free_one llist_free |
102 | LIBBB_MOBJ6:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ6)) | 94 | LIBBB_MOBJ6:=$(patsubst %,$(objdir)/%$(om),$(LIBBB_M6)) |
103 | $(LIBBB_MOBJ6):$(LIBBB_MSRC6) | 95 | $(LIBBB_MOBJ6):$(LIBBB_MSRC6) |
104 | $(compile.c) -DL_$(notdir $*) | ||
105 | 96 | ||
106 | 97 | ||
107 | # We need the names of the object files built from MSRC for the L_ defines | 98 | # We need the names of the object files built from MSRC for the L_ defines |
108 | LIBBB_ALL_MOBJ:=$(LIBBB_MOBJ0) $(LIBBB_MOBJ1) $(LIBBB_MOBJ2) $(LIBBB_MOBJ3) $(LIBBB_MOBJ4) $(LIBBB_MOBJ5) $(LIBBB_MOBJ6) | 99 | LIBBB_ALL_MDEFS:=$(LIBBB_M0) $(LIBBB_M1) $(LIBBB_M2) $(LIBBB_M3) $(LIBBB_M4) $(LIBBB_M5) $(LIBBB_M6) |
100 | |||
101 | # All multi objects | ||
102 | libbb_MOBJ$(os):=$(LIBBB_MOBJ0) $(LIBBB_MOBJ1) $(LIBBB_MOBJ2) $(LIBBB_MOBJ3) $(LIBBB_MOBJ4) $(LIBBB_MOBJ5) $(LIBBB_MOBJ6) | ||
109 | 103 | ||
110 | LIBBB_ALL_MSRC:=$(LIBBB_MSRC0) $(LIBBB_MSRC1) $(LIBBB_MSRC2) $(LIBBB_MSRC3) \ | 104 | LIBBB_ALL_MSRC:=$(LIBBB_MSRC0) $(LIBBB_MSRC1) $(LIBBB_MSRC2) $(LIBBB_MSRC3) \ |
111 | $(LIBBB_MSRC4) $(LIBBB_MSRC5) $(LIBBB_MSRC6) | 105 | $(LIBBB_MSRC4) $(LIBBB_MSRC5) $(LIBBB_MSRC6) |
112 | 106 | ||
113 | LIBBB-y:=$(sort $(LIBBB-y) $(LIBBB_ALL_MSRC)) | 107 | LIBBB-y:=$(sort $(LIBBB-y)) |
114 | |||
115 | LIBBB_AR:=$(LIBBB_DIR)/libbb.a | ||
116 | libraries-y+=$(LIBBB_AR) | ||
117 | 108 | ||
118 | needcrypt-y:= | 109 | needcrypt-y:= |
119 | ifneq ($(findstring $(srcdir)/pw_encrypt.c,$(LIBBB-y)),) | 110 | ifneq ($(findstring $(srcdir)/pw_encrypt.c,$(LIBBB-y)),) |
120 | needcrypt-y:=y | 111 | needcrypt-y:=y |
121 | else | 112 | endif |
122 | ifneq ($(findstring $(srcdir)/correct_password.c,$(LIBBB-y)),) | 113 | ifneq ($(findstring $(srcdir)/correct_password.c,$(LIBBB-y)),) |
123 | needcrypt-y:=y | 114 | needcrypt-y:=y |
124 | endif | 115 | endif |
116 | ifeq ($(CONFIG_FEATURE_FULL_LIBBUSYBOX),y) | ||
117 | needcrypt-y:=y | ||
125 | endif | 118 | endif |
126 | 119 | ||
127 | ifeq ($(needcrypt-y),y) | 120 | ifeq ($(needcrypt-y),y) |
@@ -129,18 +122,27 @@ ifeq ($(needcrypt-y),y) | |||
129 | endif | 122 | endif |
130 | 123 | ||
131 | # all 1:1 objects | 124 | # all 1:1 objects |
132 | LIBBB_OBJS:=$(patsubst $(srcdir)/%.c,$(LIBBB_DIR)/%.o, $(LIBBB-y)) | 125 | libbb_OBJ$(os):=$(patsubst $(srcdir)/%.c,$(objdir)/%$(os),$(LIBBB-y)) |
133 | $(LIBBB_DIR)/%.o: $(srcdir)/%.c | ||
134 | $(compile.c) | ||
135 | 126 | ||
127 | LIBBB_SRC-y:=$(sort $(LIBBB-y) $(LIBBB_ALL_MSRC)) | ||
136 | LIBBB_SRC-a:=$(wildcard $(srcdir)/*.c) | 128 | LIBBB_SRC-a:=$(wildcard $(srcdir)/*.c) |
137 | LIBRARY_SRC-y+=$(LIBBB-y) | 129 | LIBRARY_SRC-y+=$(LIBBB_SRC-y) |
138 | LIBRARY_SRC-a+=$(LIBBB_SRC-a) | 130 | LIBRARY_SRC-a+=$(LIBBB_SRC-a) |
139 | 131 | ||
140 | # all defines needed for 1:N objects | 132 | # all defines needed for 1:N objects |
141 | LIBBB_DEFINE-y:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(LIBBB_ALL_MOBJ)))) | 133 | LIBBB_DEFINE-y:=$(patsubst %,-DL_%,$(LIBBB_ALL_MDEFS)) |
142 | LIBRARY_DEFINE-y+=$(LIBBB_DEFINE-y) | 134 | LIBRARY_DEFINE-y+=$(LIBBB_DEFINE-y) |
143 | LIBRARY_DEFINE-a+=$(LIBBB_DEFINE-y) | 135 | LIBRARY_DEFINE-a+=$(LIBBB_DEFINE-y) |
144 | 136 | ||
145 | $(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_ALL_MOBJ) | 137 | ifeq ($(om),.osm) |
146 | $(do_ar) | 138 | # XXX FIXME: |
139 | # also create a pattern for the non-shared case | ||
140 | $(LIBBB_MOBJ0:.osm=.om): $(LIBBB_MSRC0) | ||
141 | $(LIBBB_MOBJ1:.osm=.om): $(LIBBB_MSRC1) | ||
142 | $(LIBBB_MOBJ2:.osm=.om): $(LIBBB_MSRC2) | ||
143 | $(LIBBB_MOBJ3:.osm=.om): $(LIBBB_MSRC3) | ||
144 | $(LIBBB_MOBJ4:.osm=.om): $(LIBBB_MSRC4) | ||
145 | $(LIBBB_MOBJ5:.osm=.om): $(LIBBB_MSRC5) | ||
146 | $(LIBBB_MOBJ6:.osm=.om): $(LIBBB_MSRC6) | ||
147 | endif | ||
148 | |||
diff --git a/libpwdgrp/Makefile.in b/libpwdgrp/Makefile.in index c74a768c1..93c4634a2 100644 --- a/libpwdgrp/Makefile.in +++ b/libpwdgrp/Makefile.in | |||
@@ -4,35 +4,28 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | LIBPWDGRP_AR:=libpwdgrp.a | ||
8 | ifndef $(LIBPWDGRP_DIR) | ||
9 | LIBPWDGRP_DIR:=$(top_builddir)/libpwdgrp | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/libpwdgrp | 7 | srcdir=$(top_srcdir)/libpwdgrp |
12 | 8 | objdir=$(top_builddir)/libpwdgrp | |
13 | LIBPWDGRP-obj:=$(LIBPWDGRP_DIR)/$(LIBPWDGRP_AR) | ||
14 | LIBPWDGRP-pic:=$(LIBPWDGRP_DIR)/$(subst .a,-pic.o,$(LIBPWDGRP_AR)) | ||
15 | |||
16 | libraries-y+=$(LIBPWDGRP_DIR)/$(LIBPWDGRP_AR) | ||
17 | libraries-m+=$(LIBPWDGRP-multi-pic) | ||
18 | 9 | ||
19 | LIBPWDGRP_MSRC0:=$(srcdir)/pwd_grp.c | 10 | LIBPWDGRP_MSRC0:=$(srcdir)/pwd_grp.c |
20 | LIBPWDGRP_MOBJ0-$(CONFIG_USE_BB_PWD_GRP):= fgetpwent_r.o fgetgrent_r.o \ | 11 | LIBPWDGRP_M0-$(CONFIG_USE_BB_PWD_GRP):= fgetpwent_r fgetgrent_r \ |
21 | fgetpwent.o fgetgrent.o getpwnam_r.o getgrnam_r.o getpwuid_r.o \ | 12 | fgetpwent fgetgrent getpwnam_r getgrnam_r getpwuid_r \ |
22 | getgrgid_r.o getpwuid.o getgrgid.o getpwnam.o getgrnam.o getpw.o \ | 13 | getgrgid_r getpwuid getgrgid getpwnam getgrnam getpw \ |
23 | getpwent_r.o getgrent_r.o getpwent.o getgrent.o \ | 14 | getpwent_r getgrent_r getpwent getgrent \ |
24 | initgroups.o putpwent.o putgrent.o | 15 | initgroups putpwent putgrent |
25 | LIBPWDGRP_MOBJS0=$(patsubst %,$(LIBPWDGRP_DIR)/%, $(LIBPWDGRP_MOBJ0-y)) | 16 | LIBPWDGRP_MOBJ0=$(patsubst %,$(objdir)/%$(om),$(LIBPWDGRP_M0-y)) |
17 | $(LIBPWDGRP_MOBJ0): $(LIBPWDGRP_MSRC0) | ||
26 | 18 | ||
27 | LIBPWDGRP_MSRC1:=$(srcdir)/pwd_grp.c | 19 | LIBPWDGRP_MSRC1:=$(srcdir)/pwd_grp.c |
28 | LIBPWDGRP_MOBJ1-$(CONFIG_USE_BB_PWD_GRP):= __parsepwent.o __parsegrent.o \ | 20 | LIBPWDGRP_M1-$(CONFIG_USE_BB_PWD_GRP):= __parsepwent __parsegrent \ |
29 | __pgsreader.o fgetspent_r.o fgetspent.o sgetspent_r.o getspnam_r.o \ | 21 | __pgsreader fgetspent_r fgetspent sgetspent_r getspnam_r \ |
30 | getspnam.o getspent_r.o getspent.o sgetspent.o \ | 22 | getspnam getspent_r getspent sgetspent \ |
31 | putspent.o __parsespent.o # getspuid_r.o getspuid.o | 23 | putspent __parsespent # getspuid_r getspuid |
32 | LIBPWDGRP_MOBJS1=$(patsubst %,$(LIBPWDGRP_DIR)/%, $(LIBPWDGRP_MOBJ1-y)) | 24 | LIBPWDGRP_MOBJ1=$(patsubst %,$(objdir)/%$(om),$(LIBPWDGRP_M1-y)) |
25 | $(LIBPWDGRP_MOBJ1): $(LIBPWDGRP_MSRC1) | ||
33 | 26 | ||
34 | LIBPWDGRP_DEFINE0-y:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(LIBPWDGRP_MOBJS0)))) | 27 | LIBPWDGRP_DEFINE0-y:=$(patsubst %,-DL_%,$(LIBPWDGRP_M0-y)) |
35 | LIBPWDGRP_DEFINE1-y:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(LIBPWDGRP_MOBJS1)))) | 28 | LIBPWDGRP_DEFINE1-y:=$(patsubst %,-DL_%,$(LIBPWDGRP_M1-y)) |
36 | 29 | ||
37 | LIBPWDGRP_SRC-y:=$(LIBPWDGRP_MSRC0) | 30 | LIBPWDGRP_SRC-y:=$(LIBPWDGRP_MSRC0) |
38 | 31 | ||
@@ -42,12 +35,11 @@ LIBRARY_SRC-a+=$(LIBPWDGRP_SRC-y) | |||
42 | LIBRARY_DEFINE-y+=$(LIBPWDGRP_DEFINE0-y) $(LIBPWDGRP_DEFINE1-y) | 35 | LIBRARY_DEFINE-y+=$(LIBPWDGRP_DEFINE0-y) $(LIBPWDGRP_DEFINE1-y) |
43 | LIBRARY_DEFINE-a+=$(LIBPWDGRP_DEFINE0-y) $(LIBPWDGRP_DEFINE1-y) | 36 | LIBRARY_DEFINE-a+=$(LIBPWDGRP_DEFINE0-y) $(LIBPWDGRP_DEFINE1-y) |
44 | 37 | ||
38 | libpwdgrp_MOBJ$(os):=$(LIBPWDGRP_MOBJ0) $(LIBPWDGRP_MOBJ1) | ||
45 | 39 | ||
46 | $(LIBPWDGRP_DIR)/$(LIBPWDGRP_AR): $(LIBPWDGRP_MOBJS0) $(LIBPWDGRP_MOBJS1) | 40 | ifeq ($(om),.osm) |
47 | $(do_ar) | 41 | # XXX FIXME: |
48 | 42 | # also create a pattern for the non-shared case | |
49 | $(LIBPWDGRP_MOBJS0): $(LIBPWDGRP_MSRC0) | 43 | $(LIBPWDGRP_MOBJ0:.osm=.om): $(LIBPWDGRP_MSRC0) |
50 | $(compile.c) -DL_$(notdir $*) | 44 | $(LIBPWDGRP_MOBJ1:.osm=.om): $(LIBPWDGRP_MSRC1) |
51 | 45 | endif | |
52 | $(LIBPWDGRP_MOBJS1): $(LIBPWDGRP_MSRC1) | ||
53 | $(compile.c) -DL_$(notdir $*) | ||
diff --git a/loginutils/Makefile.in b/loginutils/Makefile.in index c11bbfc03..f09b6d2a6 100644 --- a/loginutils/Makefile.in +++ b/loginutils/Makefile.in | |||
@@ -4,13 +4,9 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | LOGINUTILS_AR:=loginutils.a | ||
8 | ifndef LOGINUTILS_DIR | ||
9 | LOGINUTILS_DIR:=$(top_builddir)/loginutils/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/loginutils | 7 | srcdir=$(top_srcdir)/loginutils |
8 | objdir=$(top_builddir)/loginutils | ||
12 | 9 | ||
13 | LOGINUTILS-y:= | ||
14 | LOGINUTILS-$(CONFIG_ADDGROUP) += addgroup.o | 10 | LOGINUTILS-$(CONFIG_ADDGROUP) += addgroup.o |
15 | LOGINUTILS-$(CONFIG_ADDUSER) += adduser.o | 11 | LOGINUTILS-$(CONFIG_ADDUSER) += adduser.o |
16 | LOGINUTILS-$(CONFIG_GETTY) += getty.o | 12 | LOGINUTILS-$(CONFIG_GETTY) += getty.o |
@@ -22,9 +18,6 @@ LOGINUTILS-$(CONFIG_VLOCK) += vlock.o | |||
22 | LOGINUTILS-$(CONFIG_DELUSER) += deluser.o | 18 | LOGINUTILS-$(CONFIG_DELUSER) += deluser.o |
23 | LOGINUTILS-$(CONFIG_DELGROUP) += delgroup.o | 19 | LOGINUTILS-$(CONFIG_DELGROUP) += delgroup.o |
24 | 20 | ||
25 | ifneq ($(strip $(LOGINUTILS-y)),) | ||
26 | libraries-y+=$(LOGINUTILS_DIR)$(LOGINUTILS_AR) | ||
27 | endif | ||
28 | 21 | ||
29 | LOGINUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(LOGINUTILS-y)) | 22 | LOGINUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(LOGINUTILS-y)) |
30 | LOGINUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) | 23 | LOGINUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) |
@@ -37,14 +30,12 @@ needcrypt-$(CONFIG_PASSWD) := y | |||
37 | needcrypt-$(CONFIG_SU) := y | 30 | needcrypt-$(CONFIG_SU) := y |
38 | needcrypt-$(CONFIG_SULOGIN) := y | 31 | needcrypt-$(CONFIG_SULOGIN) := y |
39 | needcrypt-$(CONFIG_VLOCK) := y | 32 | needcrypt-$(CONFIG_VLOCK) := y |
40 | 33 | ifeq ($(needcrypt-m),y) | |
41 | 34 | needcrypt-y:=y | |
35 | endif | ||
42 | ifeq ($(needcrypt-y),y) | 36 | ifeq ($(needcrypt-y),y) |
43 | LIBRARIES := -lcrypt $(filter-out -lcrypt,$(LIBRARIES)) | 37 | LIBRARIES := -lcrypt $(filter-out -lcrypt,$(LIBRARIES)) |
44 | endif | 38 | endif |
45 | 39 | ||
46 | $(LOGINUTILS_DIR)$(LOGINUTILS_AR): $(patsubst %,$(LOGINUTILS_DIR)%, $(LOGINUTILS-y)) | 40 | loginutils_OBJ:= $(patsubst %,$(objdir)/%,$(LOGINUTILS-y)) |
47 | $(do_ar) | ||
48 | 41 | ||
49 | $(LOGINUTILS_DIR)%.o: $(srcdir)/%.c | ||
50 | $(compile.c) | ||
diff --git a/miscutils/Makefile.in b/miscutils/Makefile.in index a0b6b7233..e431f48ef 100644 --- a/miscutils/Makefile.in +++ b/miscutils/Makefile.in | |||
@@ -4,13 +4,9 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | MISCUTILS_AR:=miscutils.a | ||
8 | ifndef $(MISCUTILS_DIR) | ||
9 | MISCUTILS_DIR:=$(top_builddir)/miscutils/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/miscutils | 7 | srcdir=$(top_srcdir)/miscutils |
8 | objdir=$(top_builddir)/miscutils | ||
12 | 9 | ||
13 | MISCUTILS-y:= | ||
14 | MISCUTILS-$(CONFIG_ADJTIMEX) += adjtimex.o | 10 | MISCUTILS-$(CONFIG_ADJTIMEX) += adjtimex.o |
15 | MISCUTILS-$(CONFIG_CROND) += crond.o | 11 | MISCUTILS-$(CONFIG_CROND) += crond.o |
16 | MISCUTILS-$(CONFIG_CRONTAB) += crontab.o | 12 | MISCUTILS-$(CONFIG_CRONTAB) += crontab.o |
@@ -31,8 +27,13 @@ MISCUTILS-$(CONFIG_STRINGS) += strings.o | |||
31 | MISCUTILS-$(CONFIG_TIME) += time.o | 27 | MISCUTILS-$(CONFIG_TIME) += time.o |
32 | MISCUTILS-$(CONFIG_WATCHDOG) += watchdog.o | 28 | MISCUTILS-$(CONFIG_WATCHDOG) += watchdog.o |
33 | 29 | ||
34 | ifneq ($(strip $(MISCUTILS-y)),) | 30 | needlibm-y:= |
35 | libraries-y+=$(MISCUTILS_DIR)$(MISCUTILS_AR) | 31 | needlibm-$(CONFIG_DC) := y |
32 | ifeq ($(needlibm-m),y) | ||
33 | needlibm-y:=y | ||
34 | endif | ||
35 | ifeq ($(needlibm-y),y) | ||
36 | LIBRARIES := $(filter-out -lm,$(LIBRARIES)) -lm | ||
36 | endif | 37 | endif |
37 | 38 | ||
38 | MISCUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(MISCUTILS-y)) | 39 | MISCUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(MISCUTILS-y)) |
@@ -40,15 +41,5 @@ MISCUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) | |||
40 | APPLET_SRC-y+=$(MISCUTILS_SRC-y) | 41 | APPLET_SRC-y+=$(MISCUTILS_SRC-y) |
41 | APPLET_SRC-a+=$(MISCUTILS_SRC-a) | 42 | APPLET_SRC-a+=$(MISCUTILS_SRC-a) |
42 | 43 | ||
43 | needlibm-y:= | 44 | miscutils_OBJ:= $(patsubst %,$(objdir)/%,$(MISCUTILS-y)) |
44 | needlibm-$(CONFIG_DC) := y | ||
45 | |||
46 | ifeq ($(needlibm-y),y) | ||
47 | LIBRARIES := -lm $(filter-out -lm,$(LIBRARIES)) | ||
48 | endif | ||
49 | |||
50 | $(MISCUTILS_DIR)$(MISCUTILS_AR): $(patsubst %,$(MISCUTILS_DIR)%, $(MISCUTILS-y)) | ||
51 | $(do_ar) | ||
52 | 45 | ||
53 | $(MISCUTILS_DIR)%.o: $(srcdir)/%.c | ||
54 | $(compile.c) | ||
diff --git a/modutils/Makefile.in b/modutils/Makefile.in index 5c7c9238e..fc7e4ff8e 100644 --- a/modutils/Makefile.in +++ b/modutils/Makefile.in | |||
@@ -4,29 +4,18 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | MODUTILS_AR:=modutils.a | ||
8 | ifndef $(MODUTILS_DIR) | ||
9 | MODUTILS_DIR:=$(top_builddir)/modutils/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/modutils | 7 | srcdir=$(top_srcdir)/modutils |
8 | objdir=$(top_builddir)/modutils | ||
12 | 9 | ||
13 | MODUTILS-y:= | ||
14 | MODUTILS-$(CONFIG_INSMOD) += insmod.o | 10 | MODUTILS-$(CONFIG_INSMOD) += insmod.o |
15 | MODUTILS-$(CONFIG_LSMOD) += lsmod.o | 11 | MODUTILS-$(CONFIG_LSMOD) += lsmod.o |
16 | MODUTILS-$(CONFIG_MODPROBE) += modprobe.o | 12 | MODUTILS-$(CONFIG_MODPROBE) += modprobe.o |
17 | MODUTILS-$(CONFIG_RMMOD) += rmmod.o | 13 | MODUTILS-$(CONFIG_RMMOD) += rmmod.o |
18 | 14 | ||
19 | ifneq ($(strip $(MODUTILS-y)),) | ||
20 | libraries-y+=$(MODUTILS_DIR)$(MODUTILS_AR) | ||
21 | endif | ||
22 | |||
23 | MODUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(MODUTILS-y)) | 15 | MODUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(MODUTILS-y)) |
24 | MODUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) | 16 | MODUTILS_SRC-a:=$(wildcard $(srcdir)/*.c) |
25 | APPLET_SRC-y+=$(MODUTILS_SRC-y) | 17 | APPLET_SRC-y+=$(MODUTILS_SRC-y) |
26 | APPLET_SRC-a+=$(MODUTILS_SRC-a) | 18 | APPLET_SRC-a+=$(MODUTILS_SRC-a) |
27 | 19 | ||
28 | $(MODUTILS_DIR)$(MODUTILS_AR): $(patsubst %,$(MODUTILS_DIR)%, $(MODUTILS-y)) | 20 | modutils_OBJ:= $(patsubst %,$(objdir)/%,$(MODUTILS-y)) |
29 | $(do_ar) | ||
30 | 21 | ||
31 | $(MODUTILS_DIR)%.o: $(srcdir)/%.c | ||
32 | $(compile.c) | ||
diff --git a/networking/Makefile.in b/networking/Makefile.in index 650fc1a4a..0f607eb80 100644 --- a/networking/Makefile.in +++ b/networking/Makefile.in | |||
@@ -4,13 +4,9 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | NETWORKING_AR:=networking.a | ||
8 | ifndef $(NETWORKING_DIR) | ||
9 | NETWORKING_DIR:=$(top_builddir)/networking/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/networking | 7 | srcdir=$(top_srcdir)/networking |
8 | objdir=$(top_builddir)/networking | ||
12 | 9 | ||
13 | NETWORKING-y:= | ||
14 | NETWORKING-$(CONFIG_ARPING) += arping.o | 10 | NETWORKING-$(CONFIG_ARPING) += arping.o |
15 | NETWORKING-$(CONFIG_DNSD) += dnsd.o | 11 | NETWORKING-$(CONFIG_DNSD) += dnsd.o |
16 | NETWORKING-$(CONFIG_ETHER_WAKE) += ether-wake.o | 12 | NETWORKING-$(CONFIG_ETHER_WAKE) += ether-wake.o |
@@ -44,8 +40,15 @@ NETWORKING-$(CONFIG_WGET) += wget.o | |||
44 | NETWORKING-$(CONFIG_ZCIP) += zcip.o | 40 | NETWORKING-$(CONFIG_ZCIP) += zcip.o |
45 | 41 | ||
46 | NETWORKING-y:=$(sort $(NETWORKING-y)) | 42 | NETWORKING-y:=$(sort $(NETWORKING-y)) |
47 | ifneq ($(strip $(NETWORKING-y)),) | 43 | NETWORKING-m:=$(sort $(NETWORKING-m)) |
48 | libraries-y+=$(NETWORKING_DIR)$(NETWORKING_AR) | 44 | |
45 | needcrypt-y:= | ||
46 | needcrypt-$(CONFIG_FEATURE_HTTPD_AUTH_MD5) := y | ||
47 | ifeq ($(needcrypt-m),y) | ||
48 | needcrypt-y:=y | ||
49 | endif | ||
50 | ifeq ($(needcrypt-y),y) | ||
51 | LIBRARIES := -lcrypt $(filter-out -lcrypt,$(LIBRARIES)) | ||
49 | endif | 52 | endif |
50 | 53 | ||
51 | NETWORKING_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(NETWORKING-y)) | 54 | NETWORKING_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(NETWORKING-y)) |
@@ -56,15 +59,5 @@ APPLET_SRC-a+=$(NETWORKING_SRC-a) | |||
56 | LIBRARY_DEFINE-y+= -I$(top_srcdir)/networking | 59 | LIBRARY_DEFINE-y+= -I$(top_srcdir)/networking |
57 | LIBRARY_DEFINE-a+= -I$(top_srcdir)/networking | 60 | LIBRARY_DEFINE-a+= -I$(top_srcdir)/networking |
58 | 61 | ||
59 | needcrypt-y:= | 62 | networking_OBJ:= $(patsubst %,$(objdir)/%,$(NETWORKING-y)) |
60 | needcrypt-$(CONFIG_FEATURE_HTTPD_AUTH_MD5) := y | ||
61 | |||
62 | ifeq ($(needcrypt-y),y) | ||
63 | LIBRARIES := -lcrypt $(filter-out -lcrypt,$(LIBRARIES)) | ||
64 | endif | ||
65 | |||
66 | $(NETWORKING_DIR)$(NETWORKING_AR): $(patsubst %,$(NETWORKING_DIR)%, $(NETWORKING-y)) | ||
67 | $(do_ar) | ||
68 | 63 | ||
69 | $(NETWORKING_DIR)%.o: $(srcdir)/%.c | ||
70 | $(compile.c) | ||
diff --git a/networking/libiproute/Makefile.in b/networking/libiproute/Makefile.in index 6b7bd900c..99fa22e9d 100644 --- a/networking/libiproute/Makefile.in +++ b/networking/libiproute/Makefile.in | |||
@@ -5,88 +5,66 @@ | |||
5 | # Licensed under the GPL v2 or later, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2 or later, see the file LICENSE in this tarball. |
6 | # | 6 | # |
7 | 7 | ||
8 | LIBIPROUTE_AR:=libiproute.a | ||
9 | ifndef $(LIBIPROUTE_DIR) | ||
10 | LIBIPROUTE_DIR:=$(top_builddir)/networking/libiproute | ||
11 | endif | ||
12 | srcdir=$(top_srcdir)/networking/libiproute | 8 | srcdir=$(top_srcdir)/networking/libiproute |
9 | objdir=$(top_builddir)/networking/libiproute | ||
13 | 10 | ||
14 | LIBIPROUTE-y:= | ||
15 | LIBIPROUTE-$(CONFIG_IP) += \ | 11 | LIBIPROUTE-$(CONFIG_IP) += \ |
16 | ip_parse_common_args.o \ | 12 | ip_parse_common_args \ |
17 | ipaddress.o \ | 13 | ipaddress \ |
18 | iplink.o \ | 14 | iplink \ |
19 | iproute.o \ | 15 | iproute \ |
20 | iptunnel.o \ | 16 | iptunnel \ |
21 | libnetlink.o \ | 17 | libnetlink \ |
22 | ll_addr.o \ | 18 | ll_addr \ |
23 | ll_map.o \ | 19 | ll_map \ |
24 | ll_proto.o \ | 20 | ll_proto \ |
25 | ll_types.o \ | 21 | ll_types \ |
26 | rt_names.o \ | 22 | rt_names \ |
27 | rtm_map.o \ | 23 | rtm_map \ |
28 | utils.o | 24 | utils |
29 | 25 | ||
30 | LIBIPROUTE-$(CONFIG_IPADDR) += \ | 26 | LIBIPROUTE-$(CONFIG_IPADDR) += \ |
31 | ip_parse_common_args.o \ | 27 | ip_parse_common_args \ |
32 | ipaddress.o \ | 28 | ipaddress \ |
33 | libnetlink.o \ | 29 | libnetlink \ |
34 | ll_addr.o \ | 30 | ll_addr \ |
35 | ll_map.o \ | 31 | ll_map \ |
36 | ll_types.o \ | 32 | ll_types \ |
37 | rt_names.o \ | 33 | rt_names \ |
38 | utils.o | 34 | utils |
39 | 35 | ||
40 | LIBIPROUTE-$(CONFIG_IPLINK) += \ | 36 | LIBIPROUTE-$(CONFIG_IPLINK) += \ |
41 | ip_parse_common_args.o \ | 37 | ip_parse_common_args \ |
42 | ipaddress.o \ | 38 | ipaddress \ |
43 | iplink.o \ | 39 | iplink \ |
44 | libnetlink.o \ | 40 | libnetlink \ |
45 | ll_addr.o \ | 41 | ll_addr \ |
46 | ll_map.o \ | 42 | ll_map \ |
47 | ll_types.o \ | 43 | ll_types \ |
48 | rt_names.o \ | 44 | rt_names \ |
49 | utils.o | 45 | utils |
50 | 46 | ||
51 | LIBIPROUTE-$(CONFIG_IPROUTE) += \ | 47 | LIBIPROUTE-$(CONFIG_IPROUTE) += \ |
52 | ip_parse_common_args.o \ | 48 | ip_parse_common_args \ |
53 | iproute.o \ | 49 | iproute \ |
54 | libnetlink.o \ | 50 | libnetlink \ |
55 | ll_map.o \ | 51 | ll_map \ |
56 | rt_names.o \ | 52 | rt_names \ |
57 | rtm_map.o \ | 53 | rtm_map \ |
58 | utils.o | 54 | utils |
59 | 55 | ||
60 | LIBIPROUTE-$(CONFIG_IPTUNNEL) += \ | 56 | LIBIPROUTE-$(CONFIG_IPTUNNEL) += \ |
61 | ip_parse_common_args.o \ | 57 | ip_parse_common_args \ |
62 | iptunnel.o \ | 58 | iptunnel \ |
63 | rt_names.o \ | 59 | rt_names \ |
64 | utils.o | 60 | utils |
65 | 61 | ||
66 | LIBIPROUTE-y:=$(sort $(LIBIPROUTE-y)) | 62 | LIBIPROUTE-y:=$(sort $(LIBIPROUTE-y)) |
67 | 63 | ||
68 | LIBIPROUTE_SRC-y:=$(patsubst %,$(srcdir)/%,$(subst .o,.c,$(LIBIPROUTE-y))) | 64 | LIBIPROUTE_SRC-y:=$(patsubst %,$(srcdir)/%.c,$(LIBIPROUTE-y)) |
69 | LIBIPROUTE_SRC-a:=$(wildcard $(srcdir)/*.c) | 65 | LIBIPROUTE_SRC-a:=$(wildcard $(srcdir)/*.c) |
70 | LIBRARY_SRC-y+=$(LIBIPROUTE_SRC-y) | 66 | LIBRARY_SRC-y+=$(LIBIPROUTE_SRC-y) |
71 | LIBRARY_SRC-a+=$(LIBIPROUTE_SRC-a) | 67 | LIBRARY_SRC-a+=$(LIBIPROUTE_SRC-a) |
72 | 68 | ||
73 | LIBIPROUTE-obj:=$(LIBIPROUTE_DIR)/$(LIBIPROUTE_AR) | 69 | networking_libiproute_OBJ$(os):=$(patsubst %,$(objdir)/%$(os),$(LIBIPROUTE-y)) |
74 | 70 | ||
75 | # We do not need to build an empty non-pic object/archive | ||
76 | ifneq ($(strip $(LIBIPROUTE-y)),) | ||
77 | libraries-y+=$(LIBIPROUTE_DIR)/$(LIBIPROUTE_AR) | ||
78 | endif | ||
79 | |||
80 | # If we are building libbusybox.so _and_ we will use it ourselves then we | ||
81 | # keep it as small as possible | ||
82 | ifeq ($(strip $(CONFIG_FEATURE_SHARED_BUSYBOX)),y) | ||
83 | ifneq ($(strip $(LIBIPROUTE-y)),) | ||
84 | libraries-m+=$(LIBIPROUTE-multi-pic) | ||
85 | endif | ||
86 | endif | ||
87 | |||
88 | $(LIBIPROUTE_DIR)/$(LIBIPROUTE_AR): $(patsubst %,$(LIBIPROUTE_DIR)/%,$(LIBIPROUTE-y)) | ||
89 | $(do_ar) | ||
90 | |||
91 | $(LIBIPROUTE_DIR)/%.o: $(srcdir)/%.c | ||
92 | $(compile.c) | ||
diff --git a/networking/udhcp/Makefile.in b/networking/udhcp/Makefile.in index df32247c6..ca00b647d 100644 --- a/networking/udhcp/Makefile.in +++ b/networking/udhcp/Makefile.in | |||
@@ -3,13 +3,9 @@ | |||
3 | # Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> | 3 | # Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> |
4 | # | 4 | # |
5 | # Licensed under the GPL v2 or later, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2 or later, see the file LICENSE in this tarball. |
6 | # | ||
7 | 6 | ||
8 | UDHCP_AR:=udhcp.a | ||
9 | ifndef $(UDHCP_DIR) | ||
10 | UDHCP_DIR:=$(top_builddir)/networking/udhcp/ | ||
11 | endif | ||
12 | srcdir=$(top_srcdir)/networking/udhcp | 7 | srcdir=$(top_srcdir)/networking/udhcp |
8 | objdir=$(top_builddir)/networking/udhcp | ||
13 | 9 | ||
14 | #ok, so I forgot how to do an or, but this is a quick and dirty hack | 10 | #ok, so I forgot how to do an or, but this is a quick and dirty hack |
15 | ifeq ($(strip $(CONFIG_UDHCPC)),y) | 11 | ifeq ($(strip $(CONFIG_UDHCPC)),y) |
@@ -22,32 +18,73 @@ CONFIG_UDHCP_SHARED=n | |||
22 | endif | 18 | endif |
23 | endif | 19 | endif |
24 | 20 | ||
25 | UDHCP-y:= | 21 | UDHCP__SHARED_FILES:=common.c options.c packet.c pidfile.c signalpipe.c socket.c |
26 | UDHCP-$(CONFIG_UDHCP_SHARED) += common.c options.c packet.c pidfile.c \ | 22 | UDHCP__UDHCPC_FILES:=dhcpc.c clientpacket.c clientsocket.c script.c |
27 | signalpipe.c socket.c | 23 | UDHCP__UDHCPD_FILES:=dhcpd.c arpping.c files.c leases.c serverpacket.c \ |
28 | UDHCP-$(CONFIG_UDHCPC) += dhcpc.c clientpacket.c clientsocket.c \ | 24 | static_leases.c |
29 | script.c | 25 | UDHCP__DUMPLEASES_FILES:=dumpleases.c |
30 | UDHCP-$(CONFIG_UDHCPD) += dhcpd.c arpping.c files.c leases.c \ | 26 | |
31 | serverpacket.c static_leases.c | 27 | UDHCP-$(CONFIG_UDHCP_SHARED) += $(UDHCP__SHARED_FILES) |
32 | UDHCP-$(CONFIG_DUMPLEASES) += dumpleases.c | 28 | UDHCP-$(CONFIG_UDHCPC) += $(UDHCP__UDHCPC_FILES) |
33 | UDHCP_OBJS:=$(patsubst %.c,$(UDHCP_DIR)%.o, $(UDHCP-y)) | 29 | UDHCP-$(CONFIG_UDHCPD) += $(UDHCP__UDHCPD_FILES) |
34 | 30 | UDHCP-$(CONFIG_DUMPLEASES) += $(UDHCP__DUMPLEASES_FILES) | |
35 | ifneq ($(strip $(UDHCP-y)),) | ||
36 | libraries-y+=$(UDHCP_DIR)$(UDHCP_AR) | ||
37 | endif | ||
38 | 31 | ||
39 | UDHCP-y:=$(patsubst %,$(srcdir)/%,$(UDHCP-y)) | 32 | UDHCP_SRC-y:=$(patsubst %,$(srcdir)/%,$(UDHCP-y)) |
40 | UDHCP-a:=$(wildcard $(srcdir)/*.c) | 33 | UDHCP_SRC-a:=$(wildcard $(srcdir)/*.c) |
41 | APPLET_SRC-y+=$(UDHCP-y) | 34 | APPLET_SRC-y+=$(UDHCP_SRC-y) |
42 | APPLET_SRC-a+=$(UDHCP-a) | 35 | APPLET_SRC-a+=$(UDHCP_SRC-a) |
43 | 36 | ||
44 | UDHCP_INCLUDES:=$(srcdir) | 37 | UDHCP_INCLUDES:=$(srcdir) |
45 | 38 | ||
46 | APPLETS_DEFINE-y+=-DIN_BUSYBOX -I$(UDHCP_INCLUDES) | 39 | #APPLETS_DEFINE-y+= -I$(UDHCP_INCLUDES) -DIN_BUSYBOX |
47 | APPLETS_DEFINE-a+=-DIN_BUSYBOX -I$(UDHCP_INCLUDES) | 40 | #APPLETS_DEFINE-a+= -I$(UDHCP_INCLUDES) -DIN_BUSYBOX |
41 | |||
42 | CFLAGS-udhcp:= -I$(UDHCP_INCLUDES) | ||
43 | |||
44 | # bug in make-3.80 prevents this: | ||
45 | #define udhcp__flags | ||
46 | #CFLAGS-udhcp-$(1):=-DIN_BUSYBOX | ||
47 | #endef | ||
48 | # | ||
49 | #ifeq ($(CONFIG_UDHCP_SHARED),y) | ||
50 | #$(foreach f,$(UDHCP__SHARED_FILES),$(eval $(call udhcp__flags,$(f)))) | ||
51 | #endif | ||
52 | #ifeq ($(CONFIG_UDHCPC),y) | ||
53 | #$(foreach f,$(UDHCP__UDHCPC_FILES),$(eval $(call udhcp__flags,$(f)))) | ||
54 | #endif | ||
55 | #ifeq ($(CONFIG_UDHCPD),y) | ||
56 | #$(foreach f,$(UDHCP__UDHCPD_FILES),$(eval $(call udhcp__flags,$(f)))) | ||
57 | #endif | ||
58 | #ifeq ($(CONFIG_DUMPLEASES),y) | ||
59 | #$(foreach f,$(UDHCP__DUMPLEASES_FILES),$(eval $(call udhcp__flags,$(f)))) | ||
60 | #endif | ||
61 | |||
62 | ifeq ($(CONFIG_UDHCP_SHARED),y) | ||
63 | CFLAGS-udhcp-common.c:=-DIN_BUSYBOX | ||
64 | CFLAGS-udhcp-options.c:=-DIN_BUSYBOX | ||
65 | CFLAGS-udhcp-packet.c:=-DIN_BUSYBOX | ||
66 | CFLAGS-udhcp-pidfile.c:=-DIN_BUSYBOX | ||
67 | CFLAGS-udhcp-signalpipe.c:=-DIN_BUSYBOX | ||
68 | CFLAGS-udhcp-socket.c:=-DIN_BUSYBOX | ||
69 | endif | ||
70 | ifeq ($(CONFIG_UDHCPC),y) | ||
71 | CFLAGS-udhcp-dhcpc.c:=-DIN_BUSYBOX | ||
72 | CFLAGS-udhcp-clientpacket.c:=-DIN_BUSYBOX | ||
73 | CFLAGS-udhcp-clientsocket.c:=-DIN_BUSYBOX | ||
74 | CFLAGS-udhcp-script.c:=-DIN_BUSYBOX | ||
75 | endif | ||
76 | ifeq ($(CONFIG_UDHCPD),y) | ||
77 | CFLAGS-udhcp-dhcpd.c:=-DIN_BUSYBOX | ||
78 | CFLAGS-udhcp-arpping.c:=-DIN_BUSYBOX | ||
79 | CFLAGS-udhcp-files.c:=-DIN_BUSYBOX | ||
80 | CFLAGS-udhcp-leases.c:=-DIN_BUSYBOX | ||
81 | CFLAGS-udhcp-serverpacket.c:=-DIN_BUSYBOX | ||
82 | CFLAGS-udhcp-static_leases.c:=-DIN_BUSYBOX | ||
83 | endif | ||
84 | ifeq ($(CONFIG_DUMPLEASES),y) | ||
85 | CFLAGS-udhcp-dumpleases.c:=-DIN_BUSYBOX | ||
86 | endif | ||
87 | |||
48 | 88 | ||
49 | $(UDHCP_DIR)$(UDHCP_AR): $(UDHCP_OBJS) | 89 | networking_udhcp_OBJ:=$(patsubst %.c,$(objdir)/%.o,$(UDHCP-y)) |
50 | $(do_ar) | ||
51 | 90 | ||
52 | $(UDHCP_OBJS): $(UDHCP_DIR)%.o : $(srcdir)/%.c | ||
53 | $(compile.c) -DIN_BUSYBOX | ||
diff --git a/procps/Makefile.in b/procps/Makefile.in index 261c49b02..32314c3c5 100644 --- a/procps/Makefile.in +++ b/procps/Makefile.in | |||
@@ -4,13 +4,9 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | PROCPS_AR:=procps.a | ||
8 | ifndef $(PROCPS_DIR) | ||
9 | PROCPS_DIR:=$(top_builddir)/procps/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/procps | 7 | srcdir=$(top_srcdir)/procps |
8 | objdir=$(top_builddir)/procps | ||
12 | 9 | ||
13 | PROCPS-y:= | ||
14 | PROCPS-$(CONFIG_FREE) += free.o | 10 | PROCPS-$(CONFIG_FREE) += free.o |
15 | PROCPS-$(CONFIG_KILL) += kill.o | 11 | PROCPS-$(CONFIG_KILL) += kill.o |
16 | PROCPS-$(CONFIG_PIDOF) += pidof.o | 12 | PROCPS-$(CONFIG_PIDOF) += pidof.o |
@@ -21,17 +17,11 @@ PROCPS-$(CONFIG_TOP) += top.o | |||
21 | PROCPS-$(CONFIG_UPTIME) += uptime.o | 17 | PROCPS-$(CONFIG_UPTIME) += uptime.o |
22 | PROCPS-$(CONFIG_FUSER) += fuser.o | 18 | PROCPS-$(CONFIG_FUSER) += fuser.o |
23 | 19 | ||
24 | ifneq ($(strip $(PROCPS-y)),) | ||
25 | libraries-y+=$(PROCPS_DIR)$(PROCPS_AR) | ||
26 | endif | ||
27 | 20 | ||
28 | PROCPS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(PROCPS-y)) | 21 | PROCPS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(PROCPS-y)) |
29 | PROCPS_SRC-a:=$(wildcard $(srcdir)/*.c) | 22 | PROCPS_SRC-a:=$(wildcard $(srcdir)/*.c) |
30 | APPLET_SRC-y+=$(PROCPS_SRC-y) | 23 | APPLET_SRC-y+=$(PROCPS_SRC-y) |
31 | APPLET_SRC-a+=$(PROCPS_SRC-a) | 24 | APPLET_SRC-a+=$(PROCPS_SRC-a) |
32 | 25 | ||
33 | $(PROCPS_DIR)$(PROCPS_AR): $(patsubst %,$(PROCPS_DIR)%, $(PROCPS-y)) | 26 | procps_OBJ:= $(patsubst %,$(objdir)/%,$(PROCPS-y)) |
34 | $(do_ar) | ||
35 | 27 | ||
36 | $(PROCPS_DIR)%.o: $(srcdir)/%.c | ||
37 | $(compile.c) | ||
diff --git a/scripts/config/Makefile b/scripts/config/Makefile index c1cda3e2a..8983ee5f3 100644 --- a/scripts/config/Makefile +++ b/scripts/config/Makefile | |||
@@ -50,22 +50,20 @@ MCONF_OBJS = $(patsubst %.c,%.o, $(MCONF_SRC) $(LXD_SRC)) | |||
50 | SHARED_OBJS = $(patsubst %.c,%.o, $(SHARED_SRC)) | 50 | SHARED_OBJS = $(patsubst %.c,%.o, $(SHARED_SRC)) |
51 | 51 | ||
52 | conf: $(CONF_OBJS) $(SHARED_OBJS) | 52 | conf: $(CONF_OBJS) $(SHARED_OBJS) |
53 | $(SECHO) " "HOSTCC $@ ; true | 53 | $(do_link.h) |
54 | $(Q)$(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@ | ||
55 | 54 | ||
56 | mconf: $(MCONF_OBJS) $(SHARED_OBJS) | 55 | mconf: $(MCONF_OBJS) $(SHARED_OBJS) |
57 | $(SECHO) " "HOSTCC $@ ; true | 56 | $(do_link.h) $(LIBS) |
58 | $(Q)$(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@ $(LIBS) | ||
59 | 57 | ||
60 | $(CONF_OBJS): %.o : $(srcdir)/%.c $(SHARED_DEPS) | 58 | $(CONF_OBJS): %.o : $(srcdir)/%.c $(SHARED_DEPS) |
61 | $(compile.h) -I. | 59 | $(compile.h) -I. |
62 | 60 | ||
63 | $(MCONF_OBJS): %.o : $(srcdir)/%.c $(SHARED_DEPS) | 61 | $(MCONF_OBJS): %.o : $(srcdir)/%.c $(SHARED_DEPS) |
64 | @[ -d $(@D) ] || mkdir -v $(@D) | 62 | @[ -d $(@D) ] || mkdir $(@D) |
65 | $(compile.h) $(HOSTNCURSES) -I. | 63 | $(compile.h) $(HOSTNCURSES) -I. |
66 | 64 | ||
67 | lkc_defs.h: $(srcdir)/lkc_proto.h | 65 | lkc_defs.h: $(srcdir)/lkc_proto.h |
68 | @sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/' | 66 | @$(SED) < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/' |
69 | 67 | ||
70 | ### | 68 | ### |
71 | # The following requires flex/bison | 69 | # The following requires flex/bison |
diff --git a/shell/Makefile.in b/shell/Makefile.in index fcd93f345..43e2acd09 100644 --- a/shell/Makefile.in +++ b/shell/Makefile.in | |||
@@ -4,30 +4,20 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | SHELL_AR:=shell.a | ||
8 | ifndef $(SHELL_DIR) | ||
9 | SHELL_DIR:=$(top_builddir)/shell/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/shell | 7 | srcdir=$(top_srcdir)/shell |
8 | objdir=$(top_builddir)/shell | ||
12 | 9 | ||
13 | SHELLT-y:= | 10 | SHELL-$(CONFIG_ASH) += ash.o |
14 | SHELLT-$(CONFIG_ASH) += ash.o | 11 | SHELL-$(CONFIG_HUSH) += hush.o |
15 | SHELLT-$(CONFIG_HUSH) += hush.o | 12 | SHELL-$(CONFIG_LASH) += lash.o |
16 | SHELLT-$(CONFIG_LASH) += lash.o | 13 | SHELL-$(CONFIG_MSH) += msh.o |
17 | SHELLT-$(CONFIG_MSH) += msh.o | 14 | SHELL-$(CONFIG_FEATURE_COMMAND_EDITING) += cmdedit.o |
18 | SHELLT-$(CONFIG_FEATURE_COMMAND_EDITING) += cmdedit.o | ||
19 | 15 | ||
20 | ifneq ($(strip $(SHELLT-y)),) | ||
21 | libraries-y+=$(SHELL_DIR)$(SHELL_AR) | ||
22 | endif | ||
23 | 16 | ||
24 | SHELLT_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(SHELLT-y)) | 17 | SHELLT_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(SHELL-y)) |
25 | SHELLT_SRC-a:=$(wildcard $(srcdir)/*.c) | 18 | SHELLT_SRC-a:=$(wildcard $(srcdir)/*.c) |
26 | APPLET_SRC-y+=$(SHELLT_SRC-y) | 19 | APPLET_SRC-y+=$(SHELLT_SRC-y) |
27 | APPLET_SRC-a+=$(SHELLT_SRC-a) | 20 | APPLET_SRC-a+=$(SHELLT_SRC-a) |
28 | 21 | ||
29 | $(SHELL_DIR)$(SHELL_AR): $(patsubst %,$(SHELL_DIR)%, $(SHELLT-y)) | 22 | shell_OBJ:= $(patsubst %,$(objdir)/%,$(SHELL-y)) |
30 | $(do_ar) | ||
31 | 23 | ||
32 | $(SHELL_DIR)%.o: $(srcdir)/%.c | ||
33 | $(compile.c) | ||
diff --git a/sysklogd/Makefile.in b/sysklogd/Makefile.in index 83f77be90..d1f274110 100644 --- a/sysklogd/Makefile.in +++ b/sysklogd/Makefile.in | |||
@@ -4,29 +4,19 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | SYSKLOGD_AR:=sysklogd.a | ||
8 | ifndef $(SYSKLOGD_DIR) | ||
9 | SYSKLOGD_DIR:=$(top_builddir)/sysklogd/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/sysklogd | 7 | srcdir=$(top_srcdir)/sysklogd |
8 | objdir=$(top_builddir)/sysklogd | ||
12 | 9 | ||
13 | SYSKLOGD-y:= | ||
14 | SYSKLOGD-$(CONFIG_KLOGD) += klogd.o | 10 | SYSKLOGD-$(CONFIG_KLOGD) += klogd.o |
15 | SYSKLOGD-$(CONFIG_LOGGER) += logger.o | 11 | SYSKLOGD-$(CONFIG_LOGGER) += logger.o |
16 | SYSKLOGD-$(CONFIG_LOGREAD) += logread.o | 12 | SYSKLOGD-$(CONFIG_LOGREAD) += logread.o |
17 | SYSKLOGD-$(CONFIG_SYSLOGD) += syslogd.o | 13 | SYSKLOGD-$(CONFIG_SYSLOGD) += syslogd.o |
18 | 14 | ||
19 | ifneq ($(strip $(SYSKLOGD-y)),) | ||
20 | libraries-y+=$(SYSKLOGD_DIR)$(SYSKLOGD_AR) | ||
21 | endif | ||
22 | 15 | ||
23 | SYSKLOGD_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(SYSKLOGD-y)) | 16 | SYSKLOGD_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(SYSKLOGD-y)) |
24 | SYSKLOGD_SRC-a:=$(wildcard $(srcdir)/*.c) | 17 | SYSKLOGD_SRC-a:=$(wildcard $(srcdir)/*.c) |
25 | APPLET_SRC-y+=$(SYSKLOGD_SRC-y) | 18 | APPLET_SRC-y+=$(SYSKLOGD_SRC-y) |
26 | APPLET_SRC-a+=$(SYSKLOGD_SRC-a) | 19 | APPLET_SRC-a+=$(SYSKLOGD_SRC-a) |
27 | 20 | ||
28 | $(SYSKLOGD_DIR)$(SYSKLOGD_AR): $(patsubst %,$(SYSKLOGD_DIR)%, $(SYSKLOGD-y)) | 21 | sysklogd_OBJ:= $(patsubst %,$(objdir)/%,$(SYSKLOGD-y)) |
29 | $(do_ar) | ||
30 | 22 | ||
31 | $(SYSKLOGD_DIR)%.o: $(srcdir)/%.c | ||
32 | $(compile.c) | ||
diff --git a/util-linux/Makefile.in b/util-linux/Makefile.in index f6a50b7f7..031c798a0 100644 --- a/util-linux/Makefile.in +++ b/util-linux/Makefile.in | |||
@@ -4,62 +4,47 @@ | |||
4 | # | 4 | # |
5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. | 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball. |
6 | 6 | ||
7 | UTILLINUX_AR:=util-linux.a | ||
8 | ifndef $(UTILLINUX_DIR) | ||
9 | UTILLINUX_DIR:=$(top_builddir)/util-linux/ | ||
10 | endif | ||
11 | srcdir=$(top_srcdir)/util-linux | 7 | srcdir=$(top_srcdir)/util-linux |
12 | 8 | objdir=$(top_builddir)/util-linux | |
13 | UTILLINUX-y:= | 9 | |
14 | UTILLINUX-$(CONFIG_DMESG) +=dmesg.o | 10 | UTIL-LINUX-$(CONFIG_DMESG) +=dmesg.o |
15 | UTILLINUX-$(CONFIG_FBSET) +=fbset.o | 11 | UTIL-LINUX-$(CONFIG_FBSET) +=fbset.o |
16 | UTILLINUX-$(CONFIG_FDFLUSH) +=fdflush.o | 12 | UTIL-LINUX-$(CONFIG_FDFLUSH) +=fdflush.o |
17 | UTILLINUX-$(CONFIG_FDFORMAT) +=fdformat.o | 13 | UTIL-LINUX-$(CONFIG_FDFORMAT) +=fdformat.o |
18 | UTILLINUX-$(CONFIG_FDISK) +=fdisk.o | 14 | UTIL-LINUX-$(CONFIG_FDISK) +=fdisk.o |
19 | UTILLINUX-$(CONFIG_FREERAMDISK) +=freeramdisk.o | 15 | UTIL-LINUX-$(CONFIG_FREERAMDISK) +=freeramdisk.o |
20 | UTILLINUX-$(CONFIG_FSCK_MINIX) +=fsck_minix.o | 16 | UTIL-LINUX-$(CONFIG_FSCK_MINIX) +=fsck_minix.o |
21 | UTILLINUX-$(CONFIG_GETOPT) +=getopt.o | 17 | UTIL-LINUX-$(CONFIG_GETOPT) +=getopt.o |
22 | UTILLINUX-$(CONFIG_HEXDUMP) +=hexdump.o | 18 | UTIL-LINUX-$(CONFIG_HEXDUMP) +=hexdump.o |
23 | UTILLINUX-$(CONFIG_HWCLOCK) +=hwclock.o | 19 | UTIL-LINUX-$(CONFIG_HWCLOCK) +=hwclock.o |
24 | UTILLINUX-$(CONFIG_IPCRM) +=ipcrm.o | 20 | UTIL-LINUX-$(CONFIG_IPCRM) +=ipcrm.o |
25 | UTILLINUX-$(CONFIG_IPCS) +=ipcs.o | 21 | UTIL-LINUX-$(CONFIG_IPCS) +=ipcs.o |
26 | UTILLINUX-$(CONFIG_LOSETUP) +=losetup.o | 22 | UTIL-LINUX-$(CONFIG_LOSETUP) +=losetup.o |
27 | UTILLINUX-$(CONFIG_MDEV) +=mdev.o | 23 | UTIL-LINUX-$(CONFIG_MDEV) +=mdev.o |
28 | UTILLINUX-$(CONFIG_MKFS_MINIX) +=mkfs_minix.o | 24 | UTIL-LINUX-$(CONFIG_MKFS_MINIX) +=mkfs_minix.o |
29 | UTILLINUX-$(CONFIG_MKSWAP) +=mkswap.o | 25 | UTIL-LINUX-$(CONFIG_MKSWAP) +=mkswap.o |
30 | UTILLINUX-$(CONFIG_MORE) +=more.o | 26 | UTIL-LINUX-$(CONFIG_MORE) +=more.o |
31 | UTILLINUX-$(CONFIG_MOUNT) +=mount.o | 27 | UTIL-LINUX-$(CONFIG_MOUNT) +=mount.o |
32 | UTILLINUX-$(CONFIG_FEATURE_MOUNT_NFS) +=nfsmount.o | 28 | UTIL-LINUX-$(CONFIG_FEATURE_MOUNT_NFS) +=nfsmount.o |
33 | UTILLINUX-$(CONFIG_PIVOT_ROOT) +=pivot_root.o | 29 | UTIL-LINUX-$(CONFIG_PIVOT_ROOT) +=pivot_root.o |
34 | UTILLINUX-$(CONFIG_RDATE) +=rdate.o | 30 | UTIL-LINUX-$(CONFIG_RDATE) +=rdate.o |
35 | UTILLINUX-$(CONFIG_READPROFILE) +=readprofile.o | 31 | UTIL-LINUX-$(CONFIG_READPROFILE) +=readprofile.o |
36 | UTILLINUX-$(CONFIG_SETARCH) +=setarch.o | 32 | UTIL-LINUX-$(CONFIG_SETARCH) +=setarch.o |
37 | UTILLINUX-$(CONFIG_SWAPONOFF) +=swaponoff.o | 33 | UTIL-LINUX-$(CONFIG_SWAPONOFF) +=swaponoff.o |
38 | UTILLINUX-$(CONFIG_SWITCH_ROOT) +=switch_root.o | 34 | UTIL-LINUX-$(CONFIG_SWITCH_ROOT) +=switch_root.o |
39 | UTILLINUX-$(CONFIG_UMOUNT) +=umount.o | 35 | UTIL-LINUX-$(CONFIG_UMOUNT) +=umount.o |
40 | 36 | ||
41 | ifneq ($(strip $(UTILLINUX-y)),) | 37 | |
42 | libraries-y+=$(UTILLINUX_DIR)$(UTILLINUX_AR) | 38 | UTILLINUX_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(UTIL-LINUX-y)) |
43 | endif | ||
44 | |||
45 | UTILLINUX_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(UTILLINUX-y)) | ||
46 | UTILLINUX_SRC-a:=$(wildcard $(srcdir)/*.c) | 39 | UTILLINUX_SRC-a:=$(wildcard $(srcdir)/*.c) |
47 | APPLET_SRC-y+=$(UTILLINUX_SRC-y) | 40 | APPLET_SRC-y+=$(UTILLINUX_SRC-y) |
48 | APPLET_SRC-a+=$(UTILLINUX_SRC-a) | 41 | APPLET_SRC-a+=$(UTILLINUX_SRC-a) |
49 | 42 | ||
50 | $(UTILLINUX_DIR)$(UTILLINUX_AR): $(patsubst %,$(UTILLINUX_DIR)%, $(UTILLINUX-y)) | ||
51 | $(do_ar) | ||
52 | |||
53 | $(UTILLINUX_DIR)%.o: $(srcdir)/%.c | ||
54 | $(compile.c) | ||
55 | |||
56 | ifneq ($(strip $(CONFIG_LFS)),y) | 43 | ifneq ($(strip $(CONFIG_LFS)),y) |
57 | ifeq ($(strip $(FDISK_SUPPORT_LARGE_DISKS)),y) | 44 | ifeq ($(strip $(FDISK_SUPPORT_LARGE_DISKS)),y) |
58 | 45 | CFLAGS-util-linux-fdisk.c := -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 | |
59 | $(UTILLINUX_DIR)fdisk.o: $(srcdir)/fdisk.c | ||
60 | $(CC) $(CFLAGS) \ | ||
61 | -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \ | ||
62 | $(EXTRA_CFLAGS) -c -o $@ $< | ||
63 | |||
64 | endif | 46 | endif |
65 | endif | 47 | endif |
48 | |||
49 | util-linux_OBJ:= $(patsubst %,$(objdir)/%,$(UTIL-LINUX-y)) | ||
50 | |||