# SPDX-FileCopyrightText: 2025 Romain Maneschi # # SPDX-License-Identifier: EUPL-1.2 VERSION ?= $(shell git describe --exact-match --tags HEAD 2> /dev/null || echo next) COMMIT ?= $(shell git rev-parse HEAD) PLUGINS_DIR := $(shell find app/plugins/ -maxdepth 1 -mindepth 1 -type d) MAKEFLAGS += --no-print-directory build: cd app/server/ && GOOS=linux GOARCH=amd64 go build -ldflags "-X main.version=$(VERSION) -X main.commit=$(COMMIT)" -o ../../releases/gitroot-linux-amd64 cd app/server/ && GOOS=linux GOARCH=arm64 go build -ldflags "-X main.version=$(VERSION) -X main.commit=$(COMMIT)" -o ../../releases/gitroot-linux-arm64 cd app/server/ && GOOS=darwin GOARCH=amd64 go build -ldflags "-X main.version=$(VERSION) -X main.commit=$(COMMIT)" -o ../../releases/gitroot-darwin-amd64 cd app/server/ && GOOS=darwin GOARCH=arm64 go build -ldflags "-X main.version=$(VERSION) -X main.commit=$(COMMIT)" -o ../../releases/gitroot-darwin-arm64 build-executor: cd app/executor && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o ../server/exec/resources/executor-linux-amd64 build-plugins: for dir in $(PLUGINS_DIR) ; do \ make -C $$dir build; \ done test: cd app/libs/golang/glob && go test -race ./... cd app/libs/golang/plugin && go test -race ./... for dir in $(PLUGINS_DIR) ; do \ make -C $$dir test; \ done cd app/server/ && go test -race ./... testsuite: build-plugins cd app/testsuite && ./runtest.sh testrust: build-plugins cd app/testsuite && ./rust.sh testall: test testsuite force-build-plugins: clean-plugins build-plugins clean-plugins: for dir in $(PLUGINS_DIR) ; do \ make -C $$dir clean; \ done clean: clean-plugins cd app/server/ && go clean rm -rf gitroot