我有一个简单的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中.