这是我的制作文件。而且,我正在尝试使用 unifdef 运行部分预处理。但是在执行 unifdef 后它失败了。
#HELLO = world
HELLO_WORLD = $(HELLO) world!
COMMA := ,
VAR_ARG_LIST_A := $(subst $(COMMA), ,$(VAR_ARG_LIST))
VAR_ARG_LIST_1 := $(word 1,$(VAR_ARG_LIST_A))
VAR_ARG_LIST_2 := $(word 2,$(VAR_ARG_LIST_A))
VAR_ARG_LIST_3 := $(word 3,$(VAR_ARG_LIST_A))
VAR_ARG_LIST_4 := $(word 4,$(VAR_ARG_LIST_A))
VAR_ARG_LIST_5 := $(word 5,$(VAR_ARG_LIST_A))
VAR_ARG_LIST_6 := $(word 6,$(VAR_ARG_LIST_A))
all:
# echo $(HELLO_WORLD)
echo $(VAR_ARG_LIST_1)
# echo $(VAR_ARG_LIST)
echo $(VAR_ARG_LIST_2)
echo $(VAR_ARG_LIST_3)
echo $(VAR_ARG_LIST_4)
echo $(VAR_ARG_LIST_5)
echo $(VAR_ARG_LIST_6)
unifdef -USW1 -USW2 -USW3 -USW4 -USW5 -USW6 -t file1.txt > file2.txt
错误是
make VAR_ARG_LIST=AW1,AW2
echo AW1
AW1
echo AW2
AW2
echo
echo
echo
echo
unifdef -USW1 -USW2 -USW3 -USW4 -USW5 -USW6 -t file1.txt > file2.txt
make: *** [all] Error 1
file1.txt 的内容是:
#ifdef SW1
This is a file1
#endif
This is file file 1
This is file file 2
This is file file3
file2.txt 的内容是:
This is file file 1
This is file file 2
This is file file3
make 在执行 unifdef 命令后立即失败。