加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:50:21 所属栏目:百科 来源:网络整理
导读:我有一个简单的C-Programm(1源文件),我想在 Linux和Windows上通过make来编译. NMAKE.有没有可能用单个makefile来完成这个? 我想到了像 ifeq($(MAKE),nmake) // nmake code hereelse // make code hereendif 不幸的是,nmake似乎不明白ifeq,所以我不能用.我有
我有一个简单的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中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读