.DEFAULT_GOAL := build APPLICATION_NAME ?= dndmusicbot CURRENT_UID := $(shell id -u) BIN := src/node_modules/.bin YARN = docker run --rm --user $(CURRENT_UID) -v $(CURDIR)/src:/app -v $(CURDIR)/public:/public dndmusicbot-js-build PHONY: js image build clean js: image public/script.js image: .jsimage .jsimage: export DOCKER_BUILDKIT=1 .jsimage: Dockerfile.js @docker build -t dndmusicbot-js-build . -f Dockerfile.js @touch .jsimage src/node_modules: mkdir -p $@ public: mkdir -p $@ src/yarn.lock: public src/node_modules src/package.json $(YARN) @touch -mr $(shell ls -Atd $? | head -1) $@ public/script.js: src/script.js src/yarn.lock src/app/*.tsx $(YARN) build $(APPLICATION_NAME): *.go ffmpeg/*.go speaker/*.go go.mod go.sum @go build build: image js $(APPLICATION_NAME) clean: rm -r public/* src/node_modules .jsimage $(APPLICATION_NAME)