fix: build all target platforms by default

This commit is contained in:
2026-08-05 06:11:57 +08:00
parent e3aed70d6c
commit f7f59a7ee4
3 changed files with 55 additions and 23 deletions
+32 -9
View File
@@ -11,6 +11,9 @@ BINARY_NAME := home-vue-go
WINDOWS_TEMP := $(BINARY_NAME)-windows-amd64.exe
LINUX_TEMP := $(BINARY_NAME)-linux-amd64
DARWIN_TEMP := $(BINARY_NAME)-darwin-amd64
ALL_WINDOWS_TEMP := $(BINARY_NAME)-all-windows-amd64.exe
ALL_LINUX_TEMP := $(BINARY_NAME)-all-linux-amd64
ALL_DARWIN_TEMP := $(BINARY_NAME)-all-darwin-amd64
ifeq ($(OS),Windows_NT)
NPM_CMD := npm.cmd
@@ -116,17 +119,34 @@ else
endif
@echo [build] Output: $(DIST_DIR)/$(BINARY_NAME)
ifeq ($(OS),Windows_NT)
build: build-windows
else
build: clean frontend
@echo [build] Building current platform package...
@GOPROXY="$(GOPROXY)" CGO_ENABLED=0 $(GO) build -trimpath -ldflags="-s -w" -o $(BINARY_NAME) .
@echo [build] Building Windows amd64 package...
ifeq ($(OS),Windows_NT)
@set "GOPROXY=$(GOPROXY)" && set "CGO_ENABLED=0" && set "GOOS=windows" && set "GOARCH=amd64" && $(GO) build -trimpath -ldflags="-s -w" -o $(ALL_WINDOWS_TEMP) .
@echo [build] Building Linux amd64 package...
@set "GOPROXY=$(GOPROXY)" && set "CGO_ENABLED=0" && set "GOOS=linux" && set "GOARCH=amd64" && $(GO) build -trimpath -ldflags="-s -w" -o $(ALL_LINUX_TEMP) .
@echo [build] Building macOS amd64 package...
@set "GOPROXY=$(GOPROXY)" && set "CGO_ENABLED=0" && set "GOOS=darwin" && set "GOARCH=amd64" && $(GO) build -trimpath -ldflags="-s -w" -o $(ALL_DARWIN_TEMP) .
@if exist $(DIST_DIR) rmdir /s /q $(DIST_DIR)
@mkdir $(DIST_DIR)
@move /y $(ALL_WINDOWS_TEMP) $(DIST_DIR)\$(BINARY_NAME)-windows-amd64.exe >nul
@move /y $(ALL_LINUX_TEMP) $(DIST_DIR)\$(BINARY_NAME)-linux-amd64 >nul
@move /y $(ALL_DARWIN_TEMP) $(DIST_DIR)\$(BINARY_NAME)-darwin-amd64 >nul
else
@GOPROXY="$(GOPROXY)" CGO_ENABLED=0 GOOS=windows GOARCH=amd64 $(GO) build -trimpath -ldflags="-s -w" -o $(ALL_WINDOWS_TEMP) .
@echo [build] Building Linux amd64 package...
@GOPROXY="$(GOPROXY)" CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GO) build -trimpath -ldflags="-s -w" -o $(ALL_LINUX_TEMP) .
@echo [build] Building macOS amd64 package...
@GOPROXY="$(GOPROXY)" CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 $(GO) build -trimpath -ldflags="-s -w" -o $(ALL_DARWIN_TEMP) .
@rm -rf $(DIST_DIR) && mkdir -p $(DIST_DIR)
@mv $(BINARY_NAME) $(DIST_DIR)/$(BINARY_NAME)
@chmod +x $(DIST_DIR)/$(BINARY_NAME)
@echo [build] Output: $(DIST_DIR)/$(BINARY_NAME)
@mv $(ALL_WINDOWS_TEMP) $(DIST_DIR)/$(BINARY_NAME)-windows-amd64.exe
@mv $(ALL_LINUX_TEMP) $(DIST_DIR)/$(BINARY_NAME)-linux-amd64
@mv $(ALL_DARWIN_TEMP) $(DIST_DIR)/$(BINARY_NAME)-darwin-amd64
@chmod +x $(DIST_DIR)/$(BINARY_NAME)-linux-amd64 $(DIST_DIR)/$(BINARY_NAME)-darwin-amd64
endif
@echo [build] Output: $(DIST_DIR)/$(BINARY_NAME)-windows-amd64.exe
@echo [build] Output: $(DIST_DIR)/$(BINARY_NAME)-linux-amd64
@echo [build] Output: $(DIST_DIR)/$(BINARY_NAME)-darwin-amd64
dist: build
@@ -145,9 +165,12 @@ ifeq ($(OS),Windows_NT)
@if exist $(WINDOWS_TEMP) del /f /q $(WINDOWS_TEMP)
@if exist $(LINUX_TEMP) del /f /q $(LINUX_TEMP)
@if exist $(DARWIN_TEMP) del /f /q $(DARWIN_TEMP)
@if exist $(ALL_WINDOWS_TEMP) del /f /q $(ALL_WINDOWS_TEMP)
@if exist $(ALL_LINUX_TEMP) del /f /q $(ALL_LINUX_TEMP)
@if exist $(ALL_DARWIN_TEMP) del /f /q $(ALL_DARWIN_TEMP)
else
@rm -rf $(DIST_DIR)
@rm -f $(BINARY_NAME) $(BINARY_NAME).exe $(WINDOWS_TEMP) $(LINUX_TEMP) $(DARWIN_TEMP)
@rm -f $(BINARY_NAME) $(BINARY_NAME).exe $(WINDOWS_TEMP) $(LINUX_TEMP) $(DARWIN_TEMP) $(ALL_WINDOWS_TEMP) $(ALL_LINUX_TEMP) $(ALL_DARWIN_TEMP)
endif
@echo [clean] Done.