yuiコンプレッサーでjavascriptを圧縮したいのですが、 書き方 圧縮javascript用のMakeファイルです。
文法が難しくてよくわからないので、サンプルのMakefileをいただけませんか?
yuiコンプレッサーでjavascriptを圧縮したいのですが、 書き方 圧縮javascript用のMakeファイルです。
文法が難しくてよくわからないので、サンプルのMakefileをいただけませんか?
あなたのメイクファイルは次のようになります
code.compressed.js: code.js
compressor -o $@ $<
2 行目はスペースだけでなく、タブ文字でインデントされていることに注意してください。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
変数の内容によって与えられます。これ%
は、make がソース ファイル名とターゲット ファイル名を一致させるためのルールを生成する代わりに使用するワイルドカードです。