From 8bac58f7d9abd5e4e41eae0eafc08f03ba1a01ce Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sat, 15 May 2021 20:00:31 -0700 Subject: Makefile: install binaries and configs To help working on this project in the future, let's try to install dependencies and configurations with `make`. For now we know that we need the firecracker binary, the CNI configuration and the CNI plugin for TAP. --- Makefile | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index a7997d8..11b7f9a 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,26 @@ +FC_VERSION?=0.24.3-x86_64 +FC_BINARY?=hack/firecracker/firecracker-v$(FC_VERSION) + +FCNET_CONFIG?=/etc/cni/conf.d/50-c2vm.conflist +CNI_BIN_ROOT?=/opt/cni/bin +CNI_TAP_PLUGIN?=$(CNI_BIN_ROOT)/tc-redirect-tap + .PHONY: build build: - go build -o c2vm cmd/c2vm/main.go + @go build -o c2vm cmd/c2vm/main.go + +$(FC_BINARY): + @mkdir -p hack/firecracker + @curl -L -o hack/firecracker/firecracker.tgz -s https://github.com/firecracker-microvm/firecracker/releases/download/v0.24.3/firecracker-v$(FC_VERSION).tgz + @tar xvzf hack/firecracker/firecracker.tgz -C hack/firecracker + +$(FCNET_CONFIG): + @sudo mkdir -p $(dir $(FCNET_CONFIG)) + @sudo cp hack/cni/50-c2vm.conflist $(FCNET_CONFIG) + +$(CNI_TAP_PLUGIN): + @go install github.com/awslabs/tc-redirect-tap/cmd/tc-redirect-tap@latest + @sudo cp ${GOPATH}/bin/tc-redirect-tap $(CNI_BIN_ROOT) -.PHONY: firecracker-binary -firecracker-binary: - mkdir -p hack/firecracker - curl -L -o hack/firecracker/firecracker.tgz https://github.com/firecracker-microvm/firecracker/releases/download/v0.24.3/firecracker-v0.24.3-x86_64.tgz - tar xvzf hack/firecracker/firecracker.tgz -C hack/firecracker +.PHONY: all +all: build $(FC_BINARY) $(FCNET_CONFIG) $(CNI_TAP_PLUGIN) -- cgit 1.4.1