我正在研究C项目XYZ。该项目依赖于另一个C项目ABC。因此,为了制作XYZ,我们必须首先制作ABC。为此,我首先将ABC作为子模块添加到XYZ,如下所示
git submodule add git@github.com:username/ABC.git
git add .gitmodules
git add ABC
git push
因此,为了构建我的XYZ项目,需要首先构建ABC。所以我在XYZ项目中的makefile如下所示:
ifndef PRT
PRT=ABC
export PRT
endif
.PHONY: project_ project_clean project_check clean XYZ_package package check
project_ project_clean project_check:
@echo "(MAKE) -C src -s $(@:project_%=%)"
@$(MAKE) -C src -s $(@:project_%=%)
clean: project_clean
XYZ_package package:
./scripts/package.sh
check: project_check
这在本地工作,但是当我尝试在github中构建它时,它失败。因为在github中,文件夹是XYZ @ 324354
。它显示如下错误:
(MAKE) -C src -s
make: *** ABC: No such file or directory. Stop.
make[1]: *** [all] Error 2
make: *** [project_] Error 2
如何使PRT variable
设置为更正路径,以便始终指向正确的文件夹。
答案 0 :(得分:0)
你所要求的并不是很清楚(如果你提供一个显示真实目录名称等的具体例子,会更简单。)
但我认为,基于你的评论,这样的事情可能有效:
ifndef PRT
PRT := $(wildcard sub-project*)
endif
export PRT