From 70e37aca175a844a818c3cfc6ee4fbc5ad6185b3 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Sat, 25 Jan 2025 15:11:54 +0700 Subject: all: simplify make file Remove unused tasks, move the .PHONY at the top of each tasks, and rename some task by using common prefix instead on suffix. --- Makefile | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 5a1009c..2865d39 100644 --- a/Makefile +++ b/Makefile @@ -1,36 +1,47 @@ -.PHONY: all clean embed build install dev deploy -.PHONY: install-local install-local-macos -.PHONY: deploy-local deploy-vm - MACOS_SERVICE=local.golangid PROGRAM_NAME=www-golangid +.PHONY: all all: install +.PHONY: clean clean: go clean -i ./cmd/$(PROGRAM_NAME) rm -f ./$(PROGRAM_NAME) find ./content -name "*.html" -delete +.PHONY: embed embed: go run ./cmd/www-golangid embed +.PHONY: build build: embed go build ./cmd/$(PROGRAM_NAME) +.PHONY: install install: embed go install ./cmd/$(PROGRAM_NAME) +.PHONY: dev dev: go run ./cmd/$(PROGRAM_NAME) -dev -deploy: build-deploy - rsync --progress ./$(PROGRAM_NAME) golang-id.org:/data/app/bin/ -build-deploy: embed +##---- Deployment. + +.PHONY: deploy-build +deploy-build: embed unset CGO_ENABLED; \ GOOS=linux GOARCH=amd64 go build ./cmd/$(PROGRAM_NAME) +.PHONY: deploy-remote +deploy-remote: deploy-build + rsync --progress ./$(PROGRAM_NAME) golang-id.org:/data/app/bin/ + + +##---- Local installation. + +.PHONY: install-local install-local: deploy-local sudo cp ./cmd/$(PROGRAM_NAME)/$(PROGRAM_NAME).path /etc/systemd/system/ sudo cp ./cmd/$(PROGRAM_NAME)/$(PROGRAM_NAME).service /etc/systemd/system/ @@ -38,7 +49,11 @@ install-local: deploy-local sudo systemctl enable $(PROGRAM_NAME) sudo systemctl start $(PROGRAM_NAME) -install-local-macos: + +##---- Local installation on macos. + +.PHONY: macos-install-local +macos-install-local: cp cmd/$(PROGRAM_NAME)/$(MACOS_SERVICE).plist ~/Library/LaunchAgents/ mkdir -p ~/bin CGO_ENABLED=0 go build ./cmd/www-golangid @@ -46,8 +61,6 @@ install-local-macos: launchctl load ~/Library/LaunchAgents/$(MACOS_SERVICE).plist launchctl start $(MACOS_SERVICE) -deploy-local: build +.PHONY: macos-deploy-local +macos-deploy-local: build sudo cp -f ./$(PROGRAM_NAME) /usr/local/bin/ - -deploy-vm: build - rsync ./$(PROGRAM_NAME) golang-id.local:~/bin/ -- cgit v1.3