gaulthiergain-tools/srcs/Makefile
2020-09-16 09:14:26 +02:00

42 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