2011-12-05 53 views
8

我有一些較少的文件,我想使用makefile進行編譯。使用makefile編譯所有少的文件

DEBUG=yes 
LESS_FILES= static/backend/css/styles.less static/frontend/css/styles.less 

ifeq ($(DEBUG),yes) 
    LESSC=lessc 
else 
    LESSC=lessc -x 
endif 


less: $(LESS_FILES) 

%.css: %.less 
    $(LESSC) $< > [email protected] 

我創造了這個makefile,但是如果開始make less當我得到:

make: Rien à faire pour « less ». 

文件.css還不存在。怎麼了 ?

回答

11

我懂了!有時它有助於問這個問題找到答案......

DEBUG=True 
LESS_FILES= static/admin/css/modulo_admin.less 
CSS_FILES=$(LESS_FILES:.less=.css) 

ifeq ($(DEBUG),True) 
    LESSC=lessc 
else 
    LESSC=lessc -x 
endif 

less: $(CSS_FILES) 

%.css: %.less 
    $(LESSC) $< > [email protected] 
+0

嘿,還不錯。 :) – sarnold

1

注意目標less取決於文件。那些已經存在並且是最新的。

我建議改變less目標看起來更像是這樣的:

less: $(CSS_FILES:.less=.css) 

(未經測試,我沒有安裝lessc工具,也沒有合適的輸入文件。)