diff --git a/Makefile b/Makefile index d30c8e4..5cadd3b 100644 --- a/Makefile +++ b/Makefile @@ -3,14 +3,6 @@ BINARY_NAME := iptvc GOARCH ?= amd64 -LINUX_PATH := "bin/linux_$(GOARCH)" -WINDOWS_PATH := "bin/windows_$(GOARCH)" -DARWIN_PATH := "bin/darwin_$(GOARCH)" - -LINUX_FILE := "$(LINUX_PATH)/$(BINARY_NAME)" -WINDOWS_FILE := "$(WINDOWS_PATH)/$(BINARY_NAME).exe" -DARWIN_FILE := "$(DARWIN_PATH)/$(BINARY_NAME)" - ## clean: Remove all compiled binaries clean: @go clean @@ -18,29 +10,35 @@ clean: ## linux: Build new binaries for linux linux: - @rm -rf $(LINUX_PATH) - @GOARCH=$(GOARCH) GOOS=linux go build -o $(LINUX_FILE) . && echo "Compiled: $(LINUX_FILE)" + @rm -rf bin/linux_$(GOARCH) + @GOARCH=$(GOARCH) GOOS=linux go build -o bin/linux_$(GOARCH)/$(BINARY_NAME) . + @zip -j bin/linux_$(GOARCH).zip bin/linux_$(GOARCH)/$(BINARY_NAME) + @echo "Compiled: bin/linux_$(GOARCH)/$(BINARY_NAME) ($(GOARCH))" ## win: Build new binaries for windows win: - @rm -rf $(WINDOWS_PATH) - @GOARCH=$(GOARCH) GOOS=windows go build -o $(WINDOWS_FILE) . && echo "Compiled: $(WINDOWS_FILE)" + @rm -rf bin/windows_$(GOARCH) + @GOARCH=$(GOARCH) GOOS=windows go build -o bin/windows_$(GOARCH)/$(BINARY_NAME).exe . + @zip -j bin/windows_$(GOARCH).zip bin/windows_$(GOARCH)/$(BINARY_NAME).exe + @echo "Compiled: bin/windows_$(GOARCH)/$(BINARY_NAME).exe ($(GOARCH))" ## darwin: Build new binaries for darwin darwin: - @rm -rf $(DARWIN_PATH) - @GOARCH=$(GOARCH) GOOS=darwin go build -o $(DARWIN_FILE) . && echo "Compiled: $(DARWIN_FILE)" - -## all: Build new binaries for linux, windows and darwin -all: clean linux win darwin + @rm -rf bin/darwin_$(GOARCH) + @GOARCH=$(GOARCH) GOOS=darwin go build -o bin/darwin_$(GOARCH)/$(BINARY_NAME) . + @zip -j bin/darwin_$(GOARCH).zip bin/darwin_$(GOARCH)/$(BINARY_NAME) + @echo "Compiled: bin/darwin_$(GOARCH)/$(BINARY_NAME) ($(GOARCH))" ## release: Build all binaries and zip them -release: linux win darwin - @zip -j $(LINUX_PATH).zip $(LINUX_FILE) - @zip -j $(DARWIN_PATH).zip $(DARWIN_FILE) - @zip -j $(WINDOWS_PATH).zip $(WINDOWS_FILE) +release: clean + @make linux GOARCH=amd64 + @make linux GOARCH=arm64 + @make win GOARCH=amd64 + @make win GOARCH=arm64 + @make darwin GOARCH=amd64 + @make darwin GOARCH=arm64 ## help: Show this message and exit help: Makefile @echo "Available recipes:" - @sed -n 's/^##//p' $< | column -t -s ':' | sed -e 's/^/ /' + @sed -n 's/^##//p' $< | column -t -s ':' | sed -e 's/^/ /'