mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 03:05:07 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
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/x86_64-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=x86_64-w64-mingw32-gcc CXX=x86_64-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))
 |