Basic compiling

bin := ./node_modules/.bin

all: build/foo.js

build/%.js: src/%.coffee
    @$(bin)/coffee < $^ > [email protected]

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%" > [email protected]

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 ] $< > [email protected]