c – 对make(Linux)和nmake(Windows)使用相同的makefile

我有一个简单的C-Programm(1源文件),我想在 Linux和Windows上通过make来编译. NMAKE.有没有可能用单个makefile来完成这个?

我想到了像

ifeq($(MAKE),nmake)
    // nmake code here
else
    // make code here
endif

不幸的是,nmake似乎不明白ifeq,所以我不能用.我有一个工作的makefile,但是会产生非常难看的结果:

hello: hello.c
    $(CC) hello.c

这两个系统都有效.问题是结果取决于相应编译器的认行为.在Linux下,我得到一个可执行的命名为’a.out’而不是’hello’.在Windows下,我得到’hello.exe’,但也有我不想拥有的’hello.obj’.

有没有人知道一种替代方法?还是我绝对不可能做的?

解决方法

这可能并不是不可能的,但是很可能很难写出两个makefile.

GNU make(在Linux中使用)和nmake都有include指令,所以一些常见的东西可以放在主makefile中包含的常见makefile中.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...