diff --git a/Dockerfile b/Dockerfile
index 56755b76293ae7e4aaf618dcb97e2a8e64ca889a..11ce93b4c8bf3d03da4d046e0b1a876ee3931eeb 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
 # docker build --build-arg BORT=develop . -f shellb3-cspp-py3.Dockerfile -t shellb3-cspp-py3:latest
 # docker run -e SHELLB3_ARCHIVE_DIR=/dock -it --rm -v $HOME/dock:/dock -w /opt/shellb3-cspp-py3/ShellB3 shellb3-cspp-py3 /bin/bash -l -c "unset LANG; bash shallbethree.sh bin_dist"
-FROM centos:7
+FROM centos:7 as gcc
 RUN yum -y install gcc-gfortran gcc-c++ unzip perl patch byacc bison flex glibc-devel.i686 glibc-devel.x86_64 xz epel-release wget make bzip2 xz automake autoconf m4 which
 RUN yum -y install git git-lfs
 RUN test -d /opt || mkdir /opt
@@ -15,6 +15,8 @@ ARG TRIM=cspp
 ENV PORTABLESHELLB3=true
 ENV MAKEFLAGS=-j40
 RUN ./shallbethree.sh mk_gcc11
+
+FROM gcc as sb3
 ARG LINUXCPUFLAGS="-march=ivybridge -fPIC"
 ENV LINUXCPUFLAGS="${LINUXCPUFLAGS}"
 # numcodecs will break on avx2 build when ivybridge arch is forced
diff --git a/build-and-push.sh b/build-and-push.sh
index 234387bd1a892e873f0a470a4a2c3caf9db6c176..b4ccef5fe8612216364abf41107e930e92b7a002 100755
--- a/build-and-push.sh
+++ b/build-and-push.sh
@@ -1,7 +1,9 @@
 #!/bin/bash -e
+export REVNUM=GIT$(git rev-parse --verify HEAD --short)
+
 time docker build -t shellb3:latest \
     -t gitlab.ssec.wisc.edu:5555/cspp/buildbucket/shellb3/shellb3-centos7-gcc11-cspp-py3:r$REVNUM \
-    --build-arg REVNUM=GIT$(git rev-parse --verify HEAD --short) \
+    --build-arg REVNUM=$REVNUM \
     -f Dockerfile .
 
 docker push gitlab.ssec.wisc.edu:5555/cspp/buildbucket/shellb3/shellb3-centos7-gcc11-cspp-py3:r$REVNUM
diff --git a/build-gcc.sh b/build-gcc.sh
new file mode 100755
index 0000000000000000000000000000000000000000..ae94ed985a1d8a1ecb1ec69cdc19e8849bc5fcb1
--- /dev/null
+++ b/build-gcc.sh
@@ -0,0 +1,10 @@
+#!/bin/bash -e
+export REVNUM=GIT$(git rev-parse --verify HEAD --short)
+
+time docker build -t shellb3-gcc:latest \
+    -t gitlab.ssec.wisc.edu:5555/cspp/buildbucket/shellb3/shellb3-gcc11:r$REVNUM \
+    --build-arg REVNUM=$REVNUM \
+    --target gcc \
+    -f Dockerfile .
+
+echo >&2 "==> gitlab.ssec.wisc.edu:5555/cspp/buildbucket/shellb3/shellb3-gcc11:r$REVNUM aka shellb3-gcc:latest"
\ No newline at end of file