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
在这里我基本上是在子文件夹 "folder1".
中调用 make -C folder1
到 运行 make
所以我正在尝试将我的 gnu makefile 翻译成 nmake。在大多数情况下,我没有遇到太多麻烦(.phony 的东西与这里不同)。
但我似乎找不到在子文件夹上调用 nmake 的语法:
nmake folder1
不起作用。我查看了 nmake 的所有标志,但没有一个看起来很明显。 nmake 上的文档不容易浏览(即找到你想要的)。
我不相信 nmake 有类似 (gnu)make 的 -C
选项,你需要做类似
的事情
$(SUB_PROJECTS):
cd $@
$(MAKE) /$(MAKEFLAGS)
cd $(MAKEDIR)
我刚刚发现这个 link:UsingNmake 这表明:
遍历目录"makefile"
DIRS = \
dir1 \
dir2 \
dir3
all: $(DIRS)
$(DIRS):
pushd $@ & nmake & popd
它解释了为什么最好在一行中完成...
我有一个包含顶级 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
在这里我基本上是在子文件夹 "folder1".
中调用make -C folder1
到 运行 make
所以我正在尝试将我的 gnu makefile 翻译成 nmake。在大多数情况下,我没有遇到太多麻烦(.phony 的东西与这里不同)。
但我似乎找不到在子文件夹上调用 nmake 的语法:
nmake folder1
不起作用。我查看了 nmake 的所有标志,但没有一个看起来很明显。 nmake 上的文档不容易浏览(即找到你想要的)。
我不相信 nmake 有类似 (gnu)make 的 -C
选项,你需要做类似
$(SUB_PROJECTS):
cd $@
$(MAKE) /$(MAKEFLAGS)
cd $(MAKEDIR)
我刚刚发现这个 link:UsingNmake 这表明:
遍历目录"makefile"
DIRS = \
dir1 \
dir2 \
dir3
all: $(DIRS)
$(DIRS):
pushd $@ & nmake & popd
它解释了为什么最好在一行中完成...