X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Makefile;h=b7afaa9e7d2bbe1386479225c18daa9d1f64b497;hb=b103fb10cfb09902df1581efc81ea386e63c71b5;hp=da8f7d7b684660d37e683e6aac1a9c260826106f;hpb=7fb68f199f037cb69363c8df5c934a27adc699f7;p=oweals%2Fbusybox.git diff --git a/Makefile b/Makefile index da8f7d7b6..b7afaa9e7 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ VERSION = 1 -PATCHLEVEL = 17 +PATCHLEVEL = 18 SUBLEVEL = 0 EXTRAVERSION = .git NAME = Unnamed @@ -358,11 +358,16 @@ scripts_basic: # To avoid any implicit rule to kick in, define an empty command. 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) + $(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 +applets_dir: scripts_basic gen_build_files $(Q)$(MAKE) $(build)=applets applets/%: applets_dir ; @@ -377,11 +382,6 @@ ifneq ($(KBUILD_SRC),) $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) endif -# This target generates Kbuild's and Config.in's from *.c files -PHONY += gen_build_files -gen_build_files: - $(Q)$(srctree)/scripts/gen_build_files.sh $(srctree) $(objtree) - # To make sure we do not include .config for any of the *config targets # catch them early, and hand them over to scripts/kconfig/Makefile # It is allowed to specify more targets when calling make, including @@ -433,7 +433,12 @@ ifeq ($(config-targets),1) -include $(srctree)/arch/$(ARCH)/Makefile export KBUILD_DEFCONFIG -config %config: scripts_basic outputmakefile gen_build_files FORCE +config: scripts_basic outputmakefile gen_build_files FORCE + $(Q)mkdir -p include + $(Q)$(MAKE) $(build)=scripts/kconfig $@ + $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease + +%config: scripts_basic outputmakefile gen_build_files FORCE $(Q)mkdir -p include $(Q)$(MAKE) $(build)=scripts/kconfig $@ $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease @@ -446,7 +451,7 @@ else ifeq ($(KBUILD_EXTMOD),) # Additional helpers built in scripts/ # Carefully list dependencies so we do not try to build scripts twice -# in parrallel +# in parallel PHONY += scripts scripts: gen_build_files scripts_basic include/config/MARKER $(Q)$(MAKE) $(build)=$(@) @@ -509,9 +514,11 @@ include $(srctree)/Makefile.flags # with it and forgot to run make oldconfig. # If kconfig.d is missing then we are probarly in a cleaned tree so # we execute the config step to be sure to catch updated Kconfig files -include/autoconf.h: .kconfig.d .config +include/autoconf.h: .kconfig.d .config $(wildcard $(srctree)/*/*.c) $(wildcard $(srctree)/*/*/*.c) | gen_build_files $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig +include/usage.h: gen_build_files + else # Dummy target needed, because used as prerequisite include/autoconf.h: ; @@ -835,7 +842,7 @@ 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 + cmd_gen_bbconfigopts = $(srctree)/scripts/mkconfigs include/bbconfigopts.h include/bbconfigopts_bz2.h quiet_cmd_split_autoconf = SPLIT include/autoconf.h -> include/config/* cmd_split_autoconf = scripts/basic/split-include include/autoconf.h include/config #bbox# piggybacked generation of few .h files @@ -1001,6 +1008,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 # distclean # @@ -1281,9 +1290,13 @@ endif $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) # Modules -/ %/: prepare scripts FORCE +%/: prepare scripts FORCE + $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ + $(build)=$(build-dir) +/: prepare scripts FORCE $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ $(build)=$(build-dir) + %.ko: prepare scripts FORCE $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ $(build)=$(build-dir) $(@:.ko=.o)