В конечном итоге вам нужно определить переменную и выполнить компилятор в списке оболочки или даже в скрипте, а не в отдельных make
командах. Однако есть несколько уточнений, которые вы можете добавить. Вы можете рассказать make
о скрипте:
maintarget: script.sh blah.c
source script.sh; g++ blah.c
script.sh:
setup include script here
Другое дело, просто выполнить все эти вещи в одной оболочке
maintarget: blah.c
run this; run that; run the other thing; g++ blah.c
Я полагаю, что во всех make
версиях будет запущен список ;
в одной и той же оболочке, но вы всегда можете принудительно запустить подоболочку с помощью (list)
или вызвав специально сценарий оболочки в качестве оболочки команд компилятора.
Не забудьте, что соответствующие цели зависят от ваших сценариев. Кстати, некоторые make
версии (pmake
aka bsd make
) могут выполнять команду при определении переменной make, и все версии make
затем экспортируют их. Но я не думаю, что gmake
может это сделать.