personal-site/Makefile
2025-04-20 10:44:14 -04:00

41 lines
1.1 KiB
Makefile

.PHONY: help
help: ## Print make targets
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
.PHONY: ent-install
ent-install: ## Install Ent code-generation module
go get entgo.io/ent/cmd/ent
.PHONY: air-install
air-install: ## Install air
go install github.com/air-verse/air@latest
.PHONY: ent-gen
ent-gen: ## Generate Ent code
go generate ./ent
.PHONY: ent-new
ent-new: ## Create a new Ent entity (ie, make ent-new NAME=MyEntity)
go run entgo.io/ent/cmd/ent new $(NAME)
.PHONY: admin
admin: ## Create a new admin (ie, make admin EMAIL=myemail@web.com)
go run cmd/admin/main.go --email=$(EMAIL)
.PHONY: run
run: ## Run the application
clear
go run cmd/web/main.go
.PHONY: watch
watch: ## Run the application and watch for changes with air to automatically rebuild
clear
air
.PHONY: test
test: ## Run all tests
go test ./...
.PHONY: check-updates
check-updates: ## Check for direct dependency updates
go list -u -m -f '{{if not .Indirect}}{{.}}{{end}}' all | grep "\["