Makefile 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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 /usr/local/libexec /etc/network/if-pre-up.d
  20. install -m 0755 scripts/debtik-ifnames /usr/local/libexec/debtik-ifnames
  21. ln -sf /usr/local/libexec/debtik-ifnames /etc/network/if-pre-up.d/debtik-ifnames
  22. cp systemd/debtik.service /etc/systemd/system/debtik.service
  23. cp systemd/debtik-ifnames.service /etc/systemd/system/debtik-ifnames.service
  24. systemctl daemon-reload
  25. systemctl enable debtik-ifnames.service || true
  26. systemctl enable --now debtik
  27. @echo "Installed and started service debtik successfully!"
  28. clean:
  29. rm -rf $(BUILD_DIR)
  30. test:
  31. $(GO) test ./...
  32. node --test scripts/ui-regression.test.cjs