makefileに複数行コメントを追加する方法


回答:


152

いいえ、/* */メイクファイルにはCスタイルのコメントのようなものはありません。他の誰かが示唆したように、行の継続を使用して複数行のコメントを作成できます。例えば:

# This is the first line of a comment \
and this is still part of the comment \
as is this, since I keep ending each line \
with a backslash character

ただし、デバッグの理由から、makefileのチャンクを一時的にコメントアウトしようとしていると思います。すべての行にバックスラッシュを追加するのは実際的ではありません。GNU makeを使用している場合は、ifeq意図的に誤った式でディレクティブを使用することをお勧めします。例えば:

ifeq ("x","y")
# here's all your 'commented' makefile content...
endif

お役に立てば幸いです。


3
ルールの行を「コメント化」する場合は、ifeq、endif行をインデントしないでください。
SimonMárton、2015年

13

答えはノーだと思います。私が見つけることができる唯一のコメントのスタイルは、各行の#か、\を使用して最初の行をラップします。


10

ifeqmake(1)で複数行コメントを行うために使用するアイデアに関するメモ。次のように書くと、うまく機能しません。

ifeq (0,1)
    do not risk ifeq comments
    else trouble will find you
    ifeq is even worse
endif

ifeqとendifの間のテキストは、makeによって引き続き解析されます。つまり、そのセクションには必要なものを何も記述できません。また、長いコメントを書き、コメントに必要なもの($記号、コロンなど、すべてmakeに意味があるもの)を書きたい場合は、すべての行をコメントにする必要があります。だからなぜifeq... :)


不正解です。ifeq内のテキストの唯一の「解析」gmakeは、endifを探すことです。これは、ifeq内に偽の構文を持つメイクファイルで簡単に確認できます。ifeqの条件がfalseと評価されている限り、gmakeはifeq内の構文エラーを喜んで無視します。
エリックメルスキ

3
不正解です。次の例を試してください。ifeq(0、1)ifeqコメントの危険性はありませんelse else問題はendifになります行の先頭にあるelseがエラーになります。そうでなければifeqifneq、そしておそらく私が知らない他の多くのシンボルがあなたに問題を与えるでしょう。
Mark Veltzer、2015年

それは公平な点ですが、構文エラーの大部分は無視されます。
Eric Melski、


3

まさにあなたが探しているものではありませんが、精神的には似ています。私はそれが受け入れられる答えになることを期待していませんが、多分それは誰かを助けることができます。

VIMでメイクファイルを編集していると仮定します。
コメントする行を決定するか、「v」で選択します。

その後、正規表現を使用することができますs/^/#/行をコメントアウトする
s/^#//、それらを元に戻します。

- ノート -

  • vimコマンドラインを開くには、:(コロン)を押します
  • 次の 'n'行のコマンドを準備するには、次を使用します。 .,+n
  • 「v」を使用したサンプル行は次のようになります。 '<,'>s/^/#/

2
代わりにブロックモードを使用する方が簡単です。コメントする最初の行の先頭に移動し、Ctrlキーを押しながらVキーを押し、最後まで下向きに矢印を押して、大文字のI、#、エスケープします。コメントを削除するには:ctrl-v、下向き矢印、x
brunch875

1

emacsでは、コメントアウトしてヒットする領域をマークできますM-;(これはを実行しますcomment-dwim)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.