2020BASE_IMAGE ?= ubuntu:16.04
2121# MQ_VERSION is the fully qualified MQ version number to build
2222MQ_VERSION ?= 9.0.5.0
23- MQ_SDK_VERSION ?= 9.0.5.0
2423# MQ_ARCHIVE is the name of the file, under the downloads directory, from which MQ Advanced can
2524# be installed. The default value is derived from MQ_VERSION, BASE_IMAGE and architecture
2625# Does not apply to MQ Advanced for Developers.
2726MQ_ARCHIVE ?= IBM_MQ_$(MQ_VERSION ) _$(MQ_ARCHIVE_TYPE ) _$(MQ_ARCHIVE_ARCH ) .tar.gz
2827# MQ_ARCHIVE_DEV is the name of the file, under the downloads directory, from which MQ Advanced
2928# for Developers can be installed
3029MQ_ARCHIVE_DEV ?= $(MQ_ARCHIVE_DEV_$(MQ_VERSION ) )
31- MQ_SDK_ARCHIVE ?= $(MQ_ARCHIVE_DEV_$(MQ_SDK_VERSION ) )
30+ # MQ_SDK_ARCHIVE specifies the archive to use for building the golang programs. Defaults vary on developer or advanced.
31+ MQ_SDK_ARCHIVE ?= $(MQ_ARCHIVE_DEV_$(MQ_VERSION ) )
3232# Options to `go test` for the Docker tests
3333TEST_OPTS_DOCKER ?=
3434# MQ_IMAGE_ADVANCEDSERVER is the name and tag of the built MQ Advanced image
3535MQ_IMAGE_ADVANCEDSERVER ?=mqadvanced-server:$(MQ_VERSION ) -$(ARCH ) -$(BASE_IMAGE_TAG )
3636# MQ_IMAGE_DEVSERVER is the name and tag of the built MQ Advanced for Developers image
3737MQ_IMAGE_DEVSERVER ?=mqadvanced-server-dev:$(MQ_VERSION ) -$(ARCH ) -$(BASE_IMAGE_TAG )
3838# MQ_IMAGE_SDK is the name and tag of the built MQ Advanced for Developers SDK image
39- MQ_IMAGE_SDK ?=mq-sdk:$(MQ_SDK_VERSION ) -$(ARCH ) -$(BASE_IMAGE_TAG )
39+ MQ_IMAGE_SDK ?=mq-sdk:$(MQ_VERSION ) -$(ARCH ) -$(BASE_IMAGE_TAG )
4040# MQ_IMAGE_GOLANG_SDK is the name and tag of the built MQ Advanced for Developers SDK image, plus Go tools
41- MQ_IMAGE_GOLANG_SDK ?=mq-golang-sdk:$(MQ_SDK_VERSION ) -$(ARCH ) -$(BASE_IMAGE_TAG )
41+ MQ_IMAGE_GOLANG_SDK ?=mq-golang-sdk:$(MQ_VERSION ) -$(ARCH ) -$(BASE_IMAGE_TAG )
4242# DOCKER is the Docker command to run
4343DOCKER ?= docker
4444# MQ_PACKAGES specifies the MQ packages (.deb or .rpm) to install. Defaults vary on base image.
@@ -78,10 +78,13 @@ endif
7878# Try to figure out which archive to use from the architecture
7979ifeq "$(ARCH ) " "x86_64"
8080 MQ_ARCHIVE_ARCH=X86-64
81+ MQ_DEV_ARCH=x86-64
8182else ifeq "$(ARCH)" "ppc64le"
8283 MQ_ARCHIVE_ARCH=LE_POWER
84+ MQ_DEV_ARCH=ppcle
8385else ifeq "$(ARCH)" "s390x"
8486 MQ_ARCHIVE_ARCH=SYSTEM_Z
87+ MQ_DEV_ARCH=s390x
8588endif
8689# Archive names for IBM MQ Advanced for Developers
8790MQ_ARCHIVE_DEV_9.0.4.0 =mqadv_dev904_$(MQ_ARCHIVE_DEV_PLATFORM ) _x86-64.tar.gz
@@ -129,7 +132,7 @@ downloads/$(MQ_ARCHIVE_DEV):
129132 cd downloads; curl -LO https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/$(MQ_ARCHIVE_DEV )
130133
131134downloads/$(MQ_SDK_ARCHIVE ) :
132- $(info $(SPACER )$(shell printf $(TITLE ) "Downloading IBM MQ Advanced for Developers "$(MQ_SDK_VERSION )$(END ) ) )
135+ $(info $(SPACER )$(shell printf $(TITLE ) "Downloading IBM MQ Advanced for Developers "$(MQ_VERSION )$(END ) ) )
133136 mkdir -p downloads
134137 cd downloads; curl -LO https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/$(MQ_SDK_ARCHIVE )
135138
@@ -207,7 +210,7 @@ define docker-build-mq
207210 --volume $(DOWNLOADS_DIR ) :/usr/share/nginx/html:ro \
208211 --detach \
209212 nginx:alpine
210- # Build the new image (use --pull to make sure we have the latest base image)
213+ # Build the new image
211214 $(DOCKER ) build \
212215 --tag $1 \
213216 --file $2 \
@@ -230,6 +233,7 @@ docker-version:
230233 @test " $( word 1,$( subst ., ,$( DOCKER_SERVER_VERSION) ) ) " -ge " 17" || (" $( word 1,$( subst ., ,$( DOCKER_SERVER_VERSION) ) ) " -eq " 17" && " $( word 2,$( subst ., ,$( DOCKER_CLIENT_VERSION) ) ) " -ge " 05" ) || (echo " Error: Docker server 17.05 or greater is required" && exit 1)
231234
232235.PHONY : build-advancedserver
236+ build-advancedserver : MQ_SDK_ARCHIVE=$(MQ_ARCHIVE )
233237build-advancedserver : downloads/$(MQ_ARCHIVE ) docker-version build-golang-sdk
234238 $(info $(SPACER )$(shell printf $(TITLE ) "Build $(MQ_IMAGE_ADVANCEDSERVER ) "$(END ) ) )
235239 $(call docker-build-mq,$(MQ_IMAGE_ADVANCEDSERVER ) ,Dockerfile-server,$(MQ_ARCHIVE ) ,"4486e8c4cc9146fd9b3ce1f14a2dfc5b","IBM MQ Advanced",$(MQ_VERSION ) )
@@ -260,11 +264,11 @@ else
260264build-sdk : MQ_PACKAGES=MQSeriesRuntime-* .rpm MQSeriesSDK-* .rpm MQSeriesSamples* .rpm
261265endif
262266build-sdk : downloads/$(MQ_SDK_ARCHIVE ) docker-version docker-pull
263- $(call docker-build-mq,$(MQ_IMAGE_SDK ) ,incubating/mq-sdk/Dockerfile,$(MQ_SDK_ARCHIVE ) ,"98102d16795c4263ad9ca075190a2d4d","IBM MQ Advanced for Developers SDK (Non-Warranted) " ,$( MQ_SDK_VERSION ) )
267+ $(call docker-build-mq,$(MQ_IMAGE_SDK ) ,incubating/mq-sdk/Dockerfile,$(MQ_SDK_ARCHIVE ) ,"98102d16795c4263ad9ca075190a2d4d","IBM MQ Advanced for Developers SDK (Non-Warranted) " ,$( MQ_VERSION ) )
264268
265269build-golang-sdk : downloads/$(MQ_SDK_ARCHIVE ) docker-version build-sdk
266270 $(DOCKER ) build --build-arg BASE_IMAGE=$(MQ_IMAGE_SDK ) -t $(MQ_IMAGE_GOLANG_SDK ) -f incubating/mq-golang-sdk/Dockerfile .
267- # $(call docker-build-mq,$(MQ_IMAGE_GOLANG_SDK),incubating/mq-golang-sdk/Dockerfile,$(MQ_IMAGE_SDK),"98102d16795c4263ad9ca075190a2d4d","IBM MQ Advanced for Developers SDK (Non-Warranted)",$(MQ_SDK_VERSION ))
271+ # $(call docker-build-mq,$(MQ_IMAGE_GOLANG_SDK),incubating/mq-golang-sdk/Dockerfile,$(MQ_IMAGE_SDK),"98102d16795c4263ad9ca075190a2d4d","IBM MQ Advanced for Developers SDK (Non-Warranted)",$(MQ_VERSION ))
268272
269273docker-pull :
270274 $(DOCKER ) pull $(BASE_IMAGE )
0 commit comments