# You shouldn't need to mess with anything beyond this point...
#--------------------------------------------------------------
noconfig_targets := menuconfig config oldconfig randconfig \
- defconfig allyesconfig allnoconfig clean distclean \
+ defconfig allyesconfig allnoconfig allbareconfig \
+ clean distclean \
release tags
# the toplevel sourcedir
KBUILD_OUTPUT := $(top_builddir)
endif
+ifneq ($(strip $(HAVE_DOT_CONFIG)),y)
+# pull in OS specific commands like cp, mkdir, etc. early
+-include $(top_srcdir)/Rules.mak
+endif
+
# All object directories.
OBJ_DIRS := $(DIRS)
all_tree := $(patsubst %,$(top_builddir)/%,$(OBJ_DIRS) scripts scripts/config include)
top_srcdir=$(top_srcdir) \
top_builddir=$(top_builddir) \
KBUILD_SRC=$(top_srcdir) \
- PREFIX=$(PREFIX) \
- CROSS=$(CROSS) \
-f $(CURDIR)/Makefile $@
$(KBUILD_OUTPUT)/Rules.mak:
@echo 'Configuration:'
@echo ' allnoconfig - disable all symbols in .config'
@echo ' allyesconfig - enable (almost) all symbols in .config'
- @echo ' config - text based configurator (of last resort).'
+ @echo ' allbareconfig - enable all basics without any features'
+ @echo ' config - text based configurator (of last resort)'
@echo ' defconfig - set .config to defaults'
@echo ' menuconfig - interactive curses-based configurator'
@echo ' oldconfig - resolve any unresolved symbols in .config'
allyesconfig: scripts/config/conf
@./scripts/config/conf -y $(CONFIG_CONFIG_IN)
- sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config
+ sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX|CONFIG_FEATURE_DEVFS).*/# \1 is not set/" .config
@./scripts/config/conf -o $(CONFIG_CONFIG_IN)
allnoconfig: scripts/config/conf
defconfig: scripts/config/conf
@./scripts/config/conf -d $(CONFIG_CONFIG_IN)
+allbareconfig: scripts/config/conf
+ @./scripts/config/conf -y $(CONFIG_CONFIG_IN)
+ sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config
+ sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config
+ @echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config
+ @./scripts/config/conf -o $(CONFIG_CONFIG_IN)
+
else # ifneq ($(strip $(HAVE_DOT_CONFIG)),y)
all: busybox busybox.links doc
-rm -f busybox
$(MAKE) top_srcdir=$(top_srcdir) top_builddir=$(top_builddir) \
-f $(top_srcdir)/Makefile STRIPCMD=/bin/true
- nm --size-sort busybox
+ $(NM) --size-sort busybox
# Documentation Targets
doc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html
$(top_srcdir)/scripts/config/mkconfigs > $@
endif
-depend dep $(top_builddir)/.depend: .depend
+depend dep: .depend
.depend: scripts/bb_mkdep $(DEP_INCLUDES)
@rm -f .depend
@mkdir -p include/config
- scripts/bb_mkdep -c include/config.h -c include/bb_config.h -I $(top_srcdir)/include $(top_srcdir)/ > $@.tmp
+ scripts/bb_mkdep -c include/config.h -c include/bb_config.h \
+ -I $(top_srcdir)/include $(top_srcdir) > $@.tmp
mv $@.tmp $@
include/config.h: .config
endif # ifeq ($(skip-makefile),)
.PHONY: dummy subdirs release distclean clean config oldconfig \
- menuconfig tags check test depend buildtree
+ menuconfig tags check test depend dep buildtree