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

2019-02-25 05:13:30 +08:00
 Allianzcortex

最近需要在一个包含很多语言的项目中对单个 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 ...突然反应过来这个事实,心情稍微有一点复杂诶...

3630 次点击
所在节点    程序员
5 条回复
ericgui
2019-02-25 05:15:09 +08:00
人生都有第一次,我正在第一次写 PHP 框架,自己把各个组件打散组装起来

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

谁能告我 makefile 有啥特别棒的能力,🙏
charlie21
2019-02-25 12:26:50 +08:00
makefile 就是命令行的缩写阿,“ alias 感” 十足,哪儿有什么为什么。没见过比 makefile 更简单的了
难道我对 makefile 有什么误解
hjchjc1993
2019-02-26 18:04:36 +08:00
以我两周的 c++开发经验,Makefile 可能在命令行的基础上提供了模块之间的依赖关系的信息?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/538297

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX