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}) 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 -c . | docker import - ${BOOTSTRAP_IMAGE} sudo rm -rf fs 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 \ --env 'XILINX_PKGDIR=/cryptech-builder/${XILINX_PKGDIR}' \ --env 'XILINX_LICENSE=${XILINX_LICENSE}' \ ${BOOTSTRAP_IMAGE} \ /cryptech-builder/Builder 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: git clean -dfx -e ${XILINX_TARBALL} -e ${XILINX_LICENSE} .PHONY: all clean