NMAKE makro tanımlama
NMAKE makroları şu söz dizimi kullanılarak tanımlanır:
macro_name=string
macro_name, en fazla 1.024 karakter uzunluğunda harf, rakam ve alt çizginin (_
) büyük/küçük harfe duyarlı bir birleşimidir. macro_name çağrılan bir makro içerebilir. macro_name tamamen çağrılan bir makrodan oluşuyorsa, çağrılan makro null veya tanımsız olamaz.
Dize, sıfır veya daha fazla karakterden oluşan herhangi bir dizi olabilir. Null dize sıfır karakter veya yalnızca boşluk veya sekme içerir. Dize bir makro çağrısı içerebilir.
Makrolardaki özel karakterler
Tanımdan sonraki sayı işareti (#
) bir açıklama belirtir. Makroda değişmez sayı işareti belirtmek için, içinde olduğu gibi ^#
bir şapka işareti (^
) kullanarak çıkış yapın.
Dolar işareti ($
) makro çağırmasını belirtir. Değişmez değer $
belirtmek için kullanın $$
.
Tanımı yeni bir satıra genişletmek için, çizgiyi ters eğik çizgiyle (\
) sonlandırın. Makro çağrıldığında, ters eğik çizgi ve sonraki yeni satır karakteri bir boşlukla değiştirilir. Satırın sonunda sabit bir ters eğik çizgi belirtmek için, önüne bir şapka işareti (^
) çıkışı koyun veya bir açıklama tanımlayıcısı (#
) ile izleyin.
Sabit bir yeni satır karakteri belirtmek için, bu örnekte olduğu gibi satırı bir şapka işareti (^
) çıkışıyla sonlandırın:
CMDS = cls^
dir
Boş ve tanımlanmamış makrolar
Hem null hem de tanımsız makrolar null dizelere genişletilir, ancak null dize olarak tanımlanan bir makro ön işleme ifadelerinde tanımlanmış olarak kabul edilir. Makroyu null dize olarak tanımlamak için, bir komut satırında veya komut dosyasında eşittir işaretinden (=
) sonra boşluklar veya sekmeler dışında hiçbir karakter belirtmez ve null dizeyi veya tanımı çift tırnak işareti (" "
) içine alın. Makro tanımlarını silmek için kullanın !UNDEF
. Daha fazla bilgi için bkz . Derleme dosyası ön işleme yönergeleri.
Makroları nerede tanımlamalı
Komut satırında, komut dosyasında, makefile dosyasında veya Tools.ini
dosyasında makrolar tanımlayın.
Bir derleme dosyasında veya dosyada Tools.ini
, her makro tanımı ayrı bir satırda görünmelidir ve boşluk veya sekmeyle başlayamaz. Eşittir işaretinin etrafındaki boşluklar veya sekmeler yoksayılır. Çevresindeki tırnak işaretleri ve eklenmiş boşluklar da dahil olmak üzere tüm dize karakterleri değişmez değerdir.
Komut satırında veya komut dosyasında boşluklar ve sekmeler bağımsız değişkenleri sınırlandırabilir ve eşittir işaretini çevreleyemez. Dizede eklenmiş boşluklar veya sekmeler varsa, dizenin kendisini veya makronun tamamını çift tırnak içine alın (" "
).
Makro tanımlarında öncelik
Makronun birden çok tanımı varsa, NMAKE en yüksek öncelik tanımını kullanır. Aşağıdaki listede en yüksekten en düşüğe öncelik sırası gösterilmektedir:
Komut satırında tanımlanmış bir makro
Derleme dosyasında veya ekleme dosyasında tanımlanan makro
Devralınan ortam değişkeni makro
Dosyada
Tools.ini
tanımlanan bir makro
Ortam değişkenlerinden devralınan makroların aynı ada sahip makefile makrolarını geçersiz kılmasına neden olmak için kullanın /E
. Komut satırını geçersiz kılmak için kullanın !UNDEF
.