mirror of
https://github.com/containers/skopeo.git
synced 2026-02-03 07:48:30 +00:00
Try to use pkg-config to check for 'ostree-1' and 'libselinux'. If ostree-1 is not found, use the containers_image_ostree_stub build tag to not require it, at the cost of not being able to use or write images to the 'ostree' transport. If libselinux is found, build with the 'selinux' tag, Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> Closes: #252 Approved by: rhatdan
79 lines
2.5 KiB
Makefile
79 lines
2.5 KiB
Makefile
AUTOTAGS := $(shell ./btrfs_tag.sh) $(shell ./libdm_tag.sh) $(shell ./ostree_tag.sh) $(shell ./selinux_tag.sh)
|
|
TAGS := seccomp
|
|
PREFIX := /usr/local
|
|
BINDIR := $(PREFIX)/bin
|
|
BASHINSTALLDIR=${PREFIX}/share/bash-completion/completions
|
|
BUILDFLAGS := -tags "$(AUTOTAGS) $(TAGS)"
|
|
|
|
GIT_COMMIT := $(shell git rev-parse --short HEAD)
|
|
BUILD_INFO := $(shell date +%s)
|
|
|
|
RUNC_COMMIT := c5ec25487693612aed95673800863e134785f946
|
|
LIBSECCOMP_COMMIT := release-2.3
|
|
|
|
LDFLAGS := -ldflags '-X main.gitCommit=${GIT_COMMIT} -X main.buildInfo=${BUILD_INFO}'
|
|
|
|
all: buildah imgtype docs
|
|
|
|
buildah: *.go imagebuildah/*.go cmd/buildah/*.go docker/*.go util/*.go
|
|
go build $(LDFLAGS) -o buildah $(BUILDFLAGS) ./cmd/buildah
|
|
|
|
imgtype: *.go docker/*.go util/*.go tests/imgtype.go
|
|
go build $(LDFLAGS) -o imgtype $(BUILDFLAGS) ./tests/imgtype.go
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
$(RM) buildah imgtype
|
|
$(MAKE) -C docs clean
|
|
|
|
.PHONY: docs
|
|
docs: ## build the docs on the host
|
|
$(MAKE) -C docs
|
|
|
|
# For vendoring to work right, the checkout directory must be such that our top
|
|
# level is at $GOPATH/src/github.com/projectatomic/buildah.
|
|
.PHONY: gopath
|
|
gopath:
|
|
test $(shell pwd) = $(shell cd ../../../../src/github.com/projectatomic/buildah ; pwd)
|
|
|
|
# We use https://github.com/lk4d4/vndr to manage dependencies.
|
|
.PHONY: deps
|
|
deps: gopath
|
|
env GOPATH=$(shell cd ../../../.. ; pwd) vndr
|
|
|
|
.PHONY: validate
|
|
validate:
|
|
@./tests/validate/gofmt.sh
|
|
@./tests/validate/govet.sh
|
|
@./tests/validate/git-validation.sh
|
|
@./tests/validate/gometalinter.sh . cmd/buildah
|
|
|
|
.PHONY: install.tools
|
|
install.tools:
|
|
go get -u $(BUILDFLAGS) github.com/cpuguy83/go-md2man
|
|
go get -u $(BUILDFLAGS) github.com/vbatts/git-validation
|
|
go get -u $(BUILDFLAGS) gopkg.in/alecthomas/gometalinter.v1
|
|
gometalinter.v1 -i
|
|
|
|
.PHONY: runc
|
|
runc: gopath
|
|
rm -rf ../../opencontainers/runc
|
|
git clone https://github.com/opencontainers/runc ../../opencontainers/runc
|
|
cd ../../opencontainers/runc && git checkout $(RUNC_COMMIT) && go build -tags "$(AUTOTAGS) $(TAGS)"
|
|
ln -sf ../../opencontainers/runc/runc
|
|
|
|
.PHONY: install.libseccomp.sudo
|
|
install.libseccomp.sudo: gopath
|
|
rm -rf ../../seccomp/libseccomp
|
|
git clone https://github.com/seccomp/libseccomp ../../seccomp/libseccomp
|
|
cd ../../seccomp/libseccomp && git checkout $(LIBSECCOMP_COMMIT) && ./autogen.sh && ./configure --prefix=/usr && make all && sudo make install
|
|
|
|
.PHONY: install
|
|
install:
|
|
install -D -m0755 buildah $(DESTDIR)/$(BINDIR)/buildah
|
|
$(MAKE) -C docs install
|
|
|
|
.PHONY: install.completions
|
|
install.completions:
|
|
install -m 644 -D contrib/completions/bash/buildah $(DESTDIR)/${BASHINSTALLDIR}/buildah
|