Makefile: implement support for BUILDDIR in "build"

also document "build" and implement the corresponding "clean"
This commit is contained in:
Florian Schüller 2024-02-19 18:58:56 +01:00 committed by Ondřej Budai
parent cd9367f964
commit 8e98884bff

View file

@ -73,6 +73,8 @@ help:
@echo "targets are available:"
@echo
@echo " help: Print this usage information."
@echo " build: Build all binaries"
@echo " clean: Remove all built binaries"
@echo " man: Generate all man-pages"
@echo " unit-tests: Run unit tests"
@ -108,31 +110,30 @@ man: $(MANPAGES_TROFF)
#
.PHONY: build
build:
- mkdir -p bin
go build -o bin/osbuild-composer ./cmd/osbuild-composer/
go build -o bin/osbuild-worker ./cmd/osbuild-worker/
go build -o bin/osbuild-upload-azure ./cmd/osbuild-upload-azure/
go build -o bin/osbuild-upload-aws ./cmd/osbuild-upload-aws/
go build -o bin/osbuild-upload-gcp ./cmd/osbuild-upload-gcp/
go build -o bin/osbuild-upload-oci ./cmd/osbuild-upload-oci/
go build -o bin/osbuild-upload-generic-s3 ./cmd/osbuild-upload-generic-s3/
go build -o bin/osbuild-mock-openid-provider ./cmd/osbuild-mock-openid-provider
go build -o bin/osbuild-service-maintenance ./cmd/osbuild-service-maintenance
go test -c -tags=integration -o bin/osbuild-composer-cli-tests ./cmd/osbuild-composer-cli-tests/main_test.go
go test -c -tags=integration -o bin/osbuild-weldr-tests ./internal/client/
go test -c -tags=integration -o bin/osbuild-dnf-json-tests ./cmd/osbuild-dnf-json-tests/main_test.go
go test -c -tags=integration -o bin/osbuild-image-tests ./cmd/osbuild-image-tests/
go test -c -tags=integration -o bin/osbuild-auth-tests ./cmd/osbuild-auth-tests/
go test -c -tags=integration -o bin/osbuild-koji-tests ./cmd/osbuild-koji-tests/
go test -c -tags=integration -o bin/osbuild-composer-dbjobqueue-tests ./cmd/osbuild-composer-dbjobqueue-tests/
go test -c -tags=integration -o bin/osbuild-composer-maintenance-tests ./cmd/osbuild-service-maintenance/
build: $(BUILDDIR)/bin/
go build -o $<osbuild-composer ./cmd/osbuild-composer/
go build -o $<osbuild-worker ./cmd/osbuild-worker/
go build -o $<osbuild-upload-azure ./cmd/osbuild-upload-azure/
go build -o $<osbuild-upload-aws ./cmd/osbuild-upload-aws/
go build -o $<osbuild-upload-gcp ./cmd/osbuild-upload-gcp/
go build -o $<osbuild-upload-oci ./cmd/osbuild-upload-oci/
go build -o $<osbuild-upload-generic-s3 ./cmd/osbuild-upload-generic-s3/
go build -o $<osbuild-mock-openid-provider ./cmd/osbuild-mock-openid-provider
go build -o $<osbuild-service-maintenance ./cmd/osbuild-service-maintenance
go test -c -tags=integration -o $<osbuild-composer-cli-tests ./cmd/osbuild-composer-cli-tests/main_test.go
go test -c -tags=integration -o $<osbuild-weldr-tests ./internal/client/
go test -c -tags=integration -o $<osbuild-dnf-json-tests ./cmd/osbuild-dnf-json-tests/main_test.go
go test -c -tags=integration -o $<osbuild-image-tests ./cmd/osbuild-image-tests/
go test -c -tags=integration -o $<osbuild-auth-tests ./cmd/osbuild-auth-tests/
go test -c -tags=integration -o $<osbuild-koji-tests ./cmd/osbuild-koji-tests/
go test -c -tags=integration -o $<osbuild-composer-dbjobqueue-tests ./cmd/osbuild-composer-dbjobqueue-tests/
go test -c -tags=integration -o $<osbuild-composer-maintenance-tests ./cmd/osbuild-service-maintenance/
.PHONY: install
install:
install: build
- mkdir -p /usr/libexec/osbuild-composer
cp bin/osbuild-composer /usr/libexec/osbuild-composer/
cp bin/osbuild-worker /usr/libexec/osbuild-composer/
cp $(BUILDDIR)/bin/osbuild-composer /usr/libexec/osbuild-composer/
cp $(BUILDDIR)/bin/osbuild-worker /usr/libexec/osbuild-composer/
cp dnf-json /usr/libexec/osbuild-composer/
- mkdir -p /usr/share/osbuild-composer/repositories
cp repositories/* /usr/share/osbuild-composer/repositories
@ -144,6 +145,10 @@ install:
cp distribution/*.socket /etc/systemd/system/
systemctl daemon-reload
.PHONY: clean
clean:
rm -rf $(BUILDDIR)/bin/
CERT_DIR=/etc/osbuild-composer
.PHONY: ca