Нет, /* */в make-файлах нет ничего лучше комментариев в стиле 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
Однако я полагаю, что вы, вероятно, хотите временно закомментировать часть своего make-файла для целей отладки, а добавление обратной косой черты в каждую строку не очень практично. Если вы используете GNU make, я предлагаю вам использовать эту ifeqдирективу с намеренно ложным выражением. Например:
ifeq ("x","y")
# here's all your 'commented' makefile content...
endif
Обратите внимание: если вы хотите «закомментировать» строки в правиле, не делайте отступы строк ifeq, endif.
Саймон Мартон,
13
Я считаю, что ответ отрицательный. Единственный стиль комментария, который я могу найти, - это # для каждой строки или использовать \ для переноса первой строки.
Замечание об идее использования ifeqмногострочных комментариев в make (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. Вы можете легко проверить это с помощью make-файла, который содержит ложный синтаксис внутри ifeq. Пока условие в ifeq оценивается как false, gmake с радостью игнорирует синтаксические ошибки внутри ifeq.
Эрик Мельски
3
Это не так. Попробуйте следующий пример: ifeq (0, 1) не рискуйте комментариями ifeq, иначе у вас возникнут проблемы endif else в начале строки выдает ошибки. Так что иначе , ifeq , ifneq и, возможно, многие другие символы, о которых я не знаю , доставят вам проблемы.
Марк Вельцер
Это справедливо, но большинство синтаксических ошибок будет проигнорировано.
Вместо этого проще использовать блочный режим. Перейдите в начало первой строки, чтобы прокомментировать, ctrl-v, стрелка вниз до конца, заглавная I, #, escape. Чтобы удалить комментарии: ctrl-v, стрелка вниз до
конца
1
В emacs вы можете отметить область, которую хотите закомментировать, и нажать M-;(которая выполняется comment-dwim).
Ответы:
Нет,
/* */
в make-файлах нет ничего лучше комментариев в стиле C. Как предложил кто-то другой, вы можете сделать многострочный комментарий, используя продолжение строки. Например:Однако я полагаю, что вы, вероятно, хотите временно закомментировать часть своего make-файла для целей отладки, а добавление обратной косой черты в каждую строку не очень практично. Если вы используете GNU make, я предлагаю вам использовать эту
ifeq
директиву с намеренно ложным выражением. Например:Надеюсь, это поможет.
источник
Я считаю, что ответ отрицательный. Единственный стиль комментария, который я могу найти, - это # для каждой строки или использовать \ для переноса первой строки.
источник
Замечание об идее использования
ifeq
многострочных комментариев в make (1). Они не работают очень хорошо, если вы напишете следующее:Текст между ifeq и endif будет по-прежнему анализироваться make, что означает, что вы не можете писать в этом разделе все, что хотите. И если вы хотите написать длинный комментарий и написать в нем все, что хотите (включая знаки $, двоеточия и многое другое, которые имеют значение для make), вы должны прокомментировать каждую строку. Так почему
ifeq
... :)источник
источник
ifeq
я, но работает для меня. Спасибо!Не совсем то, что вы ищете, но похожие по духу. Я не ожидаю, что это будет принятый ответ, но, возможно, это может кому-то помочь.
Предполагая, что вы редактируете свои make-файлы в VIM:
либо решите, какие строки вы хотите прокомментировать, либо выберите их с помощью 'v'.
Затем вы можете использовать регулярное выражение,
s/^/#/
чтобы закомментировать строкии
s/^#//
вернуть их.--Ноты--
:
(двоеточие).,+n
'<,'>s/^/#/
источник
В emacs вы можете отметить область, которую хотите закомментировать, и нажать
M-;
(которая выполняетсяcomment-dwim
).источник