X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Makefile;h=15bb660d1f795a3d425c54c17163fe2105ce4a33;hb=f7eea8c235dea6699a21c7b26c218e6c0dc1bf95;hp=69854373bd16a3c8c603a3a6a0d22687a1f199d3;hpb=7386dd1e8a659616e1dab1b013986e4ba00a4835;p=oweals%2Fbusybox.git diff --git a/Makefile b/Makefile index 69854373b..15bb660d1 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ VERSION = 1 -PATCHLEVEL = 19 +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 @@ -963,10 +972,16 @@ CLEAN_FILES += busybox busybox_unstripped* busybox.links \ # Directories & files removed with 'make mrproper' 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 \ + include/usage.h \ applets/usage \ .kernelrelease Module.symvers tags TAGS cscope* \ busybox_old @@ -1008,8 +1023,8 @@ $(mrproper-dirs): mrproper: clean archmrproper $(mrproper-dirs) $(call cmd,rmdirs) $(call cmd,rmfiles) - @find -name Config.src | sed 's/.src$$/.in/' | xargs -r rm -f - @find -name Kbuild.src | sed 's/.src$$//' | xargs -r rm -f + @find . -name Config.src | sed 's/.src$$/.in/' | xargs -r rm -f + @find . -name Kbuild.src | sed 's/.src$$//' | xargs -r rm -f # distclean # @@ -1038,7 +1053,7 @@ rpm: FORCE # Brief documentation of the typical targets used # --------------------------------------------------------------------------- -boards := $(wildcard $(srctree)/arch/$(ARCH)/configs/*_defconfig) +boards := $(wildcard $(srctree)/configs/*_defconfig) boards := $(notdir $(boards)) -include $(srctree)/Makefile.help @@ -1127,15 +1142,6 @@ clean: $(clean-dirs) -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \ -type f -print | xargs rm -f -help: - @echo ' Building external modules.' - @echo ' Syntax: make -C path/to/kernel/src M=$$PWD target' - @echo '' - @echo ' modules - default target, build the module(s)' - @echo ' modules_install - install the module' - @echo ' clean - remove generated files in module directory only' - @echo '' - # Dummies... PHONY += prepare scripts prepare: ; @@ -1169,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