41 lines
1,014 B
Makefile
41 lines
1,014 B
Makefile
BIN = axiom-fullstack
|
|
SRC = $(wildcard *.go)
|
|
GO = $(shell which go)
|
|
|
|
DOTENV = .env
|
|
|
|
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) $(DOTENV) datadir
|
|
@env $(shell cat $(DOTENV) | xargs) ./$(BIN)
|
|
|
|
$(DOTENV):
|
|
@cp .env.example $@
|
|
|
|
datadir: $(DOTENV)
|
|
@APP_DATA_DIR=$$(grep '^APP_DATA_DIR=' $(DOTENV) | cut -d '=' -f2); \
|
|
if [ -n "$$APP_DATA_DIR" ]; then mkdir -p "$$APP_DATA_DIR"; fi
|
|
|
|
clean:
|
|
@echo "🧹 Cleaning..."
|
|
rm -rf $(BIN) $(TEMPLATE_DST) $(STATIC_DST)
|