BIN = axiom SRC = $(wildcard *.go) GO = $(shell which go) DOTENV = .env -include $(DOTENV) TEMPLATE_SRC = $(shell find templates -type f) STATIC_SRC = $(shell find static -type f) TEMPLATE_DST = min/views STATIC_DST = min/static all: $(BIN) $(BIN): $(SRC) $(TEMPLATE_DST) $(STATIC_DST) @echo "๐Ÿ”จ Building binary..." @$(GO) build -o $(BIN) $(TEMPLATE_DST): $(TEMPLATE_SRC) scripts/minify.go @echo "๐ŸŽจ Minifying templates..." @$(GO) run scripts/minify.go -src=templates -dst=$(TEMPLATE_DST) @touch $@ $(STATIC_DST): $(STATIC_SRC) scripts/minify.go @echo "๐ŸŽจ Minifying static files..." @$(GO) run scripts/minify.go -src=static -dst=$(STATIC_DST) @touch $@ run: $(BIN) @PRODUCTION=${PRODUCTION} \ PORT=${PORT} \ APP_DATA_DIR=${APP_DATA_DIR} \ DB_CONNDVR=${DB_CONNDVR} \ DB_CONNSTR=${DB_CONNSTR} \ ./$(BIN) clean: @echo "๐Ÿงน Cleaning..." rm -rf $(BIN) $(TEMPLATE_DST) $(STATIC_DST)