繁体   English   中英

MSVS2012 C ++ nmake如何在子目录中的makefile上运行nmake?

[英]MSVS2012 c++ nmake how do run nmake on a makefile in a subdirectory?

我有一个项目,其中包含一个顶级makefile和三个子文件夹,每个子文件夹中都包含一个makefile。

在普通的makefile(gnu make)中,我可以这样做:

# Just for me so I can read my own makefile -->  TARGET: DEPEND
_TARGET = $@
_DEPEND = $<

# Sub projects to build in dependency order
SUB_PROJECTS = folder2 folder1 folder3

.PHONY: $(SUB_PROJECTS)

all: $(SUB_PROJECTS)
@echo makeing all

$(SUB_PROJECTS):
@echo "*******************************"
@echo "*   MAKING: $(_TARGET)"
@echo "*******************************"
$(MAKE) -C $(_TARGET)
@echo

在这里,我基本上是在调用make -C folder1在子文件夹“ folder1”中的makefile上运行make。

因此,我正在尝试将我的gnu makefile转换为nmake。 在大多数情况下,我并没有遇到太多麻烦(.phony与此处有所不同)。

但是我似乎找不到在子文件夹上调用nmake的语法:

nmake folder1不起作用。 我看了看所有标志,没有一个看起来很明显。 关于nmake的文档不容易浏览(即找到所需内容)。

我不相信nmake具有(gnu)make的-C选项,您需要做类似的事情

$(SUB_PROJECTS):
    cd $@
    $(MAKE) /$(MAKEFLAGS)
    cd $(MAKEDIR)

我刚刚找到以下链接: UsingNmake ,它建议:

遍历目录“ makefile”

 DIRS = \ 
         dir1 \ 
         dir2 \ 
         dir3

 all: $(DIRS)

 $(DIRS):
         pushd $@ & nmake & popd

它解释了为什么最好一口气做这件事...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM