43 lines
903 B
Makefile
43 lines
903 B
Makefile
|
# Program arguments
|
||
|
BINARY_NAME ?= tools
|
||
|
BINARY_UNIX ?= $(BINARY_NAME)_unix
|
||
|
CONTAINER_NAME ?= unikraft/tools:latest
|
||
|
|
||
|
## Tools
|
||
|
DOCKER ?= docker
|
||
|
TARGET ?= binary
|
||
|
GO ?= go
|
||
|
GOBUILD ?= $(GO) build
|
||
|
GOCLEAN ?= $(GO) clean
|
||
|
GOTEST ?= $(GO) test
|
||
|
GOGET ?= $(GO) get
|
||
|
|
||
|
# Targets
|
||
|
all: build
|
||
|
container:
|
||
|
$(DOCKER) build \
|
||
|
-t $(CONTAINER_NAME) \
|
||
|
-f Dockerfile \
|
||
|
--target=$(TARGET) \
|
||
|
.
|
||
|
build:
|
||
|
$(GOBUILD) -o $(BINARY_NAME) -v
|
||
|
test:
|
||
|
$(GOTEST) -v ./...
|
||
|
clean:
|
||
|
$(GOCLEAN)
|
||
|
rm -f $(BINARY_NAME)
|
||
|
rm -f $(BINARY_UNIX)
|
||
|
run:
|
||
|
$(GOBUILD) -o $(BINARY_NAME) -v
|
||
|
./$(BINARY_NAME)
|
||
|
deps:
|
||
|
$(GOGET) github.com/fatih/color
|
||
|
$(GOGET) github.com/akamensky/argparse
|
||
|
$(GOGET) github.com/awalterschulze/gographviz
|
||
|
$(GOGET) github.com/sergi/go-diff/...
|
||
|
$(GOGET) github.com/AlecAivazis/survey
|
||
|
# Cross compilation
|
||
|
build-linux:
|
||
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BINARY_UNIX) -v
|