*参照元 [#e210f76b] #backlinks *説明 [#o52ac679] -パス: [[linux-2.6.33/scripts/Kbuild.include]] -指定されたコンパイル、アセンブル、リンクなどが成功するかどうかテストする。 **引数 [#zfe02e14] -第一引数 --$(CC)...-o "$$TMP" の書式で指定し、... の部分を適当に書き換える。 -option-ok --テストに成功した時の出力 -otherwise --テストに失敗した時の出力 **返り値 [#dac15406] -CC に準ずる --[[linux-2.6.33/CC(Makefile)]] **参考 [#fa4ba543] *実装 [#jb06d633] # try-run # Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise) # Exit code chooses option. "$$TMP" is can be used as temporary file and # is automatically cleaned up. try-run = $(shell set -e; \ TMP="$(TMPOUT).$$$$.tmp"; \ TMPO="$(TMPOUT).$$$$.o"; \ if ($(1)) >/dev/null 2>&1; \ then echo "$(2)"; \ else echo "$(3)"; \ fi; \ rm -f "$$TMP" "$$TMPO") *コメント [#k0e7fe11]