Advertisement
FlyFar

Makefile

Dec 28th, 2023
895
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.15 KB | Cybersecurity | 0 0
  1. EXECUTABLE=tangalanga
  2. BUILD_PATH=build
  3. WINDOWS=$(EXECUTABLE)_windows_amd64.exe
  4. LINUX=$(EXECUTABLE)_linux_amd64
  5. DARWIN=$(EXECUTABLE)_darwin_amd64
  6. VERSION=$(shell git describe --tags --always --long --dirty)
  7. LDFLAGS=-s -w -X main.version=$(VERSION) -X main.baked=$(TOKEN)
  8.  
  9. .PHONY: all clean proto
  10.  
  11. all: build
  12.  
  13. windows: $(WINDOWS)
  14.  
  15. linux: $(LINUX)
  16.  
  17. darwin: $(DARWIN)
  18.  
  19. no:
  20.     unset -v TOKEN
  21.  
  22. proto:
  23.     protoc --go_out=proto meeting.proto
  24.  
  25. build: windows linux darwin
  26.     @echo version: $(VERSION)
  27.  
  28. $(WINDOWS):
  29.     env GOOS=windows GOARCH=amd64 go build -o $(BUILD_PATH)/$(WINDOWS) -ldflags="$(LDFLAGS)" .
  30.     @chmod +x $(BUILD_PATH)/$(WINDOWS)
  31.     zip -r $(BUILD_PATH)/$(WINDOWS).zip $(BUILD_PATH)/$(WINDOWS)
  32.  
  33. $(LINUX):
  34.     env GOOS=linux GOARCH=amd64 go build -o $(BUILD_PATH)/$(LINUX) -ldflags="$(LDFLAGS)" ./
  35.     @chmod +x $(BUILD_PATH)/$(LINUX)
  36.     tar cfz $(BUILD_PATH)/$(LINUX).tgz $(BUILD_PATH)/$(LINUX)
  37.  
  38. $(DARWIN):
  39.     env GOOS=darwin GOARCH=amd64 go build -o $(BUILD_PATH)/$(DARWIN) -ldflags="-s -w -X main.version=$(VERSION)"  ./
  40.     @chmod +x $(BUILD_PATH)/$(DARWIN)
  41.     tar cfz $(BUILD_PATH)/$(DARWIN).tgz $(BUILD_PATH)/$(DARWIN)
  42.  
  43. clean:
  44.     rm -f $(BUILD_PATH)/*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement