1234567891011121314151617181920212223242526272829303132333435363738394041 |
- edit ?= service
- GOHOSTOS = $(shell go env GOHOSTOS)
- GOHOSTARCH = $(shell go env GOHOSTARCH)
- GOOS ?= ${GOHOSTOS}
- GOARCH ?= ${GOHOSTARCH}
- END =
- ifeq (${GOOS}, windows)
- END=.exe
- endif
- EDIT = ${edit}${END}
- commitId = $(shell git rev-parse HEAD)
- GO_TAGS = jsoniter
- GO_LDFLAGS = -w -s -X main.buildOS="${GOHOSTOS}/${GOHOSTARCH}" -X main.commitId="${commitId}"
- GO_FLAGS = -ldflags="${GO_LDFLAGS}" -tags="${GO_TAGS}"
- $(shell go env -w CGO_ENABLED=0)
- catNoGoFile = $(filter-out %.go, $(wildcard ${1}/*))
- catGoFile = $(filter %.go %_test.go, $(wildcard ${1}/*))
- FindGoFile = $(foreach i,${1},$(if $(call catNoGoFile,${i}),$(call FindGoFile,$(call catNoGoFile,${i}))) $(call catGoFile,${i}))
- FILES = $(call FindGoFile,.)
- ${EDIT}:${FILES} Makefile
- @echo "Lock Files: ${FILES}"
- CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} go build -o $@ ${GO_FLAGS} ./com
- ${FILES}:
- .PHONY: test clean run
- clean:
- -rm ${EDIT}
- test:
- @echo "Lock Files: ${FILES}"
- run:${EDIT}
- nohup ${EDIT} > server.log 2>&1 &
|