diff --git a/Makefile b/Makefile index 5f32f4e..7af7907 100644 --- a/Makefile +++ b/Makefile @@ -1,46 +1,46 @@ .DEFAULT_GOAL=help -BINARY_NAME=iptvc -ARCH=amd64 +BINARY_NAME := iptvc +ARCH ?= amd64 -LINUX_PATH="bin/linux_${ARCH}" -WINDOWS_PATH="bin/windows_${ARCH}" -DARWIN_PATH="bin/darwin_${ARCH}" +LINUX_PATH := "bin/linux_$(ARCH)" +WINDOWS_PATH := "bin/windows_$(ARCH)" +DARWIN_PATH := "bin/darwin_$(ARCH)" -LINUX_FILE="${LINUX_PATH}/${BINARY_NAME}" -WINDOWS_FILE="${WINDOWS_PATH}/${BINARY_NAME}.exe" -DARWIN_FILE="${DARWIN_PATH}/${BINARY_NAME}" +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 @rm -rf bin/ -## linux: Build new binaries for linux (x64) +## linux: Build new binaries for linux linux: - @rm -rf ${LINUX_PATH} - @GOARCH=${ARCH} GOOS=linux go build -o ${LINUX_FILE} . && echo "Compiled: ${LINUX_FILE}" + @rm -rf $(LINUX_PATH) + @GOARCH=$(ARCH) GOOS=linux go build -o $(LINUX_FILE) . && echo "Compiled: $(LINUX_FILE)" -## win: Build new binaries for windows (x64) +## win: Build new binaries for windows win: - @rm -rf ${WINDOWS_PATH} - @GOARCH=${ARCH} GOOS=windows go build -o ${WINDOWS_FILE} . && echo "Compiled: ${WINDOWS_FILE}" + @rm -rf $(WINDOWS_PATH) + @GOARCH=$(ARCH) GOOS=windows go build -o $(WINDOWS_FILE) . && echo "Compiled: $(WINDOWS_FILE)" -## darwin: Build new binaries for darwin (x64) +## darwin: Build new binaries for darwin darwin: - @rm -rf ${DARWIN_PATH} - @GOARCH=${ARCH} GOOS=darwin go build -o ${DARWIN_FILE} . && echo "Compiled: ${DARWIN_FILE}" + @rm -rf $(DARWIN_PATH) + @GOARCH=$(ARCH) GOOS=darwin go build -o $(DARWIN_FILE) . && echo "Compiled: $(DARWIN_FILE)" -## all: Build new binaries for linux, windows and darwin (x64) +## all: Build new binaries for linux, windows and darwin all: clean linux win darwin ## release: Build all binaries and zip them -release: clean darwin linux win - @zip -j ${LINUX_PATH}.zip ${LINUX_FILE} - @zip -j ${DARWIN_PATH}.zip ${DARWIN_FILE} - @zip -j ${WINDOWS_PATH}.zip ${WINDOWS_FILE} +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) ## help: Show this message and exit help: Makefile - @echo "Choose a command run:" + @echo "Available recipes:" @sed -n 's/^##//p' $< | column -t -s ':' | sed -e 's/^/ /'