gpt4 book ai didi

makefile - 使用 GNU Make 查找 Unix 以自动更新文件

转载 作者:行者123 更新时间:2023-12-03 07:29:51 25 4
gpt4 key购买 nike

我有 .haml文件并希望将它们自动转换为 .html文件并在 .haml 时更新后者被改变。

通用的 makefile 规则没有问题:

%.html: %.haml
hamlpy $< $@

但现在我需要一个规则或命令来执行以下操作:
  • 查找所有 X.haml templates/ 中的文件
  • 执行 make X.html命令,其中 X 是相同的文件名( haml 替换为 html )。

  • 我找不到如何使用 GNU Make 或 Unix find 来做到这一点。

    最佳答案

    您可以使用 GNU make wildcard在某个目录中查找文件的函数:

    INDIR := templates
    OUTDIR := ${CURDIR}

    haml_files := $(wildcard ${INDIR}/*.haml)
    html_files := $(subst ${INDIR}/,${OUTDIR}/,${haml_files:.haml=.html})

    all : ${html_files}

    clean :
    rm -f ${html_files}

    ${OUTDIR}/%.html : ${INDIR}/%.haml
    hamlpy $< $@

    .PHONY : all clean
    INDIROUTDIR可以在命令行上自定义,例如,使用当前目录进行输入和输出:
    $ make INDIR=. OUTDIR=.

    关于makefile - 使用 GNU Make 查找 Unix 以自动更新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11720757/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com