我刚刚从Windows环境到Linux移动,并已要求更新项目 - 仍然在学习,但建议将是有益的! 我有一个目录结构:
RootMakefile.mk
.
.--\GUI1 (Folder)
.......|--config(Folder)
.......|--dataprep(Folder)
...............|---makeVar1.mk
.--\GUI2 (Folder)
.......|--config(Folder)
.......|--dataprep(Folder)
...............|....makeVar2.mk.
和makeVar1.mk,makeVar2.mk都只有变量更改路径值类似:
GUI1_ALL:=GUI1/GUI1_generated.txt
GUI2_ALL:=GUI2/GUI2_generated.txt
我试图让只有一个生成文件在根目录,以便新的GUI文件夹,不需要增加新的makefile文件。
我曾尝试:我改变了根生成文件如下:
TARGET_FILE := GuiDetails.rb
ACTIVE_GUIS := $(wildcard GUI*/$(TARGET_FILE)))
GUIS_OF_INTEREST := $(dir $(ACTIVE_GUIS)))
DATAPREP := dataprep
GUIS:= $(patsubst %/,%,$(GUIS_OF_INTEREST))
$(warning The following SMA paths have guis $(GUIS))
$(foreach GUIS, $(GUIS), $(eval $(call UPDATE_GUI_PATH, $(GUIS), $(DATAPREP))))
$(foreach GUIDEWAYS, $(GUIDEWAYS), $(eval $(call UPDATE_PATH, $(GUIDEWAYS), $(DATAPREP)))))
define UPDATE_PATH
GUIX_ALL:= $(ROOT)/COMMON/$(1)/$(2)
$(warning GUI1_ALL is set to $(GUIX_ALL))
endef
但价值不显示如预期,输出:
GUIX_ALL is set to
GUIX_ALL is set to ./COMMON/GUI1/DATAPREP
为什么转移?