Makefile 725 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. .SILENT :
  2. export GO111MODULE=on
  3. # App name
  4. APPNAME=httpsig
  5. # Go configuration
  6. GOOS?=linux
  7. GOARCH?=amd64
  8. # Add exe extension if windows target
  9. is_windows:=$(filter windows,$(GOOS))
  10. EXT:=$(if $(is_windows),".exe","")
  11. # Archive name
  12. ARCHIVE=$(APPNAME)-$(GOOS)-$(GOARCH).tgz
  13. # Executable name
  14. EXECUTABLE=$(APPNAME)$(EXT)
  15. all: build
  16. clean:
  17. -rm -rf release
  18. .PHONY: clean
  19. ## Build executable
  20. build:
  21. -mkdir -p release
  22. echo "Building: $(EXECUTABLE) $(VERSION) for $(GOOS)-$(GOARCH) ..."
  23. GOOS=$(GOOS) GOARCH=$(GOARCH) go build $(LDFLAGS) -o release/$(EXECUTABLE)
  24. .PHONY: build
  25. release/$(EXECUTABLE): build
  26. key:
  27. openssl genrsa -out key.pem 2048
  28. openssl rsa -in key.pem -outform PEM -pubout -out key-pub.pem
  29. .PHONY: key