我想在 yui 压缩器中压缩 javascript,如何编写压缩 javascript 的 Make 文件。
因为语法难,看不懂,能给我一个Makefile的样例吗?
我想在 yui 压缩器中压缩 javascript,如何编写压缩 javascript 的 Make 文件。
因为语法难,看不懂,能给我一个Makefile的样例吗?
你的makefile看起来像
code.compressed.js: code.js
compressor -o $@ $<
请注意,第二行使用制表符缩进,而不仅仅是空格。make 实用程序关心这一点。
code.compressed.js
是应该写入文件的名称,code.js
是要压缩的文件,compressor
是执行压缩的程序。
该-o
标志指示输出文件,遵循编译器和类似工具的约定。您的可能会有所不同;检查其文档。
在这种情况下,该变量$@
是“此规则的目标”的 Makefile 简写。code.compressed.js
同样,$<
是“此规则的第一个依赖项”的缩写。这些变量很有用,因此您无需重复自己,也无需在文件重命名时进行重复更改。
如果您有多个文件都将被压缩到一个输出文件中,您可以将它们全部放在依赖行中,然后使用构建规则$^
中的特殊变量来指定所有这些文件:
code.compressed.js: code1.js code2.js
compressor -o $@ $^
或者,如果您希望它们分别压缩,您可以编写一个模式规则并将其用于所有它们:
TARGETS = code1.cjs code2.cjs code3.cjs
all: $(TARGETS)
%.cjs: %.js
compressor -o $@ $<
默认构建它看到的第一个目标,all
在这种情况下。TARGET
要压缩到的文件列表由变量的内容给出。The%
是一个通配符,make 将代替它生成匹配源文件名和目标文件名的规则。