Я работаю над проектом C XYZ. Этот проект зависит от другого C-проекта ABC. Итак, чтобы сделать make для XYZ, мы должны сначала сделать make для ABC. Для этого я сначала добавил ABC как подмодуль в XYZ, как показано ниже
git submodule add git@github.com:username/ABC.git
git add .gitmodules
git add ABC
git push
Итак, чтобы построить мой проект XYZ, сначала нужно собрать ABC. Итак, мой make-файл в проекте XYZ выглядит следующим образом:
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
на правильный путь, чтобы он всегда указывал на правильную папку.