我想做以下事情。我不知道是否可以这样做。如果可能的话我想知道怎么做。
make VAR1=arg1,arg2,arg3
基于arg我想将一个开关传递给gcc。
例如,
如果传递了arg1和arg2,我想定义一个开关,如果传递了arg2和arg3,我想在make文件中定义另一个开关。我怎么做?
答案 0 :(得分:0)
您检查过GMSL吗?
conditional-directive
text-if-true
endif
https://stackoverflow.com/a/180818/643500
...
如果你想用逗号分隔它,那么你可以拆分字符串并将其传递给if语句。
答案 1 :(得分:0)
在makefile中使用make VAR1="arg1 arg2 arg3"
:
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
如果有很多这些开关,你可以定义一个宏来简化makefile。