- .PHONY: symbiyosys ghdl-formal riscv-gcc gatemate all NOCACHE clean copy
-
- # Support for make environment variable NOCACHE
- ifeq (NOCACHE,$(lastword $(MAKECMDGOALS)))
- OPTIONS := --no-cache
- $(info INFO: build without cache)
- $(eval $(lastword$(MAKECMDGOALS)):dummy;@:)
- endif
-
- NOCACHE:
- @#
-
-
- ifndef TAG
- TAG := latest
- $(info INFO: Using predefined tag 'latest')
- else
- $(info INFO: Using user given tag '${TAG}')
- endif
-
-
- all: symbiyosys ghdl-formal riscv-gcc gatemate
-
- copy: copy-ghdl copy-riscv
- copy-ghdl: ghdl-formal_${TAG}.tar.gz
- copy-riscv: riscv-gcc_${TAG}.tar.gz
-
-
- packages/gatemate-toolchain.tar.gz:
- curl https://colognechip.com/downloads/cc-toolchain-linux.tar.gz --output $@
-
- gatemate: packages/gatemate-toolchain.tar.gz
-
- .SECONDEXPANSION:
- symbiyosys ghdl-formal riscv-gcc gatemate: $$@.Dockerfile
- docker build ${OPTIONS} -t $@:${TAG} -f $@.Dockerfile .
-
-
- %_${TAG}.tar.gz:
- mkdir -p artefacts
- docker run --rm -dit --name=$*-dummy $*:${TAG} > /dev/null
- docker cp $*-dummy:/opt/. artefacts
- docker rm -f $*-dummy > /dev/null
- tar -C artefacts -czf $@ .
- shasum --algorithm 256 --UNIVERSAL $@ > $@.sha256
-
-
- clean:
- rm -rf artefacts
- rm -f *.tar.*
- rm -f packages/gatemate-toolchain.tar.gz
|