Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Makro NMAKE jest definiowane przy użyciu tej składni:
macro_name=string
Macro_name jest kombinacją liter, cyfr i podkreśleń (_) do 1024 znaków. Macro_name może zawierać wywoływane makro. Jeśli macro_name składa się całkowicie z wywoływanego makra, wywoływane makro nie może mieć wartości null ani nie jest zdefiniowane.
Ciąg może być dowolną sekwencją zero lub więcej znaków. Ciąg o wartości null zawiera zero znaków lub tylko spacje lub karty. Ciąg może zawierać wywołanie makra.
Znaki specjalne w makrach
Znak numeru (#) po definicji określa komentarz. Aby określić znak znaku literału w makrze, użyj karetki (^), aby ją uniknąć, tak jak w pliku ^#.
Znak dolara ($) określa wywołanie makra. Aby określić literał $, użyj polecenia $$.
Aby rozszerzyć definicję na nową linię, zakończ wiersz ukośnikiem odwrotnym (\). Po wywołaniu makra ukośnik odwrotny i następujący znak nowego wiersza jest zastępowany spacją. Aby określić ukośnik odwrotny literału na końcu wiersza, poprzedzić go znakiem ucieczki (^) lub postępować zgodnie z specyfikatorem komentarza (#).
Aby określić znak nowego wiersza literału, zakończ wiersz znakiem ucieczki karetki (^), jak w tym przykładzie:
CMDS = cls^
dir
Makra niezdefiniowane oraz makra o wartości zerowej
Makra o wartości null i niezdefiniowane rozszerzają się na ciągi o wartości null, ale makro zdefiniowane jako ciąg null jest uznawane za zdefiniowane w wyrażeniach przetwarzania wstępnego. Aby zdefiniować makro jako ciąg o wartości null, określ brak znaków z wyjątkiem spacji lub tabulatorów po znaku równości (=) w wierszu polecenia lub pliku polecenia i ująć ciąg null lub definicję w podwójny cudzysłów (" "). Aby usunąć definicję makra, użyj polecenia !UNDEF. Aby uzyskać więcej informacji, zobacz Makefile preprocessing dyrektywy.
Miejsce definiowania makr
Zdefiniuj makra w wierszu polecenia, pliku polecenia, pliku makefile lub Tools.ini pliku.
W pliku makefile lub Tools.ini pliku każda definicja makra musi być wyświetlana w osobnym wierszu i nie może zaczynać się od spacji lub karty. Spacje lub karty wokół znaku równości są ignorowane. Wszystkie znaki ciągu są literałami, w tym otaczającymi cudzysłowami i osadzonymi spacjami.
W wierszu polecenia lub pliku polecenia spacje i tabulatory rozdzielać argumenty i nie mogą otaczać znaku równości. Jeśli ciąg zawiera osadzone spacje lub karty, należy ująć sam ciąg lub całe makro w podwójnym cudzysłowie (" ").
Pierwszeństwo w definicjach makr
Jeśli makro ma wiele definicji, NMAKE używa definicji najwyższego pierwszeństwa. Na poniższej liście przedstawiono kolejność pierwszeństwa od najwyższego do najniższego:
Makro zdefiniowane w wierszu polecenia
Makro zdefiniowane w pliku make lub pliku dołączania
Makro dziedziczonej zmiennej środowiskowej
Makro zdefiniowane w
Tools.inipliku
Użyj /E polecenia , aby spowodować, że makra dziedziczone ze zmiennych środowiskowych zastępują makra pliku make o tej samej nazwie. Użyj !UNDEF polecenia , aby zastąpić wiersz polecenia.