微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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中.

原文地址:https://www.jb51.cc/c/113603.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐