Makefiles içinde C sözdizimindeki gibi birden fazla satırı yorumlamanın bir yolu var mı /* */
?
Makefiles içinde C sözdizimindeki gibi birden fazla satırı yorumlamanın bir yolu var mı /* */
?
Yanıtlar:
Hayır, /* */
makefiles içinde C-tarzı yorumlar gibisi yoktur . Başka birinin önerdiği gibi, satır devamlarını kullanarak çok satırlı bir yorum yapabilirsiniz. Örneğin:
# 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
Bununla birlikte, muhtemelen hata ayıklama nedenleriyle makefile'ınızın bir kısmını geçici olarak yorumlamak istediğinizi ve her satıra bir ters eğik çizgi eklemenin gerçekten pratik olmadığını düşünüyorum. GNU make kullanıyorsanız, ifeq
yönergeyi kasıtlı olarak yanlış bir ifade ile kullanmanızı öneririm . Örneğin:
ifeq ("x","y")
# here's all your 'commented' makefile content...
endif
Umarım yardımcı olur.
ifeq
Make (1) 'de çok satırlı yorumlar yapmak için kullanma fikri hakkında bir not . Aşağıdakileri yazdığınız için pek iyi çalışmıyorlar:
ifeq (0,1)
do not risk ifeq comments
else trouble will find you
ifeq is even worse
endif
İfeq ve endif arasındaki metin yine de make tarafından ayrıştırılacaktır, bu da o bölümde istediğinizi yazamayacağınız anlamına gelir. Ve eğer uzun bir yorum yazmak ve yorumda istediğinizi yazmak istiyorsanız (hepsi make için bir anlamı olan $ işaretleri, iki nokta üst üste ve daha fazlası dahil), o zaman her satırı yorumlamalısınız. Öyleyse neden ifeq
... :)
define BOGUS
lines
.....
endef
ifeq
ettiğim gibi aynı uyarılara tabi , ama benim için çalışıyor. Teşekkürler!
Tam olarak aradığınız şey değil, ruh olarak benzer. Bunun kabul edilen cevap olmasını beklemiyorum, ama belki birine yardımcı olabilir.
Makefile'lerinizi VIM'de düzenlediğinizi varsayarsak:
Hangi satırlara yorum yapmak istediğinize karar verin veya 'v' ile seçin.
Ardından s/^/#/
, satırları yorumlamak
ve s/^#//
geri döndürmek için normal ifadeyi kullanabilirsiniz.
--Notes--
:
(iki nokta üst üste) tuşuna basın.,+n
'<,'>s/^/#/