V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Allianzcortex
V2EX  ›  程序员

今天写了人生中第一个 makefile ...

  •  
  •   Allianzcortex · 2019-02-25 05:13:30 +08:00 · 3715 次点击
    这是一个创建于 2099 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近需要在一个包含很多语言的项目中对单个 golang 项目进行单测配置,用的是默认和 github 集成的 travis.ci 。根据官方文档:

    In case there is a Makefile in the repository root, the default command Travis CI will use to run your project test suite is
    
    make
    Bash
    In case there is no Makefile, it will be
    
    go test ${gobuild_args} ./...
    
    

    默认的 .travis.yml 似乎满足不了需求,必须用 makefile 来实现。具体操作起来其实不难,两行就可以解决问题:

    all
        cd STO && go test
    

    以前有用 VS 写 C++,但项目组织都自动为你封装好。也有用 Qt 写过,但默认的 cmake 基本意味着不用做什么大的更改。以前也修改过 makefile,但也是在已有的基础上改一些目录和变量。今天才突然意识到这是自己人生中第一个写的 makefile ...突然反应过来这个事实,心情稍微有一点复杂诶...

    第 1 条附言  ·  2019-02-25 06:54:50 +08:00
    啊..不是,不是今天,是几个月前发生的事。当时写好了内容准备发,但是一直没找见,刚刚翻出来就想到了。
    5 条回复    2019-02-26 18:04:36 +08:00
    ericgui
        1
    ericgui  
       2019-02-25 05:15:09 +08:00   ❤️ 1
    人生都有第一次,我正在第一次写 PHP 框架,自己把各个组件打散组装起来

    这就是成长
    yanaraika
        2
    yanaraika  
       2019-02-25 06:27:08 +08:00   ❤️ 6
    makefile 三问:能 flag 改变自动 rebuild 否,.PHONY 否,能被 include 重用否?
    whileFalse
        3
    whileFalse  
       2019-02-25 09:11:12 +08:00 via iPhone
    一直没理解 makefile 的使用场景,都是 npm 的 config.json 或者 sh 脚本或者 py 脚本搞定的。

    谁能告我 makefile 有啥特别棒的能力,🙏
    charlie21
        4
    charlie21  
       2019-02-25 12:26:50 +08:00
    makefile 就是命令行的缩写阿,“ alias 感” 十足,哪儿有什么为什么。没见过比 makefile 更简单的了
    难道我对 makefile 有什么误解
    hjchjc1993
        5
    hjchjc1993  
       2019-02-26 18:04:36 +08:00
    以我两周的 c++开发经验,Makefile 可能在命令行的基础上提供了模块之间的依赖关系的信息?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2711 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:30 · PVG 18:30 · LAX 02:30 · JFK 05:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.