build improvements

This commit is contained in:
Jakub Matys 2018-04-11 08:23:07 +02:00
parent 7308bcf51a
commit fe4c2f5228
5 changed files with 51 additions and 13 deletions

View File

@ -1,17 +1,50 @@
BIN_IMAGE = blockbook-build
DEB_IMAGE = blockbook-build-deb
PACKAGER = $(shell id -u):$(shell id -g) PACKAGER = $(shell id -u):$(shell id -g)
NO_CACHE = false
.PHONY: build test deb .PHONY: build build-debug test deb
build: build: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v $(CURDIR):/src -v $(CURDIR)/build:/out blockbook-build make build docker run -t --rm -e PACKAGER=$(PACKAGER) -v $(CURDIR):/src -v $(CURDIR)/build:/out $(BIN_IMAGE) make build
strip build/blockbook
test: build-debug: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v $(CURDIR):/src blockbook-build make test docker run -t --rm -e PACKAGER=$(PACKAGER) -v $(CURDIR):/src -v $(CURDIR)/build:/out $(BIN_IMAGE) make build-debug
deb: test: .bin-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v $(CURDIR):/src -v $(CURDIR)/build:/out blockbook-build-deb docker run -t --rm -e PACKAGER=$(PACKAGER) -v $(CURDIR):/src $(BIN_IMAGE) make test
clean: deb: .deb-image
docker run -t --rm -e PACKAGER=$(PACKAGER) -v $(CURDIR):/src -v $(CURDIR)/build:/out $(DEB_IMAGE)
build-images:
rm -f .bin-image .deb-image
$(MAKE) .bin-image .deb-image
.bin-image:
docker build --no-cache=$(NO_CACHE) -t $(BIN_IMAGE) build/bin
@ docker images -q $(BIN_IMAGE) > $@
.deb-image:
docker build --no-cache=$(NO_CACHE) -t $(DEB_IMAGE) build/deb
@ docker images -q $(DEB_IMAGE) > $@
clean: clean-bin clean-deb
clean-all: clean clean-images
clean-bin:
rm -f build/blockbook rm -f build/blockbook
clean-deb:
rm -f build/*.deb rm -f build/*.deb
clean-images: clean-bin-image clean-deb-image
clean-bin-image:
- docker rmi $(BIN_IMAGE)
@ rm -f .bin-image
clean-deb-image:
- docker rmi $(DEB_IMAGE)
@ rm -f .deb-image

View File

@ -4,7 +4,7 @@ FROM debian:9
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
build-essential git wget pkg-config lxc-dev libzmq3-dev libgflags-dev \ build-essential git wget pkg-config lxc-dev libzmq3-dev libgflags-dev \
libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev graphviz libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev graphviz upx-ucl
ENV GOLANG_VERSION=go1.10.linux-amd64 ENV GOLANG_VERSION=go1.10.linux-amd64
ENV GOPATH=/go ENV GOPATH=/go
@ -22,7 +22,7 @@ RUN echo -n "GOPATH: " && echo $GOPATH
# install rocksdb # install rocksdb
RUN cd /opt && git clone https://github.com/facebook/rocksdb.git RUN cd /opt && git clone https://github.com/facebook/rocksdb.git
RUN cd /opt/rocksdb && CFLAGS=-fPIC CXXFLAGS=-fPIC make static_lib RUN cd /opt/rocksdb && CFLAGS=-fPIC CXXFLAGS=-fPIC make -j 4 static_lib
RUN go get github.com/golang/dep/cmd/dep RUN go get github.com/golang/dep/cmd/dep

View File

@ -1,4 +1,10 @@
build: prepare-sources build: prepare-sources
cd $(GOPATH)/src/blockbook && go build -o $(CURDIR)/blockbook -ldflags="-s -w"
upx $(CURDIR)/blockbook
cp $(CURDIR)/blockbook /out/blockbook
chown $(PACKAGER) /out/blockbook
build-debug: prepare-sources
cd $(GOPATH)/src/blockbook && go build -o $(CURDIR)/blockbook cd $(GOPATH)/src/blockbook && go build -o $(CURDIR)/blockbook
cp $(CURDIR)/blockbook /out/blockbook cp $(CURDIR)/blockbook /out/blockbook
chown $(PACKAGER) /out/blockbook chown $(PACKAGER) /out/blockbook

View File

@ -2,7 +2,7 @@ Source: blockbook
Section: satoshilabs Section: satoshilabs
Priority: optional Priority: optional
Maintainer: jakub.matys@satoshilabs.com Maintainer: jakub.matys@satoshilabs.com
Build-Depends: debhelper, dh-systemd, dh-exec Build-Depends: debhelper, dh-systemd, dh-exec, upx
Standards-Version: 3.9.5 Standards-Version: 3.9.5
Package: blockbook-btc Package: blockbook-btc

View File

@ -6,4 +6,3 @@ DH_VERBOSE = 1
dh $@ --with=systemd dh $@ --with=systemd
override_dh_strip: override_dh_strip:
dh_strip --no-automatic-dbgsym