all: build

build:
	spago build

bundle: install-esbuild
	PATH=$$PATH:node_modules/.bin spago bundle-app
	mv index.js app/

repl:
	spago repl

spagobuild:
	spago build

docs:
	spago docs

DOCS_HTTPD_ACCESS_LOGS ?= /tmp/docs-access.log
DOCS_HTTPD_ADDR        ?= 127.0.0.1
DOCS_HTTPD_PORT        ?= 30000
DOCS_DIR               ?= generated-docs/html
serve-docs: docs
	darkhttpd $(DOCS_DIR) --addr $(DOCS_HTTPD_ADDR) --port $(DOCS_HTTPD_PORT) --log $(DOCS_HTTPD_ACCESS_LOGS)

install-esbuild:
	@echo "install ebbuild"
	[ -f node_modules/.bin/esbuild ] || npm install esbuild

HTTPD_ACCESS_LOGS ?= /tmp/access.log
HTTPD_ADDR        ?= 127.0.0.1
HTTPD_PORT        ?= 35000
DIR               ?= app
serve:
	darkhttpd $(DIR) --addr $(HTTPD_ADDR) --port $(HTTPD_PORT) --log $(HTTPD_ACCESS_LOGS)

# NPM can serve it, but it's slow for nothing.
#serve:
#	npm run serve

# You can add your specific instructions there.
-include makefile.user