私は GNU Make を使用して、静的な html ドキュメントの 3 つの異なるエディションを作成しています。
CSS プリプロセッサとして Less を使用します。
私のディレクトリ構造は次のようになります。
Makefile
160x600/style.less
300x250/style.less
728x90/style.less
これは私の Makefile です:
LESSC=lessc -x # use -x for debugging
.PHONY: all clean
all: 160x600 300x250 728x90
%.css: %.less
$(LESSC) $< > $@
160x600: 160x600/style.css
300x250: 300x250/style.css
728x90: 728x90/style.css
clean:
rm -f 160x600/*.css
rm -f 300x250/*.css
rm -f 728x90/*.css
このようにして、 make 160x600
style.less から style.css を構築するために使用できます。
ただし、各ディレクトリのターゲット ルールを明示的に一覧表示する必要はありません。代わりに、3 つのディレクトリ固有のルールの代わりに、このルールを追加してみました。
%: %/style.css
しかし、それはうまくいきません。その例から、私の目標が何であるかは明らかだと思います。all:
ルールにディレクトリ名をリストするだけでよいように、任意のディレクトリをターゲットとして受け入れる方法はありますか?