blockbook/Makefile

76 lines
2.8 KiB
Makefile
Raw Normal View History

2018-04-11 00:23:07 -06:00
BIN_IMAGE = blockbook-build
DEB_IMAGE = blockbook-build-deb
2018-04-10 03:53:33 -06:00
PACKAGER = $(shell id -u):$(shell id -g)
2018-04-11 00:23:07 -06:00
NO_CACHE = false
UPDATE_VENDOR = 1
ARGS ?=
2018-04-10 03:53:33 -06:00
TARGETS=$(subst .json,, $(shell ls configs/coins))
2018-04-11 00:23:07 -06:00
.PHONY: build build-debug test deb
2018-04-10 03:53:33 -06:00
2018-04-11 00:23:07 -06:00
build: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -e UPDATE_VENDOR=$(UPDATE_VENDOR) -v $(CURDIR):/src -v $(CURDIR)/build:/out $(BIN_IMAGE) make build ARGS="$(ARGS)"
2018-04-10 03:53:33 -06:00
2018-04-11 00:23:07 -06:00
build-debug: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -e UPDATE_VENDOR=$(UPDATE_VENDOR) -v $(CURDIR):/src -v $(CURDIR)/build:/out $(BIN_IMAGE) make build-debug ARGS="$(ARGS)"
2018-04-10 03:53:33 -06:00
2018-04-11 00:23:07 -06:00
test: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -e UPDATE_VENDOR=$(UPDATE_VENDOR) -v $(CURDIR):/src --network="host" $(BIN_IMAGE) make test ARGS="$(ARGS)"
2018-04-10 03:53:33 -06:00
2018-10-05 06:59:18 -06:00
test-integration: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -e UPDATE_VENDOR=$(UPDATE_VENDOR) -v $(CURDIR):/src --network="host" $(BIN_IMAGE) make test-integration ARGS="$(ARGS)"
test-all: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -e UPDATE_VENDOR=$(UPDATE_VENDOR) -v $(CURDIR):/src --network="host" $(BIN_IMAGE) make test-all ARGS="$(ARGS)"
deb-backend-%: .deb-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -e UPDATE_VENDOR=$(UPDATE_VENDOR) -v $(CURDIR):/src -v $(CURDIR)/build:/out $(DEB_IMAGE) /build/build-deb.sh backend $* $(ARGS)
deb-blockbook-%: .deb-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -e UPDATE_VENDOR=$(UPDATE_VENDOR) -v $(CURDIR):/src -v $(CURDIR)/build:/out $(DEB_IMAGE) /build/build-deb.sh blockbook $* $(ARGS)
deb-%: .deb-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -e UPDATE_VENDOR=$(UPDATE_VENDOR) -v $(CURDIR):/src -v $(CURDIR)/build:/out $(DEB_IMAGE) /build/build-deb.sh all $* $(ARGS)
2018-04-11 00:23:07 -06:00
deb-blockbook-all: clean-deb $(addprefix deb-blockbook-, $(TARGETS))
$(addprefix all-, $(TARGETS)): all-%: clean-deb build-images deb-%
2018-05-28 07:22:02 -06:00
all: clean-deb build-images $(addprefix deb-, $(TARGETS))
2018-05-28 07:22:02 -06:00
2018-10-15 06:58:40 -06:00
build-images: clean-images
2018-04-11 00:23:07 -06:00
$(MAKE) .bin-image .deb-image
.bin-image:
2018-10-15 06:58:40 -06:00
@if [ -z "$(shell docker images --quiet --filter=reference=$(BIN_IMAGE):latest)" ]; then \
echo "Building image $(BIN_IMAGE)..."; \
docker build --no-cache=$(NO_CACHE) -t $(BIN_IMAGE) build/docker/bin; \
fi
2018-04-11 00:23:07 -06:00
.deb-image: .bin-image
2018-10-15 06:58:40 -06:00
@if [ -z "$(shell docker images --quiet --filter=reference=$(DEB_IMAGE):latest)" ]; then \
echo "Building image $(DEB_IMAGE)..."; \
docker build --no-cache=$(NO_CACHE) -t $(DEB_IMAGE) build/docker/deb; \
fi
2018-04-11 00:23:07 -06:00
clean: clean-bin clean-deb
clean-all: clean clean-images
clean-bin:
2018-05-28 07:22:02 -06:00
find build -maxdepth 1 -type f -executable -delete
2018-04-11 00:23:07 -06:00
clean-deb:
rm -rf build/pkg-defs
2018-04-10 03:53:33 -06:00
rm -f build/*.deb
2018-04-11 00:23:07 -06:00
clean-images: clean-bin-image clean-deb-image
2018-10-17 03:03:14 -06:00
rm -f .bin-image .deb-image # remove obsolete tag files
2018-04-11 00:23:07 -06:00
clean-bin-image:
- docker rmi $(BIN_IMAGE)
clean-deb-image:
- docker rmi $(DEB_IMAGE)