mk: factorize config rules
Error message for missing template is factorized in notemplate rule. RTE_OUTPUT directory is marked as order-only prerequisite. RTE_OUTPUT is always created after having been cleaned for rte_config.h. Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by Olivier Matz <olivier.matz@6wind.com>
This commit is contained in:
parent
6820e8efef
commit
3c53c0945e
@ -51,23 +51,28 @@ INSTALL_TARGETS := $(addsuffix _install,$(INSTALL_CONFIGS))
|
||||
showconfigs:
|
||||
@$(foreach CONFIG, $(INSTALL_CONFIGS), echo $(CONFIG);)
|
||||
|
||||
.PHONY: config
|
||||
ifeq ($(RTE_CONFIG_TEMPLATE),)
|
||||
config:
|
||||
.PHONY: notemplate
|
||||
notemplate:
|
||||
@printf "No template specified. "
|
||||
@echo "Use T=template among the following list:"
|
||||
@$(MAKE) -rR showconfigs | sed 's,^, ,'
|
||||
|
||||
.PHONY: config
|
||||
ifeq ($(RTE_CONFIG_TEMPLATE),)
|
||||
config: notemplate
|
||||
else
|
||||
config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
|
||||
$(Q)$(MAKE) depdirs
|
||||
@echo "Configuration done"
|
||||
endif
|
||||
|
||||
$(RTE_OUTPUT):
|
||||
$(Q)mkdir -p $@
|
||||
|
||||
ifdef NODOTCONF
|
||||
$(RTE_OUTPUT)/.config: ;
|
||||
else
|
||||
$(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE
|
||||
@[ -d $(RTE_OUTPUT) ] || mkdir -p $(RTE_OUTPUT)
|
||||
$(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE | $(RTE_OUTPUT)
|
||||
$(Q)if [ "$(RTE_CONFIG_TEMPLATE)" != "" -a -f "$(RTE_CONFIG_TEMPLATE)" ]; then \
|
||||
$(CPP) -undef -P -x assembler-with-cpp \
|
||||
-fdirectives-only -ffreestanding \
|
||||
@ -78,11 +83,7 @@ $(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE
|
||||
fi ; \
|
||||
rm -f $(RTE_OUTPUT)/.config_tmp ; \
|
||||
else \
|
||||
echo -n "No template specified. Use T=template " ; \
|
||||
echo "among the following list:" ; \
|
||||
for t in $(INSTALL_CONFIGS); do \
|
||||
echo " $$t" ; \
|
||||
done ; \
|
||||
$(MAKE) -rRf $(RTE_SDK)/mk/rte.sdkconfig.mk notemplate; \
|
||||
fi
|
||||
endif
|
||||
|
||||
@ -92,8 +93,7 @@ SDK_RELPATH=$(shell $(RTE_SDK)/scripts/relpath.sh $(abspath $(RTE_SRCDIR)) \
|
||||
$(abspath $(RTE_OUTPUT)))
|
||||
OUTPUT_RELPATH=$(shell $(RTE_SDK)/scripts/relpath.sh $(abspath $(RTE_OUTPUT)) \
|
||||
$(abspath $(RTE_SRCDIR)))
|
||||
$(RTE_OUTPUT)/Makefile:
|
||||
@[ -d $(RTE_OUTPUT) ] || mkdir -p $(RTE_OUTPUT)
|
||||
$(RTE_OUTPUT)/Makefile: | $(RTE_OUTPUT)
|
||||
$(Q)$(RTE_SDK)/scripts/gen-build-mk.sh $(SDK_RELPATH) $(OUTPUT_RELPATH) \
|
||||
> $(RTE_OUTPUT)/Makefile
|
||||
|
||||
@ -103,7 +103,7 @@ $(RTE_OUTPUT)/include/rte_config.h: $(RTE_OUTPUT)/.config
|
||||
$(Q)rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \
|
||||
$(RTE_OUTPUT)/hostapp $(RTE_OUTPUT)/lib \
|
||||
$(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod $(RTE_OUTPUT)/build
|
||||
@[ -d $(RTE_OUTPUT)/include ] || mkdir -p $(RTE_OUTPUT)/include
|
||||
$(Q)mkdir -p $(RTE_OUTPUT)/include
|
||||
$(Q)$(RTE_SDK)/scripts/gen-config-h.sh $(RTE_OUTPUT)/.config \
|
||||
> $(RTE_OUTPUT)/include/rte_config.h
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user