|
| 1 | +PLUGIN_NAME=gatewayd-plugin-sql-ids-ips |
| 2 | +PROJECT_URL=github.com/gatewayd-io/$(PLUGIN_NAME) |
| 3 | +CONFIG_PACKAGE=${PROJECT_URL}/plugin |
| 4 | +LAST_TAGGED_COMMIT=$(shell git rev-list --tags --max-count=1) |
| 5 | +VERSION=$(shell git describe --tags ${LAST_TAGGED_COMMIT}) |
| 6 | +EXTRA_LDFLAGS=-X ${CONFIG_PACKAGE}.Version=$(shell echo ${VERSION} | sed 's/^v//') |
| 7 | +FILES=$(PLUGIN_NAME) checksum.txt gatewayd_plugin.yaml README.md LICENSE |
| 8 | + |
1 | 9 | tidy:
|
2 |
| - go mod tidy |
| 10 | + @go mod tidy |
3 | 11 |
|
4 | 12 | build: tidy
|
5 |
| - go build -ldflags "-s -w" |
| 13 | + @go build -ldflags "-s -w" |
6 | 14 |
|
7 | 15 | checksum:
|
8 |
| - sha256sum -b gatewayd-plugin-sql-ids-ips |
| 16 | + @sha256sum -b $(PLUGIN_NAME) |
9 | 17 |
|
10 | 18 | update-all:
|
11 |
| - go get -u ./... |
12 |
| - go mod tidy |
| 19 | + @go get -u ./... |
| 20 | + @go mod tidy |
13 | 21 |
|
14 | 22 | build-dev: tidy
|
15 |
| - go build |
| 23 | + @go build |
16 | 24 |
|
17 | 25 | test:
|
18 |
| - go test -v ./... |
| 26 | + @go test -v ./... |
| 27 | + |
| 28 | +create-build-dir: |
| 29 | + @mkdir -p dist |
| 30 | + |
| 31 | +build-release: tidy create-build-dir |
| 32 | + @echo "Building ${PLUGIN_NAME} ${VERSION} for release" |
| 33 | + @$(MAKE) build-platform GOOS=linux GOARCH=amd64 OUTPUT_DIR=dist/linux-amd64 |
| 34 | + @$(MAKE) build-platform GOOS=linux GOARCH=arm64 OUTPUT_DIR=dist/linux-arm64 |
| 35 | + @$(MAKE) build-platform GOOS=darwin GOARCH=amd64 OUTPUT_DIR=dist/darwin-amd64 |
| 36 | + @$(MAKE) build-platform GOOS=darwin GOARCH=arm64 OUTPUT_DIR=dist/darwin-arm64 |
| 37 | + @$(MAKE) build-platform GOOS=windows GOARCH=amd64 OUTPUT_DIR=dist/windows-amd64 |
| 38 | + @$(MAKE) build-platform GOOS=windows GOARCH=arm64 OUTPUT_DIR=dist/windows-arm64 |
| 39 | + |
| 40 | +build-platform: tidy |
| 41 | + @echo "Building ${PLUGIN_NAME} ${VERSION} for $(GOOS)-$(GOARCH)" |
| 42 | + @mkdir -p $(OUTPUT_DIR) |
| 43 | + @cp README.md LICENSE gatewayd_plugin.yaml $(OUTPUT_DIR)/ |
| 44 | + @GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=0 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o $(OUTPUT_DIR)/$(PLUGIN_NAME) |
| 45 | + @sha256sum $(OUTPUT_DIR)/$(PLUGIN_NAME) | sed 's#$(OUTPUT_DIR)/##g' >> $(OUTPUT_DIR)/checksum.txt |
| 46 | + @if [ "$(GOOS)" = "windows" ]; then \ |
| 47 | + zip -q -r dist/$(PLUGIN_NAME)-$(GOOS)-$(GOARCH)-${VERSION}.zip -j $(OUTPUT_DIR)/; \ |
| 48 | + else \ |
| 49 | + tar czf dist/$(PLUGIN_NAME)-$(GOOS)-$(GOARCH)-${VERSION}.tar.gz -C $(OUTPUT_DIR)/ ${FILES}; \ |
| 50 | + fi |
| 51 | + @sha256sum dist/$(PLUGIN_NAME)-$(GOOS)-$(GOARCH)-${VERSION}.* | sed '#dist/##g' >> dist/checksums.txt |
0 commit comments