GOCMD=go GOBUILD=$(GOCMD) build GOCLEAN=$(GOCMD) clean GOARCH=$(shell go env GOARCH) GOOS=$(shell go env GOOS ) BASE_PAH := $(shell pwd) BUILD_PATH = $(BASE_PAH)/build WEB_PATH=$(BASE_PAH)/frontend SERVER_PATH=$(BASE_PAH)/backend MAIN= $(BASE_PAH)/cmd/server/main.go APP_NAME=1panel ASSERT_PATH= $(BASE_PAH)/cmd/server/web/asserts clean_asserts: rm -rf $(ASSERT_PATH) upx_bin: upx $(BUILD_PATH)/$(APP_NAME) build_frontend: cd $(WEB_PATH) && npm install && npm run build:dev build_backend_on_linux: cd $(SERVER_PATH) \ && CGO_ENABLED=1 GOOS=$(GOOS) GOARCH=$(GOARCH) $(GOBUILD) -trimpath -ldflags '-s -w --extldflags "-static -fpic"' -tags 'osusergo,netgo' -o $(BUILD_PATH)/$(APP_NAME) $(MAIN) build_backend_on_darwin: cd $(SERVER_PATH) \ && CGO_ENABLED=1 GOOS=linux GOARCH=amd64 CC=x86_64-linux-musl-gcc CXX=x86_64-linux-musl-g++ $(GOBUILD) -trimpath -ldflags '-s -w --extldflags "-static -fpic"' -o $(BUILD_PATH)/$(APP_NAME) $(MAIN) build_backend_on_archlinux: cd $(SERVER_PATH) \ && CGO_ENABLED=1 GOOS=$(GOOS) GOARCH=$(GOARCH) $(GOBUILD) -trimpath -ldflags '-s -w --extldflags "-fpic"' -tags osusergo -o $(BUILD_PATH)/$(APP_NAME) $(MAIN) build_all: build_frontend build_backend_on_linux build_on_local: clean_asserts build_frontend build_backend_on_darwin upx_bin