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:
parent
ea70b60a07
commit
00d1e599d7
11
Makefile
11
Makefile
@ -46,9 +46,8 @@ $(package/stamp-install): $(package/stamp-compile)
|
|||||||
$(package/stamp-rootfs-prepare): $(package/stamp-install)
|
$(package/stamp-rootfs-prepare): $(package/stamp-install)
|
||||||
$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare)
|
$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare)
|
||||||
|
|
||||||
$(BUILD_DIR)/.prepared: Makefile
|
printdb:
|
||||||
@mkdir -p $$(dirname $@)
|
@true
|
||||||
@touch $@
|
|
||||||
|
|
||||||
prepare: $(target/stamp-compile)
|
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 $(STAGING_DIR) $(STAGING_DIR_HOST) $(STAGING_DIR_TOOLCHAIN) $(TOOLCHAIN_DIR) $(BUILD_DIR_HOST) $(BUILD_DIR_TOOLCHAIN)
|
||||||
rm -rf $(TMP_DIR)
|
rm -rf $(TMP_DIR)
|
||||||
|
|
||||||
|
ifndef DUMP_TARGET_DB
|
||||||
|
$(BUILD_DIR)/.prepared: Makefile
|
||||||
|
@mkdir -p $$(dirname $@)
|
||||||
|
@touch $@
|
||||||
|
|
||||||
tmp/.prereq_packages: .config
|
tmp/.prereq_packages: .config
|
||||||
unset ERROR; \
|
unset ERROR; \
|
||||||
for package in $(sort $(prereq-y) $(prereq-m)); do \
|
for package in $(sort $(prereq-y) $(prereq-m)); do \
|
||||||
@ -70,6 +74,7 @@ tmp/.prereq_packages: .config
|
|||||||
false; \
|
false; \
|
||||||
fi
|
fi
|
||||||
touch $@
|
touch $@
|
||||||
|
endif
|
||||||
|
|
||||||
# check prerequisites before starting to build
|
# check prerequisites before starting to build
|
||||||
prereq: $(target/stamp-prereq) tmp/.prereq_packages
|
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 $(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 $(call debug,$(1)/$(bd),v),,.SILENT: $(1)/$(bd)/$(target))
|
||||||
|
$(if $(DUMP_TARGET_DB),,
|
||||||
# legacy targets
|
# legacy targets
|
||||||
$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(bd)-$(target): $(1)/$(bd)/$(target))
|
$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(bd)-$(target): $(1)/$(bd)/$(target))
|
||||||
# aliases
|
# aliases
|
||||||
$(if $(call diralias,$(bd)),$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(call diralias,$(bd))/$(target): $(1)/$(bd)/$(target)))
|
$(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)))
|
$(foreach target,$(SUBTARGETS),$(call subtarget,$(1),$(target)))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
ifndef DUMP_TARGET_DB
|
||||||
# Parameters: <subdir> <name> <target> <depends> <config options> <stampfile location>
|
# Parameters: <subdir> <name> <target> <depends> <config options> <stampfile location>
|
||||||
define stampfile
|
define stampfile
|
||||||
$(1)/stamp-$(3):=$(if $(6),$(6),$(STAGING_DIR))/stamp/.$(2)_$(3)$(if $(5),_$(call confvar,$(5)))
|
$(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))
|
@rm -f $$($(1)/stamp-$(3))
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
endif
|
||||||
|
@ -114,6 +114,9 @@ tmp/.prereq-build: include/prereq-build.mk
|
|||||||
}
|
}
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
|
printdb: FORCE
|
||||||
|
@$(_SINGLE)$(NO_TRACE_MAKE) -p $@ V=99 DUMP_TARGET_DB=1 2>&1
|
||||||
|
|
||||||
download: .config FORCE
|
download: .config FORCE
|
||||||
@+$(SUBMAKE) tools/download
|
@+$(SUBMAKE) tools/download
|
||||||
@+$(SUBMAKE) toolchain/download
|
@+$(SUBMAKE) toolchain/download
|
||||||
|
@ -763,6 +763,7 @@ sub gen_package_mk() {
|
|||||||
next unless $cmds;
|
next unless $cmds;
|
||||||
print <<EOF
|
print <<EOF
|
||||||
|
|
||||||
|
ifndef DUMP_TARGET_DB
|
||||||
\$(TARGET_DIR)/etc/uci-defaults/$preconfig: FORCE
|
\$(TARGET_DIR)/etc/uci-defaults/$preconfig: FORCE
|
||||||
( \\
|
( \\
|
||||||
$cmds \\
|
$cmds \\
|
||||||
@ -771,6 +772,8 @@ $cmds \\
|
|||||||
ifneq (\$(IMAGEOPT)\$(CONFIG_IMAGEOPT),)
|
ifneq (\$(IMAGEOPT)\$(CONFIG_IMAGEOPT),)
|
||||||
package/preconfig: \$(TARGET_DIR)/etc/uci-defaults/$preconfig
|
package/preconfig: \$(TARGET_DIR)/etc/uci-defaults/$preconfig
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,7 @@ ifdef CONFIG_GCC_VERSION_LLVM
|
|||||||
$(curdir)/gcc/minimal/compile += $(curdir)/llvm/install
|
$(curdir)/gcc/minimal/compile += $(curdir)/llvm/install
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifndef DUMP_TARGET_DB
|
||||||
ifneq ($(ARCH),)
|
ifneq ($(ARCH),)
|
||||||
$(TOOLCHAIN_DIR)/info.mk: .config
|
$(TOOLCHAIN_DIR)/info.mk: .config
|
||||||
@for dir in $(TOOLCHAIN_DIR); do ( \
|
@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 $@
|
@grep GCC_VERSION $@ >/dev/null 2>&1 || $(INSTALL_DATA) $(TOPDIR)/toolchain/info.mk $@
|
||||||
@touch $@
|
@touch $@
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# prerequisites for the individual targets
|
# prerequisites for the individual targets
|
||||||
$(curdir)/ := .config prereq
|
$(curdir)/ := .config prereq
|
||||||
@ -69,7 +71,9 @@ $(curdir)//prepare = $(STAGING_DIR)/.prepared $(TOOLCHAIN_DIR)/info.mk
|
|||||||
$(curdir)//compile = $(1)/prepare
|
$(curdir)//compile = $(1)/prepare
|
||||||
$(curdir)//install = $(1)/compile
|
$(curdir)//install = $(1)/compile
|
||||||
|
|
||||||
|
ifndef DUMP_TARGET_DB
|
||||||
$(TOOLCHAIN_DIR)/stamp/.gcc-initial_installed:
|
$(TOOLCHAIN_DIR)/stamp/.gcc-initial_installed:
|
||||||
|
endif
|
||||||
|
|
||||||
$(eval $(call stampfile,$(curdir),toolchain,install,$(TOOLCHAIN_DIR)/stamp/.gcc-initial_installed,,$(TOOLCHAIN_DIR)))
|
$(eval $(call stampfile,$(curdir),toolchain,install,$(TOOLCHAIN_DIR)/stamp/.gcc-initial_installed,,$(TOOLCHAIN_DIR)))
|
||||||
$(eval $(call subdir,$(curdir)))
|
$(eval $(call subdir,$(curdir)))
|
||||||
|
@ -54,6 +54,7 @@ $(curdir)/upslug2/compile := $(curdir)/automake/install
|
|||||||
$(curdir)/builddirs := $(tools-y) $(tools-dep) $(tools-)
|
$(curdir)/builddirs := $(tools-y) $(tools-dep) $(tools-)
|
||||||
$(curdir)/builddirs-default := $(tools-y)
|
$(curdir)/builddirs-default := $(tools-y)
|
||||||
|
|
||||||
|
ifndef DUMP_TARGET_DB
|
||||||
define PrepareStaging
|
define PrepareStaging
|
||||||
@for dir in $(1); do ( \
|
@for dir in $(1); do ( \
|
||||||
set -x; \
|
set -x; \
|
||||||
@ -84,6 +85,7 @@ $(STAGING_DIR_HOST)/bin/$(1): $(STAGING_DIR)/.prepared
|
|||||||
}; ln -s "$$$$FILE" "$$@"
|
}; ln -s "$$$$FILE" "$$@"
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
endif
|
||||||
|
|
||||||
$(eval $(call PrepareCommand,find,gfind find))
|
$(eval $(call PrepareCommand,find,gfind find))
|
||||||
$(eval $(call PrepareCommand,md5sum,md5sum $(SCRIPT_DIR)/md5sum))
|
$(eval $(call PrepareCommand,md5sum,md5sum $(SCRIPT_DIR)/md5sum))
|
||||||
|
Loading…
Reference in New Issue
Block a user