mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-04-29 06:35:07 +03:00
Added makefile and separate binaries compilation
This commit is contained in:
parent
f84f0a5f19
commit
5e53fc4f9d
3 changed files with 80 additions and 18 deletions
37
makefile
Normal file
37
makefile
Normal file
|
@ -0,0 +1,37 @@
|
|||
ALL_ARCHS=amd64
|
||||
ALL_OS=linux windows macos
|
||||
ALL_PLATFORMS=linux-amd64 windows-amd64 macos-amd64
|
||||
ALL_EXE=mesh meshctl mesh_ui
|
||||
|
||||
OUT_DIR=built
|
||||
|
||||
PATH:=/devroot/toolchain/amd64-w64-mingw32-seh-cpp20/bin:$(PATH)
|
||||
|
||||
take=$(word $1,$(subst -, ,$2))
|
||||
|
||||
all: $(ALL_PLATFORMS)
|
||||
|
||||
$(addprefix $(OUT_DIR)/,$(ALL_PLATFORMS)):
|
||||
mkdir -p $@
|
||||
|
||||
|
||||
linux-amd64: $(addprefix linux-amd64-,$(ALL_EXE))
|
||||
|
||||
windows-amd64: $(addprefix windows-amd64-,$(ALL_EXE))
|
||||
windows-amd64-%: BUILD_ENV=CGO_ENABLED=1 CC=amd64-w64-mingw32-gcc CXX=amd64-w64-mingw32-g++
|
||||
|
||||
macos-amd64: $(addprefix macos-amd64-,$(ALL_EXE))
|
||||
macos-amd64-%: BUILD_ENV=GO111MODULE=on
|
||||
|
||||
$(foreach platf, $(ALL_PLATFORMS), $(addprefix $(platf)-,$(ALL_EXE))):
|
||||
$(MAKE) $(OUT_DIR)/$(call take,1,$@)-$(call take,2,$@)
|
||||
GOOS=$(call take,1,$@) GOARCH=$(call take,2,$@) $(BUILD_ENV) ./build -g $(call take,3,$@) -b $(OUT_DIR)/$(call take,1,$@)-$(call take,2,$@)
|
||||
|
||||
clean:
|
||||
|
||||
help:
|
||||
@echo "Targets:"
|
||||
@echo $(ALL_PLATFORMS)
|
||||
@echo $(addprefix linux-amd64-,$(ALL_EXE))
|
||||
@echo $(addprefix windows-amd64-,$(ALL_EXE))
|
||||
@echo $(addprefix macos-amd64-,$(ALL_EXE))
|
Loading…
Add table
Add a link
Reference in a new issue