我有一个可以工作的make,我有平台代码,喜欢文件夹中每个操作系统的几个make。现在我有一个makefile可以工作。我将其重命名为Makefile.ws,并在Makefile中编写了以下代码
all:
make -f Makefile.w32
clean:
make -f Makefile.w32 clean我运行它并得到这个错误
> "make"
make -f Makefile.w32
make[1]: Entering directory `/c/nightly/test'
make -f Makefile.w32
make[3]: Makefile.w32: No such file or directory
make[3]: *** No rule to make target `Makefile.w32'. Stop.
make[2]: *** [all] Error 2
make[1]: *** [build] Error 2
make[1]: Leaving directory `/c/nightly/test'
"make": *** [all] Error 2奇怪的是,clean可以完美地工作。然后我决定写"make -f Makefile.w32 mingw32“,但它不能正常工作。实际上,它创建了一个名为mingw32的文件夹,我觉得这个文件夹非常奇怪。
至于mingw32规则,我只是复制构建,我怀疑它是用于构建的主/常规规则
$(BUILD):
@[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
mingw32:
@[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile完整的.w32源代码在这里http://pastie.org/320035
发布于 2008-11-20 22:18:41
首先,您运行的是什么版本?Cygwin或者MinGW,还是别的什么?
make -f Makefile.w32
make[1]: Entering directory `/c/nightly/test'
make -f Makefile.w32
make[3]: Makefile.w32: No such file or directory“进入目录”是一个提示。为什么会进入/c/nightly/test?那里有Makefile.w32吗?
关于创建目录"mingw32",规则是
mingw32:
@[ -d $@ ] || mkdir -p $@
...确实是这样的。如果"mingw32“不存在,它会创建它。
如果你有一个简短的例子,并清楚地解释你想要完成的事情和你期望发生的事情,那么帮助你会更容易。
发布于 2008-11-20 22:18:01
您是否尝试过使用以下命令调用辅助makefile
$(MAKE) -f ...
而不是
make -f ...
发布于 2008-11-20 22:22:46
我想我在你的第二个例子中看到了问题所在。应更改构建行,使其不包含$( mingw32 )变量:
mingw32:
@[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C mingw32 -f $(CURDIR)/Makefilehttps://stackoverflow.com/questions/307030
复制相似问题