Ваши make-файлы должны работать.Я предлагаю вам попробовать следующее:
Попробуйте запустить
set_A_vars.sh
из командной строки.
Убедитесь, что заданные переменные установлены.
make -f MakefileA
, чтобы убедиться, что
MakefileA
действительно хорошо работает с набором этих переменных.
Попробуйте правило в
MakefileB
, которое проверит одну из переменных, скажем
FOO
:
test_var:
@echo FOO is $(FOO)
Это должно работать, если вы только что запустили set_vars.sh
.Если это не так, то есть пара вещей, которые могут быть неправильными ...
Теперь очистите переменные (включая
FOO
) и попробуйте это правило в
MakefileB
:
set_vars_and_test_them:
./set_A_vars.sh && echo FOO is $(FOO)
Теперь соберите все вместе:
A_debug:
./set_A_vars.sh && make -f MakefileA DEBUG=1
(я рекомендую не называть make-файл "A".)