makefile缩小文件
下面的代码不起作用,但旨在说明我想要实现的目标。我怎样才能使这个代码工作,或者有更好的方法。我想把我所有的CSS文件合并成一个文件,但要确保BASE_CSS下的所有文件都位于该文件的顶部makefile缩小文件,makefile,Makefile,下面的代码不起作用,但旨在说明我想要实现的目标。我怎样才能使这个代码工作,或者有更好的方法。我想把我所有的CSS文件合并成一个文件,但要确保BASE_CSS下的所有文件都位于该文件的顶部 BASE_CSS = %reset.css %reset2.css %reset3.css IGNORE_CSS = %main.min.css $(BASE_CSS) CSS_FILES = $(filter-out $(IGNORE_CSS),$(wildcard \ public/css/*.css
BASE_CSS = %reset.css %reset2.css %reset3.css
IGNORE_CSS = %main.min.css $(BASE_CSS)
CSS_FILES = $(filter-out $(IGNORE_CSS),$(wildcard \
public/css/*.css \
public/css/*/*.css \
public/css/*/*/*.css \
))
minify:
cat $(BASE_CSS) $(CSS_FILES) > public/css/main.min.css
这将实现我认为您想要的:
# Note the ":=".
# If we use "=", it will run "find" every time ALL_CSS_FILES is mentioned.
ALL_CSS_FILES := $(shell find public/css -name *.css)
BASE_PATTERN = %reset.css %reset2.css %reset3.css
BASE_CSS = $(filter $(BASE_PATTERN), $(ALL_CSS_FILES))
CSS_FILES = $(filter-out $(BASE_PATTERN) %main.min.css, $(ALL_CSS_FILES))
minify:
cat $(BASE_CSS) $(CSS_FILES) > public/css/main.min.css
编辑:要指定顺序,只需执行以下操作:
BASE_CSS = $(filter %reset.css, $(ALL_CSS_FILES))
BASE_CSS += $(filter %reset2.css, $(ALL_CSS_FILES))
BASE_CSS += $(filter %reset3.css, $(ALL_CSS_FILES))
谢谢有没有办法指定reset.css、reset2.css和reset3.css的顺序?