add a command for printing a cleaned up make target database - will be used to analyze package dependencies at some point
SVN-Revision: 22871
This commit is contained in:
		
							
								
								
									
										11
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								Makefile
									
									
									
									
									
								
							| @@ -46,9 +46,8 @@ $(package/stamp-install): $(package/stamp-compile) | ||||
| $(package/stamp-rootfs-prepare): $(package/stamp-install) | ||||
| $(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare) | ||||
|  | ||||
| $(BUILD_DIR)/.prepared: Makefile | ||||
| 	@mkdir -p $$(dirname $@) | ||||
| 	@touch $@ | ||||
| printdb: | ||||
| 	@true | ||||
|  | ||||
| prepare: $(target/stamp-compile) | ||||
|  | ||||
| @@ -60,6 +59,11 @@ dirclean: clean | ||||
| 	rm -rf $(STAGING_DIR) $(STAGING_DIR_HOST) $(STAGING_DIR_TOOLCHAIN) $(TOOLCHAIN_DIR) $(BUILD_DIR_HOST) $(BUILD_DIR_TOOLCHAIN) | ||||
| 	rm -rf $(TMP_DIR) | ||||
|  | ||||
| ifndef DUMP_TARGET_DB | ||||
| $(BUILD_DIR)/.prepared: Makefile | ||||
| 	@mkdir -p $$(dirname $@) | ||||
| 	@touch $@ | ||||
|  | ||||
| tmp/.prereq_packages: .config | ||||
| 	unset ERROR; \ | ||||
| 	for package in $(sort $(prereq-y) $(prereq-m)); do \ | ||||
| @@ -70,6 +74,7 @@ tmp/.prereq_packages: .config | ||||
| 		false; \ | ||||
| 	fi | ||||
| 	touch $@ | ||||
| endif | ||||
|  | ||||
| # check prerequisites before starting to build | ||||
| prereq: $(target/stamp-prereq) tmp/.prereq_packages | ||||
|   | ||||
| @@ -39,16 +39,18 @@ define subdir | ||||
| 			+$(if $(BUILD_LOG),set -o pipefail;) $$(SUBMAKE) -C $(1)/$(bd) $(target) BUILD_VARIANT="$(filter-out __default,$(variant))" $(if $(BUILD_LOG),SILENT= 2>&1 | tee $(BUILD_LOG_DIR)/$(1)/$(bd)/$(target).txt) $(if $(findstring $(bd),$($(1)/builddirs-ignore-$(target))), || $(call MESSAGE,   ERROR: $(1)/$(bd) failed to build$(if $(filter-out __default,$(variant)), (build variant: $(variant))).)) | ||||
|         ) | ||||
|         $$(if $(call debug,$(1)/$(bd),v),,.SILENT: $(1)/$(bd)/$(target)) | ||||
|  | ||||
|       $(if $(DUMP_TARGET_DB),, | ||||
|         # legacy targets | ||||
|         $(call warn_eval,$(1)/$(bd),l,T,$(1)/$(bd)-$(target): $(1)/$(bd)/$(target)) | ||||
|         # aliases | ||||
|         $(if $(call diralias,$(bd)),$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(call diralias,$(bd))/$(target): $(1)/$(bd)/$(target))) | ||||
| 	  ) | ||||
| 	) | ||||
|   ) | ||||
|   $(foreach target,$(SUBTARGETS),$(call subtarget,$(1),$(target))) | ||||
| endef | ||||
|  | ||||
| ifndef DUMP_TARGET_DB | ||||
| # Parameters: <subdir> <name> <target> <depends> <config options> <stampfile location> | ||||
| define stampfile | ||||
|   $(1)/stamp-$(3):=$(if $(6),$(6),$(STAGING_DIR))/stamp/.$(2)_$(3)$(if $(5),_$(call confvar,$(5))) | ||||
| @@ -67,3 +69,4 @@ define stampfile | ||||
| 	@rm -f $$($(1)/stamp-$(3)) | ||||
|  | ||||
| endef | ||||
| endif | ||||
|   | ||||
| @@ -114,6 +114,9 @@ tmp/.prereq-build: include/prereq-build.mk | ||||
| 	} | ||||
| 	touch $@ | ||||
|  | ||||
| printdb: FORCE | ||||
| 	@$(_SINGLE)$(NO_TRACE_MAKE) -p $@ V=99 DUMP_TARGET_DB=1 2>&1 | ||||
|  | ||||
| download: .config FORCE | ||||
| 	@+$(SUBMAKE) tools/download | ||||
| 	@+$(SUBMAKE) toolchain/download | ||||
|   | ||||
| @@ -763,6 +763,7 @@ sub gen_package_mk() { | ||||
| 		next unless $cmds; | ||||
| 		print <<EOF | ||||
|  | ||||
| ifndef DUMP_TARGET_DB | ||||
| \$(TARGET_DIR)/etc/uci-defaults/$preconfig: FORCE | ||||
| 	( \\ | ||||
| $cmds \\ | ||||
| @@ -771,6 +772,8 @@ $cmds \\ | ||||
| ifneq (\$(IMAGEOPT)\$(CONFIG_IMAGEOPT),) | ||||
|   package/preconfig: \$(TARGET_DIR)/etc/uci-defaults/$preconfig | ||||
| endif | ||||
| endif | ||||
|  | ||||
| EOF | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -51,6 +51,7 @@ ifdef CONFIG_GCC_VERSION_LLVM | ||||
|   $(curdir)/gcc/minimal/compile += $(curdir)/llvm/install | ||||
| endif | ||||
|  | ||||
| ifndef DUMP_TARGET_DB | ||||
| ifneq ($(ARCH),) | ||||
|   $(TOOLCHAIN_DIR)/info.mk: .config | ||||
| 	@for dir in $(TOOLCHAIN_DIR); do ( \ | ||||
| @@ -62,6 +63,7 @@ ifneq ($(ARCH),) | ||||
| 	@grep GCC_VERSION $@ >/dev/null 2>&1 || $(INSTALL_DATA) $(TOPDIR)/toolchain/info.mk $@ | ||||
| 	@touch $@ | ||||
| endif | ||||
| endif | ||||
|  | ||||
| # prerequisites for the individual targets | ||||
| $(curdir)/ := .config prereq | ||||
| @@ -69,7 +71,9 @@ $(curdir)//prepare = $(STAGING_DIR)/.prepared $(TOOLCHAIN_DIR)/info.mk | ||||
| $(curdir)//compile = $(1)/prepare | ||||
| $(curdir)//install = $(1)/compile | ||||
|  | ||||
| ifndef DUMP_TARGET_DB | ||||
| $(TOOLCHAIN_DIR)/stamp/.gcc-initial_installed: | ||||
| endif | ||||
|  | ||||
| $(eval $(call stampfile,$(curdir),toolchain,install,$(TOOLCHAIN_DIR)/stamp/.gcc-initial_installed,,$(TOOLCHAIN_DIR))) | ||||
| $(eval $(call subdir,$(curdir))) | ||||
|   | ||||
| @@ -54,6 +54,7 @@ $(curdir)/upslug2/compile := $(curdir)/automake/install | ||||
| $(curdir)/builddirs := $(tools-y) $(tools-dep) $(tools-) | ||||
| $(curdir)/builddirs-default := $(tools-y) | ||||
|  | ||||
| ifndef DUMP_TARGET_DB | ||||
| define PrepareStaging | ||||
| 	@for dir in $(1); do ( \ | ||||
| 		set -x; \ | ||||
| @@ -84,6 +85,7 @@ $(STAGING_DIR_HOST)/bin/$(1): $(STAGING_DIR)/.prepared | ||||
| 	}; ln -s "$$$$FILE" "$$@" | ||||
|  | ||||
| endef | ||||
| endif | ||||
|  | ||||
| $(eval $(call PrepareCommand,find,gfind find)) | ||||
| $(eval $(call PrepareCommand,md5sum,md5sum $(SCRIPT_DIR)/md5sum)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau