Skip to content

Commit 25a13e6

Browse files
christo4ferrismastersingh24
authored andcommitted
FAB-4510 implement make dist and dist-all target
This change implements creation of a flatter structure for the release binaries and separates out the delivery of release binaries from the e2e_cli sample. address ramesh comments rebase and move install script to bin Change-Id: I20cd3d8afd211b4945daaf91d4573cd087ba5aeb Signed-off-by: Christopher Ferris <[email protected]> Signed-off-by: Gari Singh <[email protected]>
1 parent d51e2ad commit 25a13e6

File tree

1 file changed

+37
-7
lines changed

1 file changed

+37
-7
lines changed

Makefile

+37-7
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ endif
4848
PKGNAME = github.com/$(PROJECT_NAME)
4949
CGO_FLAGS = CGO_CFLAGS=" "
5050
ARCH=$(shell uname -m)
51+
MARCH=$(shell go env GOOS)-$(shell go env GOARCH)
5152
CHAINTOOL_RELEASE=v0.10.3
5253
BASEIMAGE_RELEASE=$(shell cat ./.baseimage-release)
5354

@@ -295,7 +296,7 @@ build/%.tar.bz2:
295296
@tar -jc $^ > $@
296297

297298
# builds release packages for the host platform
298-
release: $(patsubst %,release/%, $(shell go env GOOS)-$(shell go env GOARCH))
299+
release: $(patsubst %,release/%, $(MARCH))
299300

300301
# builds release packages for all target platforms
301302
release-all: $(patsubst %,release/%, $(RELEASE_PLATFORMS))
@@ -344,14 +345,35 @@ release/%/bin/cryptogen: $(PROJECT_FILES)
344345
$(CGO_FLAGS) GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o $(abspath $@) -tags "$(GO_TAGS)" -ldflags "$(GO_LDFLAGS)" $(pkgmap.$(@F))
345346

346347
release/%/install: $(PROJECT_FILES)
347-
mkdir -p $@
348-
@cat $@/../../templates/get-docker-images.in \
348+
mkdir -p $(@D)/bin
349+
@cat $(@D)/../templates/get-docker-images.in \
349350
| sed -e 's/_NS_/$(DOCKER_NS)/g' \
350351
| sed -e 's/_ARCH_/$(DOCKER_ARCH)/g' \
351352
| sed -e 's/_VERSION_/$(PROJECT_VERSION)/g' \
352353
| sed -e 's/_BASE_DOCKER_TAG_/$(BASE_DOCKER_TAG)/g' \
353-
> $@/get-docker-images.sh
354-
@chmod +x $@/get-docker-images.sh
354+
> $(@D)/bin/get-docker-images.sh
355+
@chmod +x $(@D)/bin/get-docker-images.sh
356+
357+
.PHONY: dist
358+
dist: dist-clean release
359+
cd release/$(MARCH) && tar -czvf hyperledger-fabric-$(MARCH).$(BASE_VERSION).tar.gz *
360+
361+
dist-all: dist-clean release-all $(patsubst %,dist/%, $(RELEASE_PLATFORMS))
362+
363+
dist/windows-amd64:
364+
cd release/windows-amd64 && tar -czvf hyperledger-fabric-windows-amd64.$(BASE_VERSION).tar.gz *
365+
366+
dist/darwin-amd64:
367+
cd release/darwin-amd64 && tar -czvf hyperledger-fabric-darwin-amd64.$(BASE_VERSION).tar.gz *
368+
369+
dist/linux-amd64:
370+
cd release/linux-amd64 && tar -czvf hyperledger-fabric-linux-amd64.$(BASE_VERSION).tar.gz *
371+
372+
dist/linux-ppc64le:
373+
cd release/linux-ppc64le && tar -czvf hyperledger-fabric-linux-ppc64le.$(BASE_VERSION).tar.gz *
374+
375+
dist/linux-s390x:
376+
cd release/linux-s390x && tar -czvf hyperledger-fabric-linux-s390x.$(BASE_VERSION).tar.gz *
355377

356378
.PHONY: protos
357379
protos: buildenv
@@ -368,10 +390,18 @@ docker-clean: $(patsubst %,%-docker-clean, $(IMAGES))
368390
clean: docker-clean unit-test-clean release-clean
369391
-@rm -rf build ||:
370392

371-
.PHONY: dist-clean
372-
dist-clean: clean gotools-clean
393+
.PHONY: clean-all
394+
clean-all: clean gotools-clean dist-clean release-clean unit-test-clean
373395
-@rm -rf /var/hyperledger/* ||:
374396

397+
.PHONY: dist-clean
398+
dist-clean:
399+
-@rm -rf release/windows-amd64/hyperledger-fabric-windows-amd64.$(BASE_VERSION).tar.gz ||:
400+
-@rm -rf release/darwin-amd64/hyperledger-fabric-darwin-amd64.$(BASE_VERSION).tar.gz ||:
401+
-@rm -rf release/linux-amd64/hyperledger-fabric-linux-amd64.$(BASE_VERSION).tar.gz ||:
402+
-@rm -rf release/linux-ppc64le/hyperledger-fabric-linux-ppc64le.$(BASE_VERSION).tar.gz ||:
403+
-@rm -rf release/linux-s390x/hyperledger-fabric-linux-s390x.$(BASE_VERSION).tar.gz ||:
404+
375405
%-release-clean:
376406
$(eval TARGET = ${patsubst %-release-clean,%,${@}})
377407
-@rm -rf release/$(TARGET)

0 commit comments

Comments
 (0)