fosspay/Makefile

46 lines
946 B
Makefile

# Builds static assets
# Depends on:
# - scss
# - inotify-tools
# Run `make` to compile static assets
# Run `make watch` to recompile whenever a change is made
.PHONY: all static watch clean
STYLES:=$(patsubst styles/%.scss,static/%.css,$(wildcard styles/*.scss))
STYLES+=$(patsubst styles/%.css,static/%.css,$(wildcard styles/*.css))
SCRIPTS:=$(patsubst scripts/%.js,static/%.js,$(wildcard scripts/*.js))
_STATIC:=$(patsubst _static/%,static/%,$(wildcard _static/*))
static/%: _static/%
@mkdir -p static/
cp -r $< $@
static/%.css: styles/%.css
@mkdir -p static/
cp $< $@
static/%.css: styles/%.scss
@mkdir -p static/
scss -I styles/ $< $@
static/%.js: scripts/%.js
@mkdir -p static/
cp $< $@
static: $(STYLES) $(SCRIPTS) $(_STATIC)
all: static
echo $(STYLES)
echo $(SCRIPTS)
clean:
rm -rf static
watch:
while inotifywait \
-e close_write scripts/ \
-e close_write styles/ \
-e close_write _static/; \
do make; done