aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorheqnx <root@heqnx.com>2025-05-23 13:59:42 +0300
committerheqnx <root@heqnx.com>2025-05-23 13:59:42 +0300
commite066414731c04564d7bf1c3bf756e229f6424d55 (patch)
tree2369e3025432f659a20fc7075c5009ee500a6aad /Makefile
parentcf62223b636bdfb1b0c1de5f54cca69b302c0031 (diff)
downloadgo-linkfinder-e066414731c04564d7bf1c3bf756e229f6424d55.tar.gz
go-linkfinder-e066414731c04564d7bf1c3bf756e229f6424d55.zip
added go-linkfinder
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile52
1 files changed, 52 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..22775c2
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,52 @@
+PROJECT_NAME := go-linkfinder
+BUILD_DIR := build
+GOFLAGS := -ldflags "-s -w" -trimpath -buildvcs=false
+GO_BUILD := go build $(GOFLAGS)
+.PHONY: all clean linux windows darwin tidy
+
+all: tidy linux windows darwin
+
+$(BUILD_DIR):
+ mkdir -p $(BUILD_DIR)
+
+tidy:
+ go mod tidy
+
+linux: linux-amd64 linux-386
+
+linux-amd64: $(BUILD_DIR)/$(PROJECT_NAME)-linux-amd64
+
+$(BUILD_DIR)/$(PROJECT_NAME)-linux-amd64: tidy | $(BUILD_DIR)
+ GOOS=linux GOARCH=amd64 $(GO_BUILD) -o $(BUILD_DIR)/$(PROJECT_NAME)-linux-amd64
+
+linux-386: $(BUILD_DIR)/$(PROJECT_NAME)-linux-386
+
+$(BUILD_DIR)/$(PROJECT_NAME)-linux-386: tidy | $(BUILD_DIR)
+ GOOS=linux GOARCH=386 $(GO_BUILD) -o $(BUILD_DIR)/$(PROJECT_NAME)-linux-386
+
+windows: windows-amd64 windows-386
+
+windows-amd64: $(BUILD_DIR)/$(PROJECT_NAME)-windows-amd64.exe
+
+$(BUILD_DIR)/$(PROJECT_NAME)-windows-amd64.exe: tidy | $(BUILD_DIR)
+ GOOS=windows GOARCH=amd64 $(GO_BUILD) -o $(BUILD_DIR)/$(PROJECT_NAME)-windows-amd64.exe
+
+windows-386: $(BUILD_DIR)/$(PROJECT_NAME)-windows-386.exe
+
+$(BUILD_DIR)/$(PROJECT_NAME)-windows-386.exe: tidy | $(BUILD_DIR)
+ GOOS=windows GOARCH=386 $(GO_BUILD) -o $(BUILD_DIR)/$(PROJECT_NAME)-windows-386.exe
+
+darwin: darwin-amd64 darwin-arm64
+
+darwin-amd64: $(BUILD_DIR)/$(PROJECT_NAME)-darwin-amd64
+
+$(BUILD_DIR)/$(PROJECT_NAME)-darwin-amd64: tidy | $(BUILD_DIR)
+ GOOS=darwin GOARCH=amd64 $(GO_BUILD) -o $(BUILD_DIR)/$(PROJECT_NAME)-darwin-amd64
+
+darwin-arm64: $(BUILD_DIR)/$(PROJECT_NAME)-darwin-arm64
+
+$(BUILD_DIR)/$(PROJECT_NAME)-darwin-arm64: tidy | $(BUILD_DIR)
+ GOOS=darwin GOARCH=arm64 $(GO_BUILD) -o $(BUILD_DIR)/$(PROJECT_NAME)-darwin-arm64
+
+clean:
+ rm -rf $(BUILD_DIR)