1

我有以下使用 GNU 自动工具的 makefile:

AUTOMAKE_OPTIONS = subdir-objects

bin_PROGRAMS = app

app_SOURCES = \
    core/main.cpp

nodist_app_SOURCES = \
    index.cpp \
    index.ecpp.js.cpp

AM_INCLUDES = -I$(top_srcdir)/src

index.cpp: index.ecpp
    $(ECPPC) index.ecpp -o index.cpp

index.ecpp.js.cpp: index.ecpp.js
    $(ECPPC) -b index.ecpp.js

index.ecpp:
    vulcanize -o index.ecpp core/view/index.html --inline --strip --csp

会发生什么(在这种情况下仅针对 index.html):

  • vulcanize 从 .html 文件中创建 .ecpp 和 .ecpp.js 文件
  • 这些新创建的文件由 epppc 编译器编译为 .cpp 文件
  • 创建的 .cpp 文件是用 g++ 编译的

我有很多 .html 文件需要处理,我该如何完成?

4

1 回答 1

2

您可以使用Suffix 规则Pattern 规则。就您而言,两者都应该同样出色地完成工作。

唯一的区别是 Pattern 规则是 GNU-Make 特定的(与 Unix make 不兼容),尽管我链接到的 GNU 手册不鼓励使用 Suffix 规则,可能是因为它可能的用例比那些模式规则。

于 2015-02-28T22:16:17.027 回答