@@ -25,16 +25,18 @@ TAR ?= tar
2525INSTALL ?= install
2626GIT ?= git
2727
28+ TARGET_BIN =containerd-fuse-overlayfs-grpc
29+
2830VERSION ?= $(shell $(GIT ) describe --match 'v[0-9]* ' --dirty='.m' --always --tags)
2931VERSION_TRIMMED := $(VERSION:v%=% )
3032REVISION ?= $(shell $(GIT ) rev-parse HEAD)$(shell if ! $(GIT ) diff --no-ext-diff --quiet --exit-code; then $(ECHO ) .m; fi)
3133
32- PKG_MAIN := github.com/containerd/fuse-overlayfs-snapshotter/cmd/containerd-fuse-overlayfs-grpc
33- PKG_VERSION := github.com/containerd/fuse-overlayfs-snapshotter/cmd/containerd-fuse-overlayfs-grpc /version
34+ PKG_MAIN := github.com/containerd/fuse-overlayfs-snapshotter/cmd/$( TARGET_BIN )
35+ PKG_VERSION := github.com/containerd/fuse-overlayfs-snapshotter/cmd/$( TARGET_BIN ) /version
3436
3537export GO_BUILD=GO111MODULE =on CGO_ENABLED=0 $(GO ) build -ldflags "-s -w -X $(PKG_VERSION ) .Version=$(VERSION ) -X $(PKG_VERSION ) .Revision=$(REVISION ) "
3638
37- bin/containerd-fuse-overlayfs-grpc :
39+ bin/$( TARGET_BIN ) :
3840 $(GO_BUILD ) -o $@ $(PKG_MAIN )
3941
4042all : binaries
@@ -44,48 +46,57 @@ help:
4446 @$(ECHO )
4547 @$(ECHO ) " * 'install' - Install binaries to system locations."
4648 @$(ECHO ) " * 'uninstall' - Uninstall binaries from system."
47- @$(ECHO ) " * 'binaries' - Build containerd-fuse-overlayfs-grpc ."
49+ @$(ECHO ) " * 'binaries' - Build $( TARGET_BIN ) ."
4850 @$(ECHO ) " * 'test' - Run tests."
4951 @$(ECHO ) " * 'clean' - Clean artifacts."
5052 @$(ECHO ) " * 'help' - Show this help message."
5153
52- binaries : bin/containerd-fuse-overlayfs-grpc
54+ binaries : bin/$(TARGET_BIN )
55+
56+ $(TARGET_BIN ) :
57+ $(GO_BUILD ) -o $(CURDIR ) /bin/$@ $(PKG_MAIN )
58+
59+ binaries : $(TARGET_BIN )
5360
5461install :
55- $(INSTALL ) -D -m 755 $(CURDIR ) /bin/containerd-fuse-overlayfs-grpc $(BINDIR ) /containerd-fuse-overlayfs-grpc
62+ $(INSTALL ) -D -m 755 $(CURDIR ) /bin/$( TARGET_BIN ) $(BINDIR ) /$( TARGET_BIN )
5663
5764uninstall :
58- $(RM ) $(BINDIR ) /containerd-fuse-overlayfs-grpc
65+ $(RM ) $(BINDIR ) /$( TARGET_BIN )
5966
6067clean :
6168 $(RM ) -r $(CURDIR ) /bin $(CURDIR ) /_output
6269
70+ TEST_DOCKER_IMG_TAG =containerd-fuse-overlayfs-test
71+
6372test :
64- DOCKER_BUILDKIT=1 $(DOCKER ) build -t containerd-fuse-overlayfs-test --build-arg FUSEOVERLAYFS_COMMIT=${FUSEOVERLAYFS_COMMIT} .
65- $(DOCKER ) run --rm containerd-fuse-overlayfs-test fuse-overlayfs -V
66- $(DOCKER ) run --rm --security-opt seccomp=unconfined --security-opt apparmor=unconfined --device /dev/fuse containerd-fuse-overlayfs-test
67- $(DOCKER ) rmi containerd-fuse-overlayfs-test
73+ DOCKER_BUILDKIT=1 $(DOCKER ) build -t $( TEST_DOCKER_IMG_TAG ) --build-arg FUSEOVERLAYFS_COMMIT=${FUSEOVERLAYFS_COMMIT} .
74+ $(DOCKER ) run --rm $( TEST_DOCKER_IMG_TAG ) fuse-overlayfs -V
75+ $(DOCKER ) run --rm --security-opt seccomp=unconfined --security-opt apparmor=unconfined --device /dev/fuse $( TEST_DOCKER_IMG_TAG )
76+ $(DOCKER ) rmi $( TEST_DOCKER_IMG_TAG )
6877
6978_test :
7079 $(GO ) test -exec rootlesskit -test.v -test.root
7180
7281TAR_FLAGS =--transform 's/.*\///g' --owner=0 --group=0
7382
83+ ARTIFACT_NAME =containerd-fuse-overlayfs-$(VERSION_TRIMMED )
84+
7485artifacts : clean
7586 $(MKDIR ) -p _output
7687 GOOS=linux GOARCH=amd64 make
77- $(TAR ) $(TAR_FLAGS ) -czvf _output/containerd-fuse-overlayfs- $( VERSION_TRIMMED ) -linux-amd64.tar.gz $(CURDIR ) /bin/*
88+ $(TAR ) $(TAR_FLAGS ) -czvf _output/$( ARTIFACT_NAME ) -linux-amd64.tar.gz $(CURDIR ) /bin/*
7889 GOOS=linux GOARCH=arm64 make
79- $(TAR ) $(TAR_FLAGS ) -czvf _output/containerd-fuse-overlayfs- $( VERSION_TRIMMED ) -linux-arm64.tar.gz $(CURDIR ) /bin/*
90+ $(TAR ) $(TAR_FLAGS ) -czvf _output/$( ARTIFACT_NAME ) -linux-arm64.tar.gz $(CURDIR ) /bin/*
8091 GOOS=linux GOARCH=arm GOARM=7 make
81- $(TAR ) $(TAR_FLAGS ) -czvf _output/containerd-fuse-overlayfs- $( VERSION_TRIMMED ) -linux-arm-v7.tar.gz $(CURDIR ) /bin/*
92+ $(TAR ) $(TAR_FLAGS ) -czvf _output/$( ARTIFACT_NAME ) -linux-arm-v7.tar.gz $(CURDIR ) /bin/*
8293 GOOS=linux GOARCH=ppc64le make
83- $(TAR ) $(TAR_FLAGS ) -czvf _output/containerd-fuse-overlayfs- $( VERSION_TRIMMED ) -linux-ppc64le.tar.gz $(CURDIR ) /bin/*
94+ $(TAR ) $(TAR_FLAGS ) -czvf _output/$( ARTIFACT_NAME ) -linux-ppc64le.tar.gz $(CURDIR ) /bin/*
8495 GOOS=linux GOARCH=s390x make
85- $(TAR ) $(TAR_FLAGS ) -czvf _output/containerd-fuse-overlayfs- $( VERSION_TRIMMED ) -linux-s390x.tar.gz $(CURDIR ) /bin/*
96+ $(TAR ) $(TAR_FLAGS ) -czvf _output/$( ARTIFACT_NAME ) -linux-s390x.tar.gz $(CURDIR ) /bin/*
8697
8798.PHONY : \
88- containerd-fuse-overlayfs-grpc \
99+ $( TARGET_BIN ) \
89100 install \
90101 uninstall \
91102 clean \
0 commit comments