2

これが私のメイクファイルです:

STYLES = $(wildcard views/*/*.styl)
CSS = $(STYLES:.styl=.css)

all: $(CSS)
    component build

%.css: %.styl
    @echo $<

この例は毎回コンパイルされます。これは、CSS ファイルが存在しない/存在しないためです/build。ソースを再コンパイルせずに別のディレクトリにビルドするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

0

了解しました。クリーンアップに関するいくつかの提案が必要です...

STYLUS = node_modules/stylus/bin/stylus
STYLES = $(subst views, , $(wildcard views/*/*.styl))
CSS = $(STYLES:.styl=.css)

all: $(addprefix build, $(CSS))
    component build

build/%.css: views/%.styl
    mkdir -p $(dir $@)
    $(STYLUS) -u nib -o $(dir $@) $<

clean:
    rm -rf build

.PHONY: clean
于 2012-11-29T07:21:29.823 に答える
-1

あなたの質問は特に makefile に関するものですが、スタイラス プロジェクトの構築に grunt.js (https://github.com/gruntjs/grunt-contrib-stylus/) を使用することを検討してください。これは JavaScript ベースで node.js 上で実行され、make を使用するよりもセットアップ、構成、保守がはるかに簡単です。

さらに、grunt を使用してプロジェクト全体のビルド プロセスを簡単に管理できるため、JavaScript を連結して縮小し、ビルド後に一時フォルダーを消去する必要がある場合は、それらのタスクを追加するだけで済みます...これは非常に優れたビルド システムです。 .

于 2012-12-06T02:16:33.187 に答える