- Added a 'package' target that depends on the 'build' target to streamline the build process. - Updated the .PHONY section to include the new 'package' target for better organization.
95 lines
2.8 KiB
Makefile
95 lines
2.8 KiB
Makefile
BINARY_NAME=linking-tool
|
|
BUILD_DIR=bin
|
|
|
|
.PHONY: help install dev build preview check lint format clean docker-build docker-run docker-builder release build-linux-amd64 build-linux-arm64 build-linux-armv6 build-linux-armv7 build-windows-amd64 build-darwin-amd64 build-darwin-arm64 build-freebsd-amd64 desktop-build desktop-windows desktop-darwin desktop-dev package
|
|
|
|
help:
|
|
@echo 'Usage: make [target]'
|
|
@echo ''
|
|
@echo 'Available targets:'
|
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-20s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
|
|
|
dev:
|
|
npm install
|
|
npm run dev
|
|
|
|
build:
|
|
npm install
|
|
npm run build
|
|
mkdir -p $(BUILD_DIR)
|
|
CGO_ENABLED=0 go build -ldflags="-s -w" -o $(BUILD_DIR)/$(BINARY_NAME) main.go
|
|
|
|
package: build
|
|
|
|
release: build
|
|
mkdir -p $(BUILD_DIR)
|
|
@$(MAKE) build-linux-amd64
|
|
@$(MAKE) build-linux-arm64
|
|
@$(MAKE) build-linux-armv6
|
|
@$(MAKE) build-linux-armv7
|
|
@$(MAKE) build-windows-amd64
|
|
@$(MAKE) build-darwin-amd64
|
|
@$(MAKE) build-darwin-arm64
|
|
@$(MAKE) build-freebsd-amd64
|
|
|
|
build-linux-amd64:
|
|
GOOS=linux GOARCH=amd64 go build -o $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 main.go
|
|
|
|
build-linux-arm64:
|
|
GOOS=linux GOARCH=arm64 go build -o $(BUILD_DIR)/$(BINARY_NAME)-linux-arm64 main.go
|
|
|
|
build-linux-armv6:
|
|
GOOS=linux GOARCH=arm GOARM=6 go build -o $(BUILD_DIR)/$(BINARY_NAME)-linux-armv6 main.go
|
|
|
|
build-linux-armv7:
|
|
GOOS=linux GOARCH=arm GOARM=7 go build -o $(BUILD_DIR)/$(BINARY_NAME)-linux-armv7 main.go
|
|
|
|
build-windows-amd64:
|
|
GOOS=windows GOARCH=amd64 go build -o $(BUILD_DIR)/$(BINARY_NAME)-windows-amd64.exe main.go
|
|
|
|
build-darwin-amd64:
|
|
GOOS=darwin GOARCH=amd64 go build -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-amd64 main.go
|
|
|
|
build-darwin-arm64:
|
|
GOOS=darwin GOARCH=arm64 go build -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-arm64 main.go
|
|
|
|
build-freebsd-amd64:
|
|
GOOS=freebsd GOARCH=amd64 go build -o $(BUILD_DIR)/$(BINARY_NAME)-freebsd-amd64 main.go
|
|
|
|
docker-build:
|
|
docker build -t $(BINARY_NAME) .
|
|
|
|
docker-run:
|
|
docker run -p 8080:8080 $(BINARY_NAME)
|
|
|
|
docker-builder:
|
|
docker build -f Dockerfile.build -t $(BINARY_NAME)-build .
|
|
docker create --name $(BINARY_NAME)-temp $(BINARY_NAME)-build
|
|
mkdir -p $(BUILD_DIR)
|
|
docker cp $(BINARY_NAME)-temp:/bin/. $(BUILD_DIR)/
|
|
docker cp $(BINARY_NAME)-temp:/desktop-bin/. $(BUILD_DIR)/
|
|
docker rm $(BINARY_NAME)-temp
|
|
|
|
desktop-build: build
|
|
rm -rf desktop/frontend_dist/*
|
|
cp -r build/* desktop/frontend_dist/
|
|
cd desktop && wails build -s
|
|
|
|
desktop-windows: build
|
|
rm -rf desktop/frontend_dist/*
|
|
cp -r build/* desktop/frontend_dist/
|
|
cd desktop && wails build -s -platform windows/amd64
|
|
|
|
desktop-darwin: build
|
|
rm -rf desktop/frontend_dist/*
|
|
cp -r build/* desktop/frontend_dist/
|
|
cd desktop && wails build -s -platform darwin/universal
|
|
|
|
desktop-dev: build
|
|
rm -rf desktop/frontend_dist/*
|
|
cp -r build/* desktop/frontend_dist/
|
|
cd desktop && wails dev
|
|
|
|
clean:
|
|
rm -rf .svelte-kit build node_modules/.vite dist package linking-tool tmp $(BUILD_DIR)
|