我想執行以下操作。我不知道是否有可能做到這一點。如果可能的話,我想知道如何去做。將字符串傳遞給make文件
make VAR1=arg1,arg2,arg3
基於我想開關傳遞到GCC的ARG。
例如,
如果ARG1和ARG2傳遞我想定義一個開關,如果ARG2和參數3傳遞我想在make文件定義另一個開關。我怎麼做?
我想執行以下操作。我不知道是否有可能做到這一點。如果可能的話,我想知道如何去做。將字符串傳遞給make文件
make VAR1=arg1,arg2,arg3
基於我想開關傳遞到GCC的ARG。
例如,
如果ARG1和ARG2傳遞我想定義一個開關,如果ARG2和參數3傳遞我想在make文件定義另一個開關。我怎麼做?
使用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文件。
您是否檢查過GMSL?
conditional-directive
text-if-true
endif
https://stackoverflow.com/a/180818/643500
...如果你想通過它用逗號分隔
,那麼你可以分割字符串和if語句把它傳遞給。