我有一个由 [Microsoft] nmake 构建的 makefile。它引用另一个文件作为包含。我无法修改包含的文件。问题是两者都使用的用户定义宏之一不太适合包含使用。我怎样才能重新定义这个宏只在它在包含中使用的地方?
我试过类似的东西:
`B=$(A)
A=$(C)
!include myfile.make
A=$(B)`
nmake,但是不喜欢这样。还有另一种方法可以做到这一点吗?
我刚刚运行了一个测试用例,我得到的行为与您的描述不符。
假设我有两个makefile,...
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