Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
kevinyoung
V2EX  ›  Linux

大家都是手写 Makefile 的吗?

  •  
  •   kevinyoung · Sep 24, 2015 · 6790 views
    This topic created in 4065 days ago, the information mentioned may be changed or developed.
    写了不少 Makefile 了感觉还是写起来不舒服,难道是姿势不对?

    隐约知道应该能自动生成 Makefile 的,但不太了解具体用什么工具。

    所以大家都是手写的还是用其他工具生成的?
    15 replies  •  2016-01-01 16:09:06 +08:00
    xylophone21
    xylophone21
    Sep 24, 2015❤️1
    1
    cmake
    Dragonite
    Dragonite
    Sep 24, 2015❤️1
    2
    有个叫 autotools 的工具, gnu 的
    pi1ot
    pi1ot
    Sep 24, 2015❤️1
    3
    cmake ,人类可理解,没有 automake 那么虐心
    chmlai
    chmlai
    Sep 24, 2015
    4
    cmake
    lsmgeb89
    lsmgeb89
    Sep 24, 2015 via iPad❤️1
    5
    cmake 不过这种东西都差不多,上手前看文档,用熟了都一样。
    oska874
    oska874
    Sep 24, 2015❤️1
    6
    手写 加 拷贝
    paw
    paw
    Sep 24, 2015
    7
    automake 啊
    tinyproxy
    tinyproxy
    Sep 24, 2015 via iPhone
    8
    gyp 你可以试试✺◟(∗❛ัᴗ❛ั∗)◞✺
    bramblex
    bramblex
    Sep 24, 2015
    9
    嗯,我会自己写一个脚本生成 makefile ……不过 makefile 的静态模式还是挺好用的就是了
    bramblex
    bramblex
    Sep 24, 2015
    10
    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:
    @mkdir -p dist

    dist/min: dist
    @mkdir -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 $< $@

    $(mini_target_files):dist/min/%.min.js:dist/%.js
    java -jar tools/compiler/compiler.jar $< --js_output_file=$@

    .PHONY: clean
    clean:
    rm -r dist

    ==================================
    就是 % @ < $ 这几个符号比较蛋疼,其他都还好理解。
    dididada
    dididada
    Sep 25, 2015
    11
    用 shell 脚本生成的
    doyoubi
    doyoubi
    Sep 26, 2015
    12
    premake 简单易用
    fuxpro
    fuxpro
    Oct 6, 2015
    13
    小工程可以直接手写 makefile ,不过对于团队化的项目管理,不推荐这么做,团队化的项目管理,对于构建文件应该采用模板机制, 可以先根据项目的结构制作一个模块,在这个模块的基础上进行增强维护。

    另外的一种方法是采用 cmake 之类的工具。目前参与过的项目基本上都是自己维护自己的模板,使用 cmake 的也不是很多。

    个人更倾向于使用 cmake 之类的工具。
    Owenjia
    Owenjia
    Oct 14, 2015
    14
    SCons 或者 CMake 吧,简单的小程序手写还行。
    waruqi
    waruqi
    Jan 1, 2016
    15
    xmake ,我的所有个人项目都用这个,个人觉得比 cmake 好用,简单方便,也是跨平台的。。。

    https://github.com/waruqi/xmake
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1355 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 16:59 · PVG 00:59 · LAX 08:59 · JFK 11:59
    ♥ Do have faith in what you're doing.