Nie, /* */w Makefile nie ma nic podobnego do komentarzy w stylu C. Jak ktoś inny zasugerował, możesz zrobić komentarz wielowierszowy, używając kontynuacji linii. Na przykład:
# 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
Wyobrażam sobie jednak, że prawdopodobnie chcesz tymczasowo skomentować fragment pliku makefile w celu debugowania, a dodawanie odwrotnego ukośnika w każdej linii nie jest zbyt praktyczne. Jeśli używasz programu GNU make, sugeruję użycie ifeqdyrektywy z celowo fałszywym wyrażeniem. Na przykład:
ifeq ("x","y")
# here's all your 'commented' makefile content...
endif
Uwaga na temat pomysłu użycia ifeqdo tworzenia komentarzy wielowierszowych w make (1). Nie działają zbyt dobrze, ponieważ jeśli napiszesz:
ifeq (0,1)
do not risk ifeq comments
else trouble will find you
ifeq is even worse
endif
Tekst między ifeq i endif będzie nadal przetwarzany przez make, co oznacza, że nie możesz napisać tego, co chcesz w tej sekcji. A jeśli chcesz napisać długi komentarz i napisać w nim, co chcesz (w tym znaki $, dwukropki i inne, które mają znaczenie dla marki), musisz skomentować każdy wiersz. Więc dlaczego ifeq... :)
To nie jest poprawne. Jedynym „analizującym” tekstem wewnątrz ifeq przez gmake jest szukanie endifu. Możesz to łatwo sprawdzić za pomocą pliku makefile, który ma jakąś fałszywą składnię wewnątrz ifeq. Dopóki warunek w ifeq ma wartość false, gmake z radością zignoruje błędy składniowe wewnątrz ifeq.
Eric Melski
3
To nie jest poprawne. Wypróbuj następujący przykład: ifeq (0, 1) nie ryzykuj komentarzy ifeq w przeciwnym razie kłopoty cię znajdą endif Inne na początku linii rzucają w błąd. Więc inaczej , ifeq , ifneq i prawdopodobnie wielu innych symboli, które nie wiem o daje problemy.
Mark Veltzer
To słuszna uwaga, ale większość błędów składniowych zostanie zignorowana.
Zamiast tego łatwiejszy w użyciu tryb blokowy. Idź na początek pierwszej linii, aby skomentować, ctrl-v, strzałka w dół do końca, duże I, #, ucieczka. Aby usunąć komentarze: ctrl-v, strzałka w dół do końca, x
brunch875
1
W emacsie możesz oznaczyć region, który chcesz skomentować i uderzyć M-;(który działa comment-dwim).
Odpowiedzi:
Nie,
/* */
w Makefile nie ma nic podobnego do komentarzy w stylu C. Jak ktoś inny zasugerował, możesz zrobić komentarz wielowierszowy, używając kontynuacji linii. Na przykład:Wyobrażam sobie jednak, że prawdopodobnie chcesz tymczasowo skomentować fragment pliku makefile w celu debugowania, a dodawanie odwrotnego ukośnika w każdej linii nie jest zbyt praktyczne. Jeśli używasz programu GNU make, sugeruję użycie
ifeq
dyrektywy z celowo fałszywym wyrażeniem. Na przykład:Mam nadzieję, że to pomoże.
źródło
Uważam, że nie. Jedyne style komentarzy, jakie mogę znaleźć, to # dla każdego wiersza lub użyj \, aby zawinąć pierwszą linię.
źródło
Uwaga na temat pomysłu użycia
ifeq
do tworzenia komentarzy wielowierszowych w make (1). Nie działają zbyt dobrze, ponieważ jeśli napiszesz:Tekst między ifeq i endif będzie nadal przetwarzany przez make, co oznacza, że nie możesz napisać tego, co chcesz w tej sekcji. A jeśli chcesz napisać długi komentarz i napisać w nim, co chcesz (w tym znaki $, dwukropki i inne, które mają znaczenie dla marki), musisz skomentować każdy wiersz. Więc dlaczego
ifeq
... :)źródło
źródło
ifeq
przypuszczam, ale działa dla mnie. dzięki!Nie jest to dokładnie to, czego szukasz, ale podobny duch. Nie spodziewam się, że będzie to akceptowana odpowiedź, ale może może komuś pomóc.
Zakładając, że edytujesz swoje pliki makefile w VIM:
albo zdecyduj, które linie chcesz skomentować, albo wybierz je za pomocą 'v'.
Następnie możesz użyć wyrażenia regularnego
s/^/#/
aby skomentować wierszei
s/^#//
przywrócić je.- Uwagi--
:
(dwukropek).,+n
'<,'>s/^/#/
źródło
W emacsie możesz oznaczyć region, który chcesz skomentować i uderzyć
M-;
(który działacomment-dwim
).źródło