私は楽しいために小さなCプログラムを書いています。私は、MinGW(Cのみ)、make、Notepad ++を、魅力的なIDEを変更に使用しないという練習として使用することに決めました。これまでのところ、とても楽しく楽しい。Portable make cleanルール
(MinGWのは==私はWindows上で働いています。)
を今のプログラムは、私はそれが完全に移植することを考えたバニラCに対してコンパイル以来。 MinGWのは、作るとgccは十分なルールからプログラムを作成するスマートです:
myprog: myprog.o other.o
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o [email protected]
もちろん、私は窓の午前以来、コンパイラはmyprog.exe
を作成します。これはかなりスマートで、全体をかなり移植性にします。
までstandard targets私は実際にそのルールを使用しているので、少なくともclean
を実装したいと思います。さて、実際にWindows上で動作することをcleanターゲットは、次のようになります。
clean:
rm myprog.exe *.o
プログラムが拡張子を持っていないため、このルールは間違いなく、POSIX環境では動作しません。 (PSOIX:GNU/Linuxだと思う)
fuをあまり使わないで、
これまでのところ、私はこの問題に関して本当に便利なドキュメントを見つけられませんでした。 autoconfとautomakeがどのように問題に取り組んでいるかを見ると、パターン@[email protected]
が導入されています。しかし、それは環境を長時間にわたって設定するコードに依存します。
'rm -f myprog myprog.exe * .o'の何が問題なのですか? – Beta
これをLinux上で実行しようとしたことがありますか?うまくいかない...質問は飲酒可能性を指します。ルールはうまく動作します。 – rioki
はい、私のバージョンで動作します(2.6.18-194.8.1.el5)。あなたのエラーは何ですか? (そして、なぜそれを飲みたいのですか?) – Beta