gustavonihei commented on a change in pull request #5069: URL: https://github.com/apache/incubator-nuttx/pull/5069#discussion_r774779924
########## File path: tools/Makefile.unix ########## @@ -254,72 +254,140 @@ tools/cnvwindeps$(HOSTEXEEXT): # Link the arch/<arch-name>/include directory to include/arch -include/arch: .clean_context - @echo "LN: include/arch to $(ARCH_DIR)/include" - $(Q) $(DIRLINK) $(TOPDIR)/$(ARCH_DIR)/include include/arch - $(Q) touch $@ +include/arch: + @echo "LN: $@ to $(ARCH_DIR)/include" + $(Q) $(DIRLINK) $(TOPDIR)/$(ARCH_DIR)/include $@ # Link the boards/<arch>/<chip>/<board>/include directory to include/arch/board -include/arch/board: include/arch - @echo "LN: include/arch/board to $(BOARD_DIR)/include" - $(Q) $(DIRLINK) $(BOARD_DIR)/include include/arch/board - $(Q) touch $@ +include/arch/board: | include/arch + @echo "LN: $@ to $(BOARD_DIR)/include" + $(Q) $(DIRLINK) $(BOARD_DIR)/include $@ -ifneq ($(BOARD_COMMON_DIR),) # Link the boards/<arch>/<chip>/common dir to arch/<arch-name>/src/board # Link the boards/<arch>/<chip>/<board>/src dir to arch/<arch-name>/src/board/board -$(ARCH_SRC)/board: .clean_context - @echo "LN: $(ARCH_SRC)/board to $(BOARD_COMMON_DIR)" - $(Q) $(DIRLINK) $(BOARD_COMMON_DIR) $(ARCH_SRC)/board - @echo "LN: $(ARCH_SRC)/board/board to $(BOARD_DIR)/src" - $(Q) $(DIRLINK) $(BOARD_DIR)/src $(ARCH_SRC)/board/board - $(Q) touch $@ +ifneq ($(BOARD_COMMON_DIR),) +ARCH_SRC_BOARD_SYMLINK=$(BOARD_COMMON_DIR) +ARCH_SRC_BOARD_BOARD_SYMLINK=$(BOARD_DIR)/src else -# Link the boards/<arch>/<chip>/<board>/src dir to arch/<arch-name>/src/board +ARCH_SRC_BOARD_SYMLINK=$(BOARD_DIR)/src +endif -$(ARCH_SRC)/board: .clean_context - @echo "LN: $(ARCH_SRC)/board to $(BOARD_DIR)/src" - $(Q) $(DIRLINK) $(BOARD_DIR)/src $(ARCH_SRC)/board - $(Q) touch $@ +ifneq ($(ARCH_SRC_BOARD_SYMLINK),) +$(ARCH_SRC)/board: + @echo "LN: $@ to $(ARCH_SRC_BOARD_SYMLINK)" + $(Q) $(DIRLINK) $(ARCH_SRC_BOARD_SYMLINK) $@ +endif + +ifneq ($(ARCH_SRC_BOARD_BOARD_SYMLINK),) +$(ARCH_SRC)/board/board: | $(ARCH_SRC)/board + @echo "LN: $@ to $(ARCH_SRC_BOARD_BOARD_SYMLINK)" + $(Q) $(DIRLINK) $(ARCH_SRC_BOARD_BOARD_SYMLINK) $@ endif # Link the boards/<arch>/<chip>/drivers dir to drivers/platform -drivers/platform: .clean_context - @echo "LN: $(TOPDIR)/drivers/platform to $(BOARD_DRIVERS_DIR)" - $(Q) $(DIRLINK) $(BOARD_DRIVERS_DIR) $(TOPDIR)/drivers/platform - $(Q) touch $@ +drivers/platform: + @echo "LN: $@ to $(BOARD_DRIVERS_DIR)" + $(Q) $(DIRLINK) $(BOARD_DRIVERS_DIR) $@ # Link arch/<arch-name>/src/<chip-name> to arch/<arch-name>/src/chip -$(ARCH_SRC)/chip: .clean_context ifeq ($(CONFIG_ARCH_CHIP_CUSTOM),y) - @echo "LN: $(ARCH_SRC)/chip to $(CHIP_DIR)" - $(Q) $(DIRLINK) $(CHIP_DIR) $(ARCH_SRC)/chip +ARCH_SRC_CHIP_SYMLINK_DIR=$(CHIP_DIR) else 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 +ARCH_SRC_CHIP_SYMLINK_DIR=$(TOPDIR)/$(ARCH_SRC)/$(CONFIG_ARCH_CHIP) +endif + +ifneq ($(ARCH_SRC_CHIP_SYMLINK_DIR),) +$(ARCH_SRC)/chip: + @echo "LN: $@ to $(ARCH_SRC_CHIP_SYMLINK_DIR)" + $(Q) $(DIRLINK) $(ARCH_SRC_CHIP_SYMLINK_DIR) $@ endif - $(Q) cp -f $(CHIP_KCONFIG) $(TOPDIR)/arch/dummy/Kconfig - $(Q) touch $@ # Link arch/<arch-name>/include/<chip-name> to include/arch/chip -include/arch/chip: include/arch ifeq ($(CONFIG_ARCH_CHIP_CUSTOM),y) - @echo "LN: include/arch/chip to $(CHIP_DIR)/include" - $(Q) $(DIRLINK) $(CHIP_DIR)/include include/arch/chip +INCLUDE_ARCH_CHIP_SYMLINK_DIR=$(CHIP_DIR)/include else 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 +INCLUDE_ARCH_CHIP_SYMLINK_DIR=$(TOPDIR)/$(ARCH_INC)/$(CONFIG_ARCH_CHIP) +endif + +ifneq ($(INCLUDE_ARCH_CHIP_SYMLINK_DIR),) +include/arch/chip: + @echo "LN: $@ to $(INCLUDE_ARCH_CHIP_SYMLINK_DIR)" + $(DIRLINK) $(INCLUDE_ARCH_CHIP_SYMLINK_DIR) $@ +endif + +# Copy $(CHIP_KCONFIG) to arch/dummy/Kconfig + +arch/dummy/Kconfig: + @echo "CP: $@ to $(CHIP_KCONFIG)" + $(Q) cp -f $(CHIP_KCONFIG) $@ + +DIRLINKS_SYMLINK = \ + include/arch \ + include/arch/board \ + drivers/platform \ + +DIRLINKS_FILE = \ + arch/dummy/Kconfig \ + +ifneq ($(INCLUDE_ARCH_CHIP_SYMLINK_DIR),) +DIRLINKS_SYMLINK += include/arch/chip +endif + +ifneq ($(ARCH_SRC_CHIP_SYMLINK_DIR),) +DIRLINKS_SYMLINK += $(ARCH_SRC)/chip endif + +ifneq ($(ARCH_SRC_BOARD_SYMLINK),) +DIRLINKS_SYMLINK += $(ARCH_SRC)/board +endif + +ifneq ($(ARCH_SRC_BOARD_BOARD_SYMLINK),) +DIRLINKS_SYMLINK += $(ARCH_SRC)/board/board +endif + +DIRLINKS_EXTERNAL_DIRS = boards + +ifneq ($(APPDIR),) +DIRLINKS_EXTERNAL_DIRS += $(APPDIR) +endif + +# Generate a pattern to build $(DIRLINKS_EXTERNAL_DIRS) + +DIRLINKS_EXERNAL_DEP = $(patsubst %,%/.dirlinks,$(DIRLINKS_EXTERNAL_DIRS)) +DIRLINKS_FILE += $(DIRLINKS_EXERNAL_DEP) + +dirlinks: $(DIRLINKS_FILE) | $(DIRLINKS_SYMLINK) + +# Pattern rule for $(DIRLINKS_EXERNAL_DEP) Review comment: ```suggestion DIRLINKS_EXTERNAL_DEP = $(patsubst %,%/.dirlinks,$(DIRLINKS_EXTERNAL_DIRS)) DIRLINKS_FILE += $(DIRLINKS_EXTERNAL_DEP) dirlinks: $(DIRLINKS_FILE) | $(DIRLINKS_SYMLINK) # Pattern rule for $(DIRLINKS_EXTERNAL_DEP) ``` Minor typo -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org