大家都是手写 Makefile 的吗?
- 0次
- 2021-07-08 11:13:12
- idczone
写了不少 Makefile 了感觉还是写起来不舒服,难道是姿势不对?
隐约知道应该能自动生成 Makefile 的,但不太了解具体用什么工具。
所以大家都是手写的还是用其他工具生成的?
cmake
有个叫 autotools 的工具, gnu 的
cmake ,人类可理解,没有 automake 那么虐心
cmake
cmake 不过这种东西都差不多,上手前看文档,用熟了都一样。
手写 加 拷贝
automake 啊
gyp 你可以试试✺◟(∗❛ัᴗ❛ั∗)◞✺
嗯,我会自己写一个脚本生成 makefile ……不过 makefile 的静态模式还是挺好用的就是了
source_file = $(shell ls src/)
objects = $(foreach o, $(source_file), $(subst .js, ,$(o)))
target_files = $(foreach o, $(objects), dist/$(o).js)
mini_target_files = $(foreach o, $(objects), dist/min/$(o).min.js)
.PHONY: all
all: modules
dist:
-p dist
dist/min: dist
-p dist/min
.PHONY: modules
modules: dist $(target_files)
.PHONY: minify
minify: dist/min $(mini_target_files)
$(target_files):dist/%.js:src/%.js
tools/UMDT/umdt $< [email&/> java -jar tools/compiler/compiler.jar $< [email&clean
clean:
rm -r dist
==================================
就是 % @ < $ 这几个符号比较蛋疼,其他都还好理解。
用 shell 脚本生成的
premake 简单易用
小工程可以直接手写 makefile ,不过对于团队化的项目管理,不推荐这么做,团队化的项目管理,对于构建文件应该采用模板机制, 可以先根据项目的结构制作一个模块,在这个模块的基础上进行增强维护。
另外的一种方法是采用 cmake 之类的工具。目前参与过的项目基本上都是自己维护自己的模板,使用 cmake 的也不是很多。
个人更倾向于使用 cmake 之类的工具。
SCons 或者 CMake 吧,简单的小程序手写还行。
xmake ,我的所有个人项目都用这个,个人觉得比 cmake 好用,简单方便,也是跨平台的。。。
https://github.com/waruqi/xmake