Makefile 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. BINARY_NAME=debtik
  2. BUILD_DIR=bin
  3. GO=go
  4. .PHONY: all build clean run install test
  5. all: build
  6. build:
  7. @echo "Building $(BINARY_NAME)..."
  8. @mkdir -p $(BUILD_DIR)
  9. CGO_ENABLED=0 $(GO) build -ldflags="-s -w" -o $(BUILD_DIR)/$(BINARY_NAME) cmd/server/main.go
  10. CGO_ENABLED=0 $(GO) build -ldflags="-s -w" -o $(BUILD_DIR)/debtik-cli ./cmd/debtik-cli
  11. @echo "Build complete: $(BUILD_DIR)/$(BINARY_NAME)"
  12. run: build
  13. ./$(BUILD_DIR)/$(BINARY_NAME) -addr :8080
  14. install: build
  15. @echo "Installing $(BINARY_NAME) to /usr/local/bin/..."
  16. cp $(BUILD_DIR)/$(BINARY_NAME) /usr/local/bin/$(BINARY_NAME)
  17. cp $(BUILD_DIR)/debtik-cli /usr/local/bin/debtik-cli
  18. chmod +x /usr/local/bin/$(BINARY_NAME) /usr/local/bin/debtik-cli
  19. @mkdir -p /etc/debtik /etc/network/interfaces.d
  20. cp systemd/debtik.service /etc/systemd/system/debtik.service
  21. systemctl daemon-reload
  22. systemctl enable --now debtik
  23. @echo "Installed and started service debtik successfully!"
  24. clean:
  25. rm -rf $(BUILD_DIR)
  26. test:
  27. $(GO) test ./...
  28. node --test scripts/ui-regression.test.cjs