使用makefile编译所有较少的文件

时间:2011-12-05 12:33:03

标签: 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) $< > $@

我创建了这个makefile,但是在启动make less时,我得到了:

make: Rien à faire pour « less ».

文件.css尚不存在。怎么了?

2 个答案:

答案 0 :(得分: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) $< > $@

答案 1 :(得分:1)

请注意,目标less取决于文件。那些已经存在并且是最新的。

我建议将less目标更改为更像这样:

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

(未经测试,我没有安装lessc工具,也没有合适的输入文件。)