nmake: Как переопределить макрос только для включения? - PullRequest
0 голосов
/ 14 мая 2011

У меня есть make-файл, который должен быть собран [Microsoft] nmake. Он ссылается на другой файл как включаемый. Я не могу изменить включенный файл. Проблема в том, что один из пользовательских макросов, используемых обоими, не совсем подходит для использования включаемым. Как я могу переопределить этот макрос ТОЛЬКО для того места, где он используется во включении?

Я пробовал что-то вроде:

`B = $ (А)

А = $ (С)

! Include myfile.make

А = $ (В) `

nmake, однако это не понравилось. Есть ли другой способ сделать это?

1 Ответ

0 голосов
/ 14 мая 2011

Я только что выполнил тестовый пример, и поведение, которое я получил, не соответствует вашему описанию.

Предположим, у меня есть два make-файла, ...

nuit.mak:

A=17

!include nuit-a.mak

A=5

all: child main

main:
    @echo A = $(A)

И nuit-a.mak:

child:
    @echo A = $(A)

Вот результаты, которые я вижу:

c:\dev\make>nmake -f nuit.mak main

A = 5

c:\dev\make>nmake -f nuit.mak child

A = 17

c:\dev\make>nmake -f nuit.mak all

A = 17
A = 5
...