blob: b34a496cbd52a18f2e8a159962d113ab4ebc2395 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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 := $(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 -xf ${XILINX_TARBALL}
test -d fs/${XILINX_PKGDIR}
sudo tar -C fs -c . | docker import - ${BOOTSTRAP_IMAGE}
sudo rm -rf fs
docker run -it --name ${BOOTSTRAP_CONTAINER} \
--mount type=bind,source=$(abspath .),target=/cryptech-builder \
--env 'XILINX_PKGDIR=/${XILINX_PKGDIR}' \
--env 'XILINX_LICENSE=${XILINX_LICENSE}' \
${BOOTSTRAP_IMAGE} \
/cryptech-builder/Builder
-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
|