これは私のmakeファイルです。そして、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
unifdefコマンドを実行した直後にmakeが失敗します。