47 lines
877 B
Makefile
47 lines
877 B
Makefile
.PHONY: all build-frontend build-go clean release run lint scan check format test dev
|
|
|
|
BINARY_NAME=software-station
|
|
FRONTEND_DIR=frontend
|
|
BUILD_DIR=build
|
|
|
|
all: build-frontend build-go
|
|
|
|
dev:
|
|
@echo "Starting development environment..."
|
|
@pnpm --prefix $(FRONTEND_DIR) dev & go run main.go
|
|
|
|
build-frontend:
|
|
cd $(FRONTEND_DIR) && pnpm install && pnpm build
|
|
|
|
build-go:
|
|
go build -o $(BINARY_NAME) main.go
|
|
|
|
release: build-frontend
|
|
CGO_ENABLED=0 go build -ldflags="-s -w" -o $(BINARY_NAME) main.go
|
|
@echo "Release build complete: $(BINARY_NAME)"
|
|
|
|
run: all
|
|
./$(BINARY_NAME)
|
|
|
|
format:
|
|
go fmt ./...
|
|
cd $(FRONTEND_DIR) && pnpm run format
|
|
|
|
lint:
|
|
go vet ./...
|
|
cd $(FRONTEND_DIR) && pnpm run lint
|
|
|
|
scan:
|
|
gosec ./...
|
|
|
|
check:
|
|
cd $(FRONTEND_DIR) && pnpm run check
|
|
|
|
test:
|
|
go test -v -coverpkg=./... ./...
|
|
|
|
clean:
|
|
rm -rf $(FRONTEND_DIR)/build
|
|
rm -f $(BINARY_NAME)
|
|
rm -f coverage.out
|