makefileからmakeを呼びたいと思っています。
その際、子makeには変数を渡しますが、渡す変数は別ファイル(options.txt)に記載されているものを与えます。
make case0 のように、ファイルに書かれたものを shellで受け取って子makeに渡すとうまく認識しないのですが、どのようにしたらよいのでしょうか。
なお、make case1のように $(shell )で一旦makefileの変数で受けて、それを子makeに渡せばうまく渡ります。
makefile
1ARG0 ?= "" 2ARG1 ?= 0 3case0: 4 @args=`cat ./options.txt | perl -ne '$$_ =~ s/\n/ /g; print $$_' `; \ 5 ${MAKE} main "$${args}" 6 7 8_ARGS = $(shell cat ./options.txt | perl -ne '$$_ =~ s/\n/ /g; print $$_') 9case1: 10 ${MAKE} main ${_ARGS} 11 12main: 13 @echo "ARG0 is ${ARG0}" 14 @echo "ARG1 is ${ARG1}" 15
- リストoptions.txt:
ARG0="opt1=Yes opt2=No" ARG1=10
- リストmake case0のLOG
# make[1]: Entering directory `/site/tokyo/org-seg-projects-jdcnewport-tokyo-users-matu-safe1/local/study/make01' # ARG0 is opt1=Yes opt2=No ARG1=10 // <-- ARG1までARG0として認識されてしまう # ARG1 is 0
- リストmake case1のLOG
# /usr/bin/make main ARG0="opt1=Yes opt2=No" ARG1=10 # make[1]: Entering directory `/site/tokyo/org-seg-projects-jdcnewport-tokyo-users-matu-safe1/local/study/make01' # ARG0 is opt1=Yes opt2=No # ARG1 is 10
makeは GNU Make 3.81です
よろしくお願いします

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/29 16:11