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

大家都是手写 Makefile 的吗?

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

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

    所以大家都是手写的还是用其他工具生成的?
    15 replies    2016-01-01 16:09:06 +08:00
    xylophone21
        1
    xylophone21  
       Sep 24, 2015   ❤️ 1
    cmake
    Dragonite
        2
    Dragonite  
       Sep 24, 2015   ❤️ 1
    有个叫 autotools 的工具, gnu 的
    pi1ot
        3
    pi1ot  
       Sep 24, 2015   ❤️ 1
    cmake ,人类可理解,没有 automake 那么虐心
    chmlai
        4
    chmlai  
       Sep 24, 2015
    cmake
    lsmgeb89
        5
    lsmgeb89  
       Sep 24, 2015 via iPad   ❤️ 1
    cmake 不过这种东西都差不多,上手前看文档,用熟了都一样。
    oska874
        6
    oska874  
       Sep 24, 2015   ❤️ 1
    手写 加 拷贝
    paw
        7
    paw  
       Sep 24, 2015
    automake 啊
    tinyproxy
        8
    tinyproxy  
       Sep 24, 2015 via iPhone
    gyp 你可以试试✺◟(∗❛ัᴗ❛ั∗)◞✺
    bramblex
        9
    bramblex  
       Sep 24, 2015
    嗯,我会自己写一个脚本生成 makefile ……不过 makefile 的静态模式还是挺好用的就是了
    bramblex
        10
    bramblex  
       Sep 24, 2015
    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
        11
    dididada  
       Sep 25, 2015
    用 shell 脚本生成的
    doyoubi
        12
    doyoubi  
       Sep 26, 2015
    premake 简单易用
    fuxpro
        13
    fuxpro  
       Oct 6, 2015
    小工程可以直接手写 makefile ,不过对于团队化的项目管理,不推荐这么做,团队化的项目管理,对于构建文件应该采用模板机制, 可以先根据项目的结构制作一个模块,在这个模块的基础上进行增强维护。

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

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

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