39 lines
877 B
Makefile
39 lines
877 B
Makefile
|
|
SHELL := /bin/bash
|
||
|
|
|
||
|
|
BACKEND_DIR := backend
|
||
|
|
WEB_DIR := backend/web
|
||
|
|
|
||
|
|
.DEFAULT_GOAL := help
|
||
|
|
|
||
|
|
.PHONY: help
|
||
|
|
help: ## 顯示可用指令
|
||
|
|
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
|
||
|
|
| awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-18s\033[0m %s\n", $$1, $$2}'
|
||
|
|
|
||
|
|
.PHONY: gen-api
|
||
|
|
gen-api: ## 重新產生後端 API handler / logic / types
|
||
|
|
$(MAKE) -C $(BACKEND_DIR) gen-api
|
||
|
|
|
||
|
|
.PHONY: fmt
|
||
|
|
fmt: ## 格式化後端 Go 程式
|
||
|
|
$(MAKE) -C $(BACKEND_DIR) fmt
|
||
|
|
|
||
|
|
.PHONY: test
|
||
|
|
test: ## 執行後端測試
|
||
|
|
$(MAKE) -C $(BACKEND_DIR) test
|
||
|
|
|
||
|
|
.PHONY: run
|
||
|
|
run: ## 啟動後端 API
|
||
|
|
$(MAKE) -C $(BACKEND_DIR) run
|
||
|
|
|
||
|
|
.PHONY: web-dev
|
||
|
|
web-dev: ## 啟動正式前端 dev server
|
||
|
|
cd $(WEB_DIR) && npm install && npm run dev
|
||
|
|
|
||
|
|
.PHONY: web-build
|
||
|
|
web-build: ## 建置正式前端
|
||
|
|
cd $(WEB_DIR) && npm install && npm run build
|
||
|
|
|
||
|
|
.PHONY: verify
|
||
|
|
verify: test web-build ## 後端測試與前端建置
|