@@ -4,25 +4,39 @@ DOCKER_TAG ?= ## How to tag the docker image. a -build will be appended f
4
4
DOCKER_REPOSITORY ?= # # Docker hub repository to commit image
5
5
6
6
OUTPUT_DIR = build
7
- BUILD_ARGS = --build-arg crystal_deb=./tmp/crystal.deb
7
+ BUILD_ARGS64 = --build-arg crystal_deb=./tmp/crystal.deb --build-arg base_docker_image=ubuntu:xenial
8
+ BUILD_ARGS32 = --build-arg crystal_deb=./tmp/crystal.deb --build-arg base_docker_image=i386/ubuntu:xenial
8
9
9
- .PHONY : all
10
- all : $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) .tar.gz $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -build.tar.gz
10
+ .PHONY : all64
11
+ all64 : $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) .tar.gz $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -build.tar.gz
12
+
13
+ .PHONY : all32
14
+ all32 : $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -i386.tar.gz $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -i386-build.tar.gz
11
15
12
16
$(CURDIR ) /tmp/crystal.deb :
13
17
mkdir -p $(CURDIR ) /tmp
14
18
cp $(CRYSTAL_DEB ) $(CURDIR ) /tmp/crystal.deb
15
19
16
20
$(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) .tar.gz : $(CURDIR ) /tmp/crystal.deb
17
21
mkdir -p $(OUTPUT_DIR )
18
- docker build $(BUILD_ARGS ) --target runtime -t $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) .
22
+ docker build $(BUILD_ARGS64 ) --target runtime -t $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) .
19
23
docker save $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) | gzip > $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) .tar.gz
20
24
21
25
$(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -build.tar.gz : $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) .tar.gz
22
26
mkdir -p $(OUTPUT_DIR )
23
- docker build $(BUILD_ARGS ) --target build -t $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) -build .
27
+ docker build $(BUILD_ARGS64 ) --target build -t $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) -build .
24
28
docker save $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) -build | gzip > $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -build.tar.gz
25
29
30
+ $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -i386.tar.gz : $(CURDIR ) /tmp/crystal.deb
31
+ mkdir -p $(OUTPUT_DIR )
32
+ docker build $(BUILD_ARGS32 ) --target runtime -t $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) -i386 .
33
+ docker save $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) -i386 | gzip > $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -i386.tar.gz
34
+
35
+ $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -i386-build.tar.gz : $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -i386.tar.gz
36
+ mkdir -p $(OUTPUT_DIR )
37
+ docker build $(BUILD_ARGS32 ) --target build -t $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) -i386-build .
38
+ docker save $(DOCKER_REPOSITORY ) :$(DOCKER_TAG ) -i386-build | gzip > $(OUTPUT_DIR ) /docker-$(CRYSTAL_VERSION ) -i386-build.tar.gz
39
+
26
40
.PHONY : clean
27
41
clean : # # Clean up build directory
28
42
rm -Rf $(OUTPUT_DIR )
0 commit comments