テストを実行するための少しハックなmakefileがあります。
### Run the tests
tests := tests/test1 tests/test2 ...
test: $(tests)
$(tests): %: %.c
gcc -o $@ $(testflags) $<
$@
それは機能しますが、Makeに今まで見たことのないことをさせます。私のテストは現在壊れており、バスエラーが発生します。Makeは次の出力を提供します。
gcc -o tests/test1 [flags blah blah] tests/test1.c
tests/test1
make: *** [tests/test1] Bus error
make: *** Deleting file `tests/test1'
最後の行が気になります。Makeがそれをするのを見たことがありません。Makeがコンパイルされたテストを削除するのはなぜですか?
注:この例は、簡単にするためにかなり大幅に編集しました。私はいくつかの間違いを導入したかもしれません。