Я использую Make-файлы.
Мне назвали цель run
который выполняет цель сборки. Упрощенный, это похоже на следующее:
prog: ....
...
run: prog
./prog
Расслабьтесь вниз. Я знаю, что это оригинально, но никакая потребность в овации стоя.
Теперь, мой вопрос - там, какой-либо путь состоит в том, чтобы передать аргументы? Так, чтобы
make run asdf --> ./prog asdf
make run the dog kicked the cat --> ./prog the dog kicked the cat
Спасибо!
Я не знаю, как сделать то, что вы хотите, но обходной путь может быть:
run: ./prog
./prog ${ARGS}
Тогда:
make ARGS="asdf" run
для стандартного make можно передавать аргументы, определяя макросы как этот
make run arg1=asdf
, а затем использовать их как этот
run: ./prog $(arg1)
etc
Нет. Взглянув на синтаксис на странице руководства для GNU make
make [-f makefile] [options] ... [target] ...
, вы можете указать несколько целей, следовательно, «нет» (по крайней мере, в именно так, как вы указали).
anon , run: ./prog
выглядит немного странно, так как правая часть должна быть целью, поэтому run: прога
выглядит лучше.
Я бы предложил просто:
.PHONY: run
run:
prog $(arg1)
и я хотел бы добавить, что аргументы могут быть переданы:
сделать arg1 = "asdf" run
arg1 = "asdf" make run