nmake:如何为包含重新定义宏?

发布于 2024-11-07 21:59:26 字数 247 浏览 1 评论 0原文

我有一个由 [Microsoft] nmake 构建的 makefile。它引用另一个文件作为包含。我无法修改包含的文件。问题是两者使用的用户定义宏之一不太适合包含使用。如何仅针对包含中使用的位置重新定义此宏?

我尝试过类似:

`B=$(A)

A=$(C)

!include myfile.make

A=$(B)`

nmake,但是不喜欢这样。还有其他方法可以做到这一点吗?

I have a makefile that is to be built by [Microsoft] nmake. It references another file as an include. I do not get to modify the included file. The problem is that one of the user-defined macros used by both isn't quite right for use by the include. How can I redefine this macro ONLY for where it's used in the include?

I tried something like:

`B=$(A)

A=$(C)

!include myfile.make

A=$(B)`

nmake, however did not like this. Is there another way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

往日 2024-11-14 21:59:26

我刚刚运行了一个测试用例,我得到的行为与您的描述不符。

假设我有两个 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

I just ran a test case, and the behavior I got does not agree with your description.

Suppose I have two makefiles, ...

nuit.mak:

A=17

!include nuit-a.mak

A=5

all: child main

main:
    @echo A = $(A)

And nuit-a.mak:

child:
    @echo A = $(A)

Here are the results I see:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文