ESFLAGS = --target=esnext --format=esm deploy-dir: deploy deploy/bundle.js deploy/index.html deploy/bangs-ddgless deploy.zip: deploy-dir zip deploy.zip -r deploy deploy: mkdir -p deploy watch: esbuild frontend/main.ts --bundle --outfile=deploy/bundle.js $(ESFLAGS) --watch deploy/bundle.js: $(shell find frontend -name '*.ts') esbuild frontend/main.ts --bundle --outfile=deploy/bundle.js $(ESFLAGS) deploy/index.html: frontend/index.html cp $< $@ deploy/bangs-ddgless: $(shell find src -name '*.hs') stack install --local-bin-path deploy clean: stack clean --full rm deploy/{bundle.js,index.html,bangs-ddgless} rm deploy.zip rmdir deploy # this may fail if the server was run, due to the bangs.json being generated .PHONY: watch clean