Параметр для правила в Makefile
мне нужно сделать Makefile, и он должен иметь run
правило. Однако для выполнения требуются некоторые параметры.
кто-нибудь знает, как я могу передавать аргументы при запуске правила в файле Makefile? Я хочу иметь возможность запускать run
правило с аргументами, введя make run foo bar
.
Я пробовал это, но это не сработало:
run:
make compile
./scripts/runTrips $PLACES $OUT $VERS
параметры, которые я хочу предоставить, являются первым и вторым.
2 ответов
при передаче параметров в команду make ссылайтесь на них, как на другие внутренние переменные make.
Если ваш Makefile выглядит так:
run:
script $(param1) $(param2)
вы можете вызвать его со следующим синтаксисом:
$> make run param1=20 param2=30
и должен вызвать скрипт так:
script 20 30
Make сам не предоставляет передаваемые аргументы, как для скриптов. Обычно make используется следующим образом: вы настраиваете проект, чем запускаете просто "make". Настройка может быть выполнена путем запуска сценария оболочки "configure". Этот скрипт-тот, в который можно передавать параметры. Например:
./configure param1 param2
make run
configure script должен анализировать параметры и записывать их в config.МК. config.mk должен содержать следующее:
PARAM1 = val1
PARAM2 = val2
ваш Makefile должен включать config.МК:
TOP = .
include $(TOP)/config.mk
run:
make compile
./scripts/runTrips $(PARAM1) $(PARAM2) $(PLACES) $(OUT) $(VERS)
в вашем скрипте "настройка" вы также можете проверить параметры на правильность и сделать другие проверки и вычисления.