From 430060e92e1fade7822f24135336dc26eb100b82 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Fri, 2 Jun 2017 13:06:09 -0600 Subject: [PATCH] Build system: Hook tools/initconfig into top-level Makefiles. --- Makefile.unix | 18 +++++++++++++----- Makefile.win | 18 +++++++++++++----- tools/initialconfig.c | 5 +++++ 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/Makefile.unix b/Makefile.unix index 811b0551e36..c33071a99d0 100644 --- a/Makefile.unix +++ b/Makefile.unix @@ -282,30 +282,38 @@ tools/cnvwindeps$(HOSTEXEEXT): # configured directories. Make.defs: + $(Q) echo "No Make.defs file found, creating one" echo "include $(TOPDIR)$(DELIM).config" > Make.defs echo "include $(TOPDIR)$(DELIM)tools$(DELIM)Config.mk" >> Make.defs +tools/initialconfig$(HOSTEXEEXT): + $(Q) $(MAKE) -C tools -f Makefile.host TOPDIR="$(TOPDIR)" initialconfig$(HOSTEXEEXT) + +.config: tools/initialconfig$(HOSTEXEEXT) + $(Q) echo "No .config file found, creating one" + $(Q) tools/initialconfig$(HOSTEXEEXT) + # Link the arch//include directory to include/arch -include/arch: Make.defs +include/arch: .config Make.defs @echo "LN: include/arch to $(ARCH_DIR)/include" $(Q) $(DIRLINK) $(TOPDIR)/$(ARCH_DIR)/include include/arch # Link the configs//include directory to include/arch/board -include/arch/board: include/arch Make.defs include/arch +include/arch/board: include/arch @echo "LN: include/arch/board to $(BOARD_DIR)/include" $(Q) $(DIRLINK) $(BOARD_DIR)/include include/arch/board # Link the configs//src dir to arch//src/board -$(ARCH_SRC)/board: Make.defs +$(ARCH_SRC)/board: @echo "LN: $(ARCH_SRC)/board to $(BOARD_DIR)/src" $(Q) $(DIRLINK) $(BOARD_DIR)/src $(ARCH_SRC)/board # Link arch//include/ to arch//include/chip -$(ARCH_SRC)/chip: Make.defs +$(ARCH_SRC)/chip: ifneq ($(CONFIG_ARCH_CHIP),) @echo "LN: $(ARCH_SRC)/chip to $(ARCH_SRC)/$(CONFIG_ARCH_CHIP)" $(Q) $(DIRLINK) $(TOPDIR)/$(ARCH_SRC)/$(CONFIG_ARCH_CHIP) $(ARCH_SRC)/chip @@ -313,7 +321,7 @@ endif # Link arch//src/ to arch//src/chip -include/arch/chip: include/arch Make.defs +include/arch/chip: include/arch ifneq ($(CONFIG_ARCH_CHIP),) @echo "LN: include/arch/chip to $(ARCH_INC)/$(CONFIG_ARCH_CHIP)" $(Q) $(DIRLINK) $(TOPDIR)/$(ARCH_INC)/$(CONFIG_ARCH_CHIP) include/arch/chip diff --git a/Makefile.win b/Makefile.win index 32d42772c62..98270482715 100644 --- a/Makefile.win +++ b/Makefile.win @@ -277,12 +277,20 @@ tools\mkdeps$(HOSTEXEEXT): # configured directories. Make.defs: + $(Q) echo "No Make.defs file found, creating one" echo "include $(TOPDIR)$(DELIM).config" > Make.defs echo "include $(TOPDIR)$(DELIM)tools$(DELIM)Config.mk" >> Make.defs +tools\initialconfig$(HOSTEXEEXT): + $(Q) $(MAKE) -C tools -f Makefile.host TOPDIR="$(TOPDIR)" initialconfig$(HOSTEXEEXT) + +.config: tools\initialconfig$(HOSTEXEEXT) + $(Q) echo "No .config file found, creating one" + $(Q) tools\initialconfig$(HOSTEXEEXT) + # Link the arch\\include directory to include\arch -include\arch: Make.defs +include\arch: .config Make.defs @echo LN: include\arch to $(ARCH_DIR)\include ifeq ($(CONFIG_WINDOWS_MKLINK),y) $(Q) /user:administrator mklink /d include\arch $(TOPDIR)\$(ARCH_DIR)\include @@ -293,7 +301,7 @@ endif # Link the configs\\include directory to include\arch\board -include\arch\board: include\arch Make.defs include\arch +include\arch\board: include\arch @echo LN: include\arch\board to $(BOARD_DIR)\include ifeq ($(CONFIG_WINDOWS_MKLINK),y) $(Q) /user:administrator mklink /d include\arch\board $(BOARD_DIR)\include @@ -304,7 +312,7 @@ endif # Link the configs\\src dir to arch\\src\board -$(ARCH_SRC)\board: Make.defs +$(ARCH_SRC)\board: @echo LN: $(ARCH_SRC)\board to $(BOARD_DIR)\src ifeq ($(CONFIG_WINDOWS_MKLINK),y) $(Q) /user:administrator mklink /d $(ARCH_SRC)\board $(BOARD_DIR)\src @@ -315,7 +323,7 @@ endif # Link arch\\include\ to arch\\include\chip -$(ARCH_SRC)\chip: Make.defs +$(ARCH_SRC)\chip: ifneq ($(CONFIG_ARCH_CHIP),) @echo LN: $(ARCH_SRC)\chip to $(ARCH_SRC)\$(CONFIG_ARCH_CHIP) ifeq ($(CONFIG_WINDOWS_MKLINK),y) @@ -328,7 +336,7 @@ endif # Link arch\\src\ to arch\\src\chip -include\arch\chip: include\arch Make.defs +include\arch\chip: include\arch ifneq ($(CONFIG_ARCH_CHIP),) @echo LN: include\arch\chip to $(ARCH_INC)\$(CONFIG_ARCH_CHIP) ifeq ($(CONFIG_WINDOWS_MKLINK),y) diff --git a/tools/initialconfig.c b/tools/initialconfig.c index bbfb194ef8a..7af4c5be21b 100644 --- a/tools/initialconfig.c +++ b/tools/initialconfig.c @@ -841,5 +841,10 @@ int main(int argc, char **argv) */ create_config(); + + /* TODO: Copy a Make.defs file from a configuration for the selected + * board that supports the selected MCU. + */ + return 0; }