2019-06-07 22:40:04 +00:00
|
|
|
DOCKER_TAG ?= dockron-dev-${USER}
|
2018-08-03 18:35:49 +00:00
|
|
|
|
2018-08-03 01:11:07 +00:00
|
|
|
.PHONY: default
|
|
|
|
default: build
|
|
|
|
|
|
|
|
# Downloads dependencies into vendor directory
|
|
|
|
vendor:
|
|
|
|
dep ensure
|
|
|
|
|
|
|
|
# Runs the application, useful while developing
|
|
|
|
.PHONY: run
|
|
|
|
run: vendor
|
|
|
|
go run *.go
|
|
|
|
|
|
|
|
# Output target
|
2018-08-04 02:22:54 +00:00
|
|
|
dockron: vendor
|
|
|
|
go build -o dockron
|
2018-08-03 01:11:07 +00:00
|
|
|
|
|
|
|
# Alias for building
|
|
|
|
.PHONY: build
|
2018-08-04 02:22:54 +00:00
|
|
|
build: dockron
|
2018-08-03 01:11:07 +00:00
|
|
|
|
2019-06-07 23:15:50 +00:00
|
|
|
dockron-linux-amd64: vendor
|
|
|
|
GOARCH=amd64 CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o dockron-linux-amd64
|
|
|
|
|
|
|
|
dockron-linux-arm: vendor
|
|
|
|
GOARCH=arm CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o dockron-linux-arm
|
|
|
|
|
|
|
|
dockron-linux-arm64: vendor
|
|
|
|
GOARCH=arm64 CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o dockron-linux-arm64
|
|
|
|
|
|
|
|
.PHONY: build-all-static
|
|
|
|
build-all-static: dockron-linux-amd64 dockron-linux-arm dockron-linux-arm64
|
|
|
|
|
2018-08-03 01:11:07 +00:00
|
|
|
# Cleans all build artifacts
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
2018-08-04 02:22:54 +00:00
|
|
|
rm dockron
|
2018-08-03 01:11:07 +00:00
|
|
|
|
|
|
|
# Cleans vendor directory
|
|
|
|
.PHONY: clean-vendor
|
|
|
|
clean-vendor:
|
|
|
|
rm -fr ./vendor
|
|
|
|
|
|
|
|
# Attempts to update dependencies
|
|
|
|
.PHONY: dep-update
|
|
|
|
dep-update:
|
|
|
|
dep ensure -update
|
2018-08-03 18:35:49 +00:00
|
|
|
|
|
|
|
.PHONY: docker-build
|
|
|
|
docker-build:
|
2019-06-07 22:40:04 +00:00
|
|
|
docker build . -t ${DOCKER_TAG}-linux-amd64
|
|
|
|
|
|
|
|
# Cross build for arm architechtures
|
|
|
|
.PHONY: docker-cross-build-arm
|
|
|
|
docker-cross-build-arm:
|
|
|
|
docker build --build-arg REPO=arm32v6 --build-arg ARCH=arm . -t ${DOCKER_TAG}-linux-arm
|
|
|
|
|
|
|
|
.PHONY: docker-cross-build-arm
|
|
|
|
docker-cross-build-arm64:
|
|
|
|
docker build --build-arg REPO=arm64v8 --build-arg ARCH=arm64 . -t ${DOCKER_TAG}-linux-arm64
|
2018-08-03 18:35:49 +00:00
|
|
|
|
|
|
|
.PHONY: docker-run
|
2019-06-07 22:40:04 +00:00
|
|
|
docker-run: docker-build
|
|
|
|
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock --name $(DOCKER_TAG)-run $(DOCKER_TAG)-linux-amd64
|
|
|
|
|
|
|
|
# Cross run on host architechture
|
|
|
|
.PHONY: docker-cross-run-arm
|
|
|
|
docker-cross-run-arm: docker-cross-build-arm
|
|
|
|
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock --name $(DOCKER_TAG)-run ${DOCKER_TAG}-linux-arm
|
|
|
|
|
|
|
|
.PHONY: docker-cross-run-arm64
|
|
|
|
docker-cross-run-arm64: docker-cross-build-arm64
|
|
|
|
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock --name $(DOCKER_TAG)-run ${DOCKER_TAG}-linux-arm64
|