preconfig target only executes if .config file changes

This commit is contained in:
Gregory Nutt 2016-06-07 08:58:48 -06:00
parent 8de50dc0cf
commit 33b876306d

View File

@ -78,12 +78,17 @@ BIN = libapps$(LIBEXT)
all: $(BIN) all: $(BIN)
.PHONY: import install context context_serialize context_rest .depdirs preconfig depend clean distclean .PHONY: import install context context_serialize context_rest .depdirs preconfig depend clean distclean
define MAKE_template
$(Q) $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" BIN_DIR="$(BIN_DIR)"
endef
define SDIR_template define SDIR_template
$(1)_$(2): $(1)_$(2):
$(Q) $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" BIN_DIR="$(BIN_DIR)" $(Q) $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" BIN_DIR="$(BIN_DIR)"
endef endef
$(foreach SDIR, $(BUILDIRS), $(eval $(call SDIR_template,$(SDIR),preconfig)))
$(foreach SDIR, $(CONFIGURED_APPS), $(eval $(call SDIR_template,$(SDIR),all))) $(foreach SDIR, $(CONFIGURED_APPS), $(eval $(call SDIR_template,$(SDIR),all)))
$(foreach SDIR, $(CONFIGURED_APPS), $(eval $(call SDIR_template,$(SDIR),install))) $(foreach SDIR, $(CONFIGURED_APPS), $(eval $(call SDIR_template,$(SDIR),install)))
$(foreach SDIR, $(CONFIGURED_APPS), $(eval $(call SDIR_template,$(SDIR),context))) $(foreach SDIR, $(CONFIGURED_APPS), $(eval $(call SDIR_template,$(SDIR),context)))
@ -116,7 +121,7 @@ context: context_serialize
$(TOPDIR)/.config: $(TOPDIR)/.config:
Kconfig: $(TOPDIR)/.config Kconfig: $(TOPDIR)/.config
$(foreach SDIR, $(BUILDIRS), $(SDIR)_preconfig) $(foreach SDIR, $(BUILDIRS), $(call MAKE_template,$(SDIR),preconfig))
$(Q) $(MKKCONFIG) $(Q) $(MKKCONFIG)
preconfig: Kconfig preconfig: Kconfig