diff --git a/Makefile.freebsd b/Makefile.freebsd new file mode 100644 index 0000000000000..b8ebec6fdb6a5 --- /dev/null +++ b/Makefile.freebsd @@ -0,0 +1,55 @@ +# This file exists to support the non-Docker-based build requirements for +# FreeBSD/Docker +# +export AUTO_GOPATH=1 +export DEST_DIR=$(PWD)/bundles/bin +export RUNC_PATH="$(GOPATH)/src/github.com/opencontainers/runc" +export CONTAINERD_PATH="$(GOPATH)/src/github.com/containerd/containerd" +export LIBNETWORK_PATH="$(GOPATH)/src/github.com/docker/libnetwork" +export TINI_PATH="$(GOPATH)/tini" + +binary: $(DEST_DIR)/docker-containerd $(DEST_DIR)/docker-proxy + ./hack/make.sh binary + +$(DEST_DIR)/docker-containerd: prepare + if [ ! -d $(CONTAINERD_PATH) ]; then \ + git clone https://github.com/freebsd-docker/containerd.git $(CONTAINERD_PATH); \ + fi; + cd $(CONTAINERD_PATH) && \ + $(MAKE) && \ + cp bin/containerd $(DEST_DIR)/docker-containerd && \ + cp bin/containerd-shim $(DEST_DIR)/docker-containerd-shim && \ + cp bin/ctr $(DEST_DIR)/docker-containerd-ctr + +$(DEST_DIR)/docker-proxy: prepare + if [ ! -d $(LIBNETWORK_PATH) ]; then \ + git clone https://github.com/freebsd-docker/libnetwork.git $(LIBNETWORK_PATH); \ + fi; + cd $(LIBNETWORK_PATH) && \ + go build -o $(DEST_DIR)/docker-proxy github.com/docker/libnetwork/cmd/proxy + + +runc: + if [ ! -d $(RUNC_PATH) ]; then \ + git clone https://github.com/freebsd-docker/runc.git $(RUNC_PATH); \ + fi; + cd $(RUNC_PATH) && \ + $(MAKE) + +tini: check-depends + if [ ! -d $(TINI_PATH) ]; then \ + git clone https://github.com/krallin/tini.git $(TINI_PATH); \ + fi; + cd $(TINI_PATH) && \ + cmake . && \ + $(MAKE) tini-static + +check-depends: + echo ">> Verify that you have CMake installed" + +prepare: bundles/bin + +bundles/bin: + mkdir -p bundles/bin + +.PHONY: check-depends prepare