diff options
Diffstat (limited to 'makefile')
-rw-r--r-- | makefile | 45 |
1 files changed, 21 insertions, 24 deletions
@@ -1,38 +1,35 @@ ESFLAGS = --target=esnext --format=esm +.PHONY: watch-script watch-style clean all -deploy-dir: deploy deploy/fastbangs deploy/fastbangs.yaml +all: deploy/fastbangs deploy/fastbangs.yaml + +deploy/fastbangs.yaml: fastbangs.yaml + cp --no-clobber $< $@; true +deploy/fastbangs: $(shell find src -name '*.hs') build/bundle.js build/index.html build/style.css + stack install --local-bin-path deploy + +build/index.html: frontend/index.html + cp $< $@ +build/bundle.js: $(shell find frontend -name '*.ts') frontend/fuzzysort.js + esbuild frontend/main.ts --bundle --outfile=build/bundle.js $(ESFLAGS) +build/style.css: frontend/style.sass + sassc $< $@ + +frontend/fuzzysort.js: + curl -s 'https://cdn.jsdelivr.net/npm/fuzzysort@2.0.4/fuzzysort.min.js' -o $@ -.PHONY: watch-script watch-style clean deploy-dir build-dir watch-script: frontend/fuzzysort.js esbuild frontend/main.ts --bundle --outfile=deploy/bundle.js $(ESFLAGS) --watch watch-style: while true; do make deploy/style.css; inotifywait -e modify -e move frontend/style.sass; done +deploy.zip: all + zip deploy.zip -r deploy + clean: stack clean --full rm -f deploy.zip rm -f frontend/fuzzysort.js - rm -rf build + rm -rf build/* # This leaves the deploy directory, which is intentional, as it may contain # user data - -build-dir: - mkdir -p build -build/index.html: frontend/index.html build-dir - cp $< $@ -build/bundle.js: $(shell find frontend -name '*.ts') frontend/fuzzysort.js build-dir - esbuild frontend/main.ts --bundle --outfile=build/bundle.js $(ESFLAGS) -build/style.css: frontend/style.sass build-dir - sassc $< $@ - -deploy.zip: deploy-dir - zip deploy.zip -r deploy -deploy: - mkdir -p deploy -deploy/fastbangs.yaml: fastbangs.yaml - cp --no-clobber $< $@; true -deploy/fastbangs: $(shell find src -name '*.hs') build/bundle.js build/index.html build/style.css - stack install --local-bin-path deploy - -frontend/fuzzysort.js: - curl -s 'https://cdn.jsdelivr.net/npm/fuzzysort@2.0.4/fuzzysort.min.js' -o $@ |