Как добавить многострочные комментарии в make-файлы

Есть ли способ закомментировать несколько строк в make-файлах, как в синтаксисе C /* */?

6 ответов

Решение

Нет, нет ничего похожего на C-стиль /* */ комментарии в make-файлах. Как кто-то еще предложил, вы можете сделать многострочный комментарий, используя продолжение строки. Например:

# 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 делать многострочные комментарии в 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...:)

define BOGUS
lines
.....
endef

Не совсем то, что вы ищете, но похоже по духу. Я не ожидаю, что это будет принятый ответ, но, возможно, это может кому-то помочь.

Предполагая, что вы редактируете свои make-файлы в VIM:
Либо решите, какие строки вы хотите прокомментировать, либо выделите их с помощью 'v'.

Тогда вы можете использовать регулярное выражение s/^/#/ закомментировать строки
а также s/^#// чтобы вернуть их.

--Заметки--

  • Чтобы открыть командную строку vim, нажмите : (двоеточие)
  • Чтобы подготовить команду для следующих 'n' строк, используйте .,+n
  • Пример строки с использованием "v" выглядит так: '<,'>s/^/#/

В emacs вы можете отметить регион, который вы хотите закомментировать, и нажать M-; (который работает comment-dwim).

Другие вопросы по тегам