cheatsheets/make-assets.md

51 lines
895 B
Markdown

---
title: Make for assets
hljs_languages: [makefile]
---
## Basic compiling
```makefile
bin := ./node_modules/.bin
all: build/foo.js
build/%.js: src/%.coffee
@$(bin)/coffee < $^ > $@
```
## Stylus + Autoprefixer
bin := ./node_modules/.bin
stylus := $(bin)/stylus
autoprefixer := $(bin)/autoprefixer
styl_files := $(shell find web/ -name "*.styl")
all: public/app.css
public/app.css: css/app.styl
%.css: %.styl $(styl_files)
@$(stylus) $< | $(autoprefixer) -b "> 1%" > $@
## Hint
hint:
$(js_files)
## Watching
watch:
@echo "... watching for changes"
@while true; do make -s; sleep 1; done
## Browserify
js_files := $(shell find web/ -name "*.js")
public/app.js: web/app.js
public/vendor.js: web/vendor.js
public/%.js: web/%.js $(js_files)
$(browserify) -t [ cssify -x .css ] $< > $@