diff options
author | Rob Austein <sra@hactrn.net> | 2019-02-17 04:51:03 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2019-02-17 04:51:03 +0000 |
commit | 0820895f73dfc41f37bb63365290815c861013cf (patch) | |
tree | 1b3a2f87f328aadddd20bd6564891476a1ccb73b /Makefile | |
parent | 462f33573500393d29111b78d1aa621f9beb8493 (diff) |
Parameterize and clean up, now that basic hack seems to work.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 61 |
1 files changed, 36 insertions, 25 deletions
@@ -1,32 +1,43 @@ -all: stage0.stamp stage1.stamp stage2.stamp stage3.stamp +XILINX_TARBALL := Xilinx_ISE_DS_Lin_14.7_1015_1.tar +XILINX_LICENSE := Xilinx.lic +BOOTSTRAP_IMAGE := cryptech-builder:bootstrap +BOOTSTRAP_CONTAINER := cryptech-builder-bootstrap +CRYPTECH_BASE_FILE := cryptech-builder-base-image.xz +XILINX_PKGDIR := fs/$(basename ${XILINX_TARBALL}) -stage0.stamp: - mkdir -p fs/cryptech-builder +ifneq (./,$(sort $(dir ${XILINX_TARBALL} ${XILINX_LICENSE}))) +$(error XILINX_TARBALL and XILINX_LICENSE must be in this directory for bind mount) +endif + +all: ${CRYPTECH_BASE_FILE} + docker import ${CRYPTECH_BASE_FILE} cryptech-builder:base + docker build -t cryptech-builder . + +${CRYPTECH_BASE_FILE}: ${XILINX_TARBALL} ${XILINX_LICENSE} Builder Ratinox + -docker container rm -f ${BOOTSTRAP_CONTAINER} + -docker image rm -f ${BOOTSTRAP_IMAGE} + rm -rf fs + mkdir fs sudo /usr/sbin/debootstrap --foreign jessie fs - sudo tar -C fs -xf Xilinx_ISE_DS_Lin_14.7_1015_1.tar - sudo tar -C fs -c . | docker import - cryptech-builder:stage0 + sudo tar -C fs -c . | docker import - ${BOOTSTRAP_IMAGE} sudo rm -rf fs - touch $@ - -stage1.stamp: stage0.stamp Builder Ratinox - docker run -it --name cryptech-builder-stage1 \ + mkdir fs + tar -C fs -xf ${XILINX_TARBALL} + test -d ${XILINX_PKGDIR} + docker run -it --name ${BOOTSTRAP_CONTAINER} \ --mount type=bind,source=$(abspath .),target=/cryptech-builder \ - cryptech-builder:stage0 \ + --env 'XILINX_PKGDIR=/cryptech-builder/${XILINX_PKGDIR}' \ + --env 'XILINX_LICENSE=${XILINX_LICENSE}' \ + ${BOOTSTRAP_IMAGE} \ /cryptech-builder/Builder - docker export cryptech-builder-stage1 | \ - xz -v >cryptech-builder-stage1.xz - docker container rm cryptech-builder-stage1 - touch $@ - -stage2.stamp: stage1.stamp - docker rmi cryptech-builder:stage0 - docker import cryptech-builder-stage1.xz cryptech-builder:stage2 -# rm cryptech-builder-stage1.xz - touch $@ - -stage3.stamp: stage2.stamp Dockerfile - docker build -t cryptech-builder . - touch $@ + rm -rf fs + -mogrify -verbose -format png *.xwd && rm *.xwd + docker export ${BOOTSTRAP_CONTAINER} | xz -v >${CRYPTECH_BASE_FILE}.tmp + docker container rm -f ${BOOTSTRAP_CONTAINER} + docker image rm -f ${BOOTSTRAP_IMAGE} + mv ${CRYPTECH_BASE_FILE}.tmp ${CRYPTECH_BASE_FILE} clean: - rm -f *.stamp Xvfb_screen* cryptech-builder-stage1.xz + git clean -dfx -e ${XILINX_TARBALL} -e ${XILINX_LICENSE} + +.PHONY: all clean |