メイクファイルの意図を擬似コードで取得し、問題点を示します。私はテスト環境でよりユーザーフレンドリーなMakefileを探しています。 Makefileの正しい使い方は以下の通りです。メイクファイルの条件付きルールの使用
make CATEGORY=parser TEST=basic.
make ALL
ユーザーは「JUST」コマンドを与えた場合は以下に示すように、それは「CATEGORY定義されたTEST未定義」というメッセージをプリントし、その逆
make CATEGORY=parser
make TEST=basic
なければならない私は、次のようにMakefileを書いてみました方法、それエラーアウト:私が持っている
help:
echo"Usage: make CATEGORY=<advanced|basic> TEST=<test-case>
echo" make ALL
ifdef CATEGORY
ifdef TEST
CATEGORY_TEST_DEFINED = 1
else
echo "TEST not defined"
else
echo "CATEGORY not defined"
endif
ifeq ($(CATEGORY_TEST_DEFINED), 1)
$(CATEGORY):
cd $(PROJ)/$(CATEGORY)
make -f test.mk $(TEST)
endif
ifdef ALL
$(ALL):
for i in `ls`
cd $$(i)
make all
endif
質問は以下のとおりです。
Makefile内のルールが選択可能であるかどうか(ifdefを使用してルールとターゲットを選択するかどうか)。
エコーが機能しません。エコーはユーザーに正しい使用方法を教えてください。
@ Betaのポイントをフォローして、[FAQ](http://stackoverflow.com/faq)と特に[ここで質問するにはどうすればいいですか?](http://stackoverflow.com)をご覧ください。/faq#howtoask)。 –