include config.mk CSS_FILES = $(patsubst assets_src/%, assets/%, $(shell find assets_src/css/ -type f -name '*.css')) LESS_FILES = $(patsubst assets_src/%.less, assets/%.css, $(shell find assets_src/css/ -type f -name '*.less')) JS_FILES = $(patsubst assets_src/%, assets/%, $(shell find assets_src/js/ -maxdepth 1 -type f -name '*.js')) BROWSERIFY := ./node_modules/browserify/bin/cmd.js LESSC := ./node_modules/less/bin/lessc rewrite_imports = "s/(require\([\"'])lib/\1.\/lib/g" all: .npm_update $(CSS_FILES) $(LESS_FILES) $(JS_FILES) print_info: @echo $(CSS_FILES) @echo $(LESS_FILES) @echo $(JS_FILES) .npm_update: package.json touch $@ npm install package.json: package.json.tpl config.mk export NAME=$(NAME) &&\ export VERSION=$(VERSION) &&\ ./bin/template.awk < $< | sh > $@ assets/css/%.css: assets_src/css/%.css @mkdir -p $(@D) cp $< $@ assets/css/%.css: assets_src/css/%.less mkdir -p $(@D) @echo lessc $< > $@ @$(LESSC) $< > $@ assets/js/%.js: assets_src/js/%.js .babelrc @echo browserify $< -o $@ @$(BROWSERIFY) --debug $< -o $@ -t babelify clean: -rm -- $(CSS_FILES) -rm -- $(LESS_FILES) -rm -- $(JS_FILES) superclean: clean -rm -- .npm_last_update -rm -- package.json ultraclean: superclean -rm -r -- node_modules run: all go run *.go .PHONY: all print_info clean superclean ultraclean run