GO ?= go CC ?= gcc ifeq ($(GOPATH),) export GOPATH := $(shell $(GO) env GOPATH) endif FIRST_GOPATH := $(firstword $(subst :, ,$(GOPATH))) GOBIN := $(shell $(GO) env GOBIN) ifeq ($(GOBIN),) GOBIN := $(FIRST_GOPATH)/bin endif all: build test phaul phaul-test lint: @golint . test phaul build: @$(GO) build -v test/piggie: test/piggie.c @$(CC) $^ -o $@ test/test: test/main.go @$(GO) build -v -o test/test test/main.go test: test/test test/piggie mkdir -p image test/piggie test/test dump `pidof piggie` image test/test restore image pkill -9 piggie || : phaul: @cd phaul; go build -v test/phaul: test/phaul-main.go @$(GO) build -v -o test/phaul test/phaul-main.go phaul-test: test/phaul test/piggie rm -rf image test/piggie test/phaul `pidof piggie` pkill -9 piggie || : clean: @rm -f test/test test/piggie test/phaul @rm -rf image @rm -f rpc/rpc.proto install.tools: if [ ! -x "$(GOBIN)/golint" ]; then \ $(GO) get -u golang.org/x/lint/golint; \ fi rpc/rpc.proto: curl -s https://raw.githubusercontent.com/checkpoint-restore/criu/master/images/rpc.proto -o $@ rpc/rpc.pb.go: rpc/rpc.proto protoc --go_out=. $^ .PHONY: build test clean lint phaul