передача строк в файл make - PullRequest
0 голосов
/ 31 марта 2012

Я бы хотел сделать следующее.Я не знаю, возможно ли это сделать.Если возможно, я хотел бы знать, как это сделать.

make VAR1=arg1,arg2,arg3

в зависимости от аргумента. Я хотел бы передать переключатель в gcc.

Например,

если переданы arg1 и arg2, я хотел бы определить переключатель, а если переданы arg2 и arg3, я бы хотел определить другой переключатель в файле make.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2012

Используйте make VAR1="arg1 arg2 arg3" с этим в make-файле:

ifeq (arg1 arg2,$(findstring arg1,$(VAR1)) $(findstring arg2,$(VAR1)))
# define a switch
endif

ifeq (arg2 arg3,$(findstring arg2,$(VAR1)) $(findstring arg3,$(VAR1)))
# define another switch
endif

Если таких ключей много, вы можете определить макрос для упрощения make-файла.

0 голосов
/ 31 марта 2012

Вы проверяли GMSL?

http://gmsl.sourceforge.net/

conditional-directive
text-if-true
endif

https://stackoverflow.com/a/180818/643500

...

, если хотите передать егоразделяя запятыми, вы можете разбить строку и передать ее в оператор if.

...