Makefile, который передает свои параметры командной строки в другой скрипт - PullRequest
1 голос
/ 24 октября 2011

В проекте у меня есть скрипт под названием make.sh, который собирает проект и выполняет некоторые другие вещи. Пока все работает хорошо.

Тогда просто из любопытства я попытался создать Makefile, который просто передавал свои параметры командной строки этому сценарию, чтобы я мог вызвать его сделать снимок вместо ./make.sh снимок

это тот Makefile, который я сейчас использую

.PHONY: snapshot

%: 
    ./make.sh $@

snapshot: 
    ./make.sh snapshot

Но у этого подхода есть некоторые проблемы, я не могу передать "build" в качестве параметра, потому что у меня есть каталог "Build" (используется SCons), и я не могу передать второй параметр для передачи в сценарий, как: сделать загрузку 192.168.1.10 поскольку make интерпретирует это как две разные цели ...

Есть ли способ, которым я могу сделать это с Makefile?

1 Ответ

3 голосов
/ 24 октября 2011

Да, вы можете сделать это:

%:all
    @true

all:
    ./make.sh $(MAKECMDGOALS)

, но это злоупотребление Make.Идея состоит в том, что Make должен интерпретировать свои аргументы как набор целей, а не упорядоченный список общих аргументов.Возможно, вам следует использовать другой инструмент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...