タブ文字なしで有効な Makefile を作成できますか? 質問する

タブ文字なしで有効な Makefile を作成できますか? 質問する
target: dependencies
    command1
    command2

私のシステム (Mac OS X) では、makeMakefile の各行の内容の前にタブ文字が必要であるようですcommand。そうしないと、構文エラーが発生します。

私のエディターは常にスペースのみになるように設定されているため、Makefile を作成または編集するときにはこれが煩わしいです。

タブ文字なしで有効な Makefile を作成できますか?

ベストアンサー1

これは の構文上の奇妙さ/要件でありmake、Mac OS X とは関係ありません。残念ながら、 を使用する場合はこれについて何もできませんmake

編集: GNU Makeはカスタムレシピプレフィックスをサポートするようになりました。この答え

のこの側面を嫌うのはあなたが最初ではありませんmake。引用するとUnix 嫌いのためのハンドブック:

Dennis の Makefile の問題は、コメント行を追加したときに、2 行目の先頭のタブ文字の前にスペースを誤って挿入したことです。タブ文字は、Makefile の構文の非常に重要な部分です。すべてのコマンド ライン (この例では cc で始まる行) はタブで始まる必要があります。変更を加えた後、2 行目はタブで始まっていなかったので、エラーが発生しました。

「それで何?」とあなたは尋ねます。「それの何が問題なの?」

それ自体は何も悪いものではありません。ただ、Unix の他のプログラミング ツールの動作を考えると、構文の一部としてタブを使用することは、グリーン ベレーのパンジー スティック トラップの 1 つのようなものです。カンザス州のかわいそうな子供がジョン ウェインの前を歩いていて、トリップ ワイヤーに気づきません。結局のところ、カンザスのトウモロコシ畑には注意すべきトリップ ワイヤーはありません。ドカン!

おすすめ記事