ash: exec: Stricter pathopt parsing
[oweals/busybox.git] / Makefile
index 35d2e1e00dab27103f1b2f05cfff357e9864c0ff..15bb660d1f795a3d425c54c17163fe2105ce4a33 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 VERSION = 1
-PATCHLEVEL = 20
+PATCHLEVEL = 32
 SUBLEVEL = 0
 EXTRAVERSION = .git
 NAME = Unnamed
@@ -178,7 +178,7 @@ endif
 # SUBARCH is subsequently ignored.
 
 ifneq ($(CROSS_COMPILE),)
-SUBARCH := $(shell echo $(CROSS_COMPILE) | cut -d- -f1)
+SUBARCH := $(shell echo $(CROSS_COMPILE) | cut -d- -f1 | sed 's:^.*/::g')
 else
 SUBARCH := $(shell uname -m)
 endif
@@ -297,6 +297,7 @@ NM          = $(CROSS_COMPILE)nm
 STRIP          = $(CROSS_COMPILE)strip
 OBJCOPY                = $(CROSS_COMPILE)objcopy
 OBJDUMP                = $(CROSS_COMPILE)objdump
+PKG_CONFIG     ?= $(CROSS_COMPILE)pkg-config
 AWK            = awk
 GENKSYMS       = scripts/genksyms/genksyms
 DEPMOD         = /sbin/depmod
@@ -360,14 +361,14 @@ scripts/basic/%: scripts_basic ;
 
 # This target generates Kbuild's and Config.in's from *.c files
 PHONY += gen_build_files
-gen_build_files: $(wildcard $(srctree)/*/*.c) $(wildcard $(srctree)/*/*/*.c)
+gen_build_files: $(wildcard $(srctree)/*/*.c) $(wildcard $(srctree)/*/*/*.c) $(wildcard $(srctree)/embed/*)
        $(Q)$(srctree)/scripts/gen_build_files.sh $(srctree) $(objtree)
 
 # bbox: we have helpers in applets/
 # we depend on scripts_basic, since scripts/basic/fixdep
 # must be built before any other host prog
 PHONY += applets_dir
-applets_dir: scripts_basic gen_build_files
+applets_dir: scripts_basic gen_build_files include/config/MARKER
        $(Q)$(MAKE) $(build)=applets
 
 applets/%: applets_dir ;
@@ -469,6 +470,7 @@ libs-y              := \
                coreutils/ \
                coreutils/libcoreutils/ \
                debianutils/ \
+               klibc-utils/ \
                e2fsprogs/ \
                editors/ \
                findutils/ \
@@ -507,6 +509,8 @@ ifeq ($(dot-config),1)
 # To avoid any implicit rule to kick in, define an empty command
 .config .kconfig.d: ;
 
+-include $(srctree)/arch/$(ARCH)/Makefile
+
 # Now we can define CFLAGS etc according to .config
 include $(srctree)/Makefile.flags
 
@@ -530,8 +534,6 @@ endif
 # Defaults busybox but it is usually overridden in the arch makefile
 all: busybox doc
 
--include $(srctree)/arch/$(ARCH)/Makefile
-
 # arch Makefile may override CC so keep this after arch Makefile is included
 #bbox# NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 CHECKFLAGS += $(NOSTDINC_FLAGS)
@@ -551,7 +553,7 @@ export      INSTALL_PATH ?= /boot
 #
 # INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
 # relocations required by build roots.  This is not defined in the
-# makefile but the arguement can be passed to make if needed.
+# makefile but the argument can be passed to make if needed.
 #
 
 MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
@@ -609,7 +611,8 @@ quiet_cmd_busybox__ ?= LINK    $@
       "$(LDFLAGS) $(EXTRA_LDFLAGS)" \
       "$(core-y)" \
       "$(libs-y)" \
-      "$(LDLIBS)"
+      "$(LDLIBS)" \
+      && $(srctree)/scripts/generate_BUFSIZ.sh --post include/common_bufsiz.h
 
 # Generate System.map
 quiet_cmd_sysmap = SYSMAP
@@ -843,12 +846,18 @@ export CPPFLAGS_busybox.lds += -P -C -U$(ARCH)
 #      Split autoconf.h into include/linux/config/*
 quiet_cmd_gen_bbconfigopts = GEN     include/bbconfigopts.h
       cmd_gen_bbconfigopts = $(srctree)/scripts/mkconfigs include/bbconfigopts.h include/bbconfigopts_bz2.h
+quiet_cmd_gen_common_bufsiz = GEN     include/common_bufsiz.h
+      cmd_gen_common_bufsiz = $(srctree)/scripts/generate_BUFSIZ.sh include/common_bufsiz.h
 quiet_cmd_split_autoconf   = SPLIT   include/autoconf.h -> include/config/*
       cmd_split_autoconf   = scripts/basic/split-include include/autoconf.h include/config
+quiet_cmd_gen_embedded_scripts = GEN     include/embedded_scripts.h
+      cmd_gen_embedded_scripts = $(srctree)/scripts/embedded_scripts include/embedded_scripts.h $(srctree)/embed $(srctree)/applets_sh
 #bbox# piggybacked generation of few .h files
-include/config/MARKER: scripts/basic/split-include include/autoconf.h
+include/config/MARKER: scripts/basic/split-include include/autoconf.h $(wildcard $(srctree)/embed/*) $(wildcard $(srctree)/applets_sh/*) $(srctree)/scripts/embedded_scripts
        $(call cmd,split_autoconf)
        $(call cmd,gen_bbconfigopts)
+       $(call cmd,gen_common_bufsiz)
+       $(call cmd,gen_embedded_scripts)
        @touch $@
 
 # Generate some files
@@ -964,9 +973,11 @@ CLEAN_FILES +=     busybox busybox_unstripped* busybox.links \
 MRPROPER_DIRS  += include/config include2
 MRPROPER_FILES += .config .config.old include/asm .version .old_version \
                  include/NUM_APPLETS.h \
+                 include/common_bufsiz.h \
                  include/autoconf.h \
                  include/bbconfigopts.h \
                  include/bbconfigopts_bz2.h \
+                 include/embedded_scripts.h \
                  include/usage_compressed.h \
                  include/applet_tables.h \
                  include/applets.h \
@@ -1164,24 +1175,7 @@ endif
 ALLSOURCE_ARCHS := $(ARCH)
 
 define all-sources
-       ( find $(__srctree) $(RCS_FIND_IGNORE) \
-              \( -name include -o -name arch \) -prune -o \
-              -name '*.[chS]' -print; \
-         for ARCH in $(ALLSOURCE_ARCHS) ; do \
-              find $(__srctree)arch/$${ARCH} $(RCS_FIND_IGNORE) \
-                   -name '*.[chS]' -print; \
-         done ; \
-         find $(__srctree)security/selinux/include $(RCS_FIND_IGNORE) \
-              -name '*.[chS]' -print; \
-         find $(__srctree)include $(RCS_FIND_IGNORE) \
-              \( -name config -o -name 'asm-*' \) -prune \
-              -o -name '*.[chS]' -print; \
-         for ARCH in $(ALLINCLUDE_ARCHS) ; do \
-              find $(__srctree)include/asm-$${ARCH} $(RCS_FIND_IGNORE) \
-                   -name '*.[chS]' -print; \
-         done ; \
-         find $(__srctree)include/asm-generic $(RCS_FIND_IGNORE) \
-              -name '*.[chS]' -print )
+       ( find -regex '.*\.[ch]$$' )
 endef
 
 quiet_cmd_cscope-file = FILELST cscope.files