diff --git a/fuzzers/fuzzer.mk b/fuzzers/fuzzer.mk index a606f757..0e52ffda 100644 --- a/fuzzers/fuzzer.mk +++ b/fuzzers/fuzzer.mk @@ -7,7 +7,6 @@ all: database $(SPECIMENS_OK): mkdir -p build bash ${XRAY_DIR}/utils/top_generate.sh $(subst /OK,,$@) - touch $@ run: $(MAKE) clean diff --git a/utils/genheader.sh b/utils/genheader.sh index 6e766ff2..611cda7d 100644 --- a/utils/genheader.sh +++ b/utils/genheader.sh @@ -15,7 +15,6 @@ test $# -ge 1 || exit 1 test ! -e "$SPECDIR" export SPECDIR=$1 -rm -rf "$SPECDIR" mkdir -p "$SPECDIR" cd "$SPECDIR" diff --git a/utils/top_generate.mk b/utils/top_generate.mk new file mode 100644 index 00000000..9b8812e3 --- /dev/null +++ b/utils/top_generate.mk @@ -0,0 +1,26 @@ +all: OK + +OK: generate.ok + touch OK + +# Some projects have hard coded top.v, others are generated +top.v.ok: + if [ -f ${FUZDIR}/top.py ] ; then python3 ${FUZDIR}/top.py >top.v; fi + touch top.v.ok + +vivado.ok: top.v.ok ${FUZDIR}/generate.tcl + ${XRAY_VIVADO} -mode batch -source ${FUZDIR}/generate.tcl + test -z "$(fgrep CRITICAL vivado.log)" + touch vivado.ok + +design_bits.ok: vivado.ok + \ + for x in design*.bit; do \ + ${XRAY_BITREAD} -F ${XRAY_ROI_FRAMES} -o $${x}s -z -y $$x ; \ + done + touch design_bits.ok + +generate.ok: design_bits.ok ${FUZDIR}/generate.py + python3 ${FUZDIR}/generate.py + touch generate.ok + diff --git a/utils/top_generate.sh b/utils/top_generate.sh index af0409fd..0e960d53 100644 --- a/utils/top_generate.sh +++ b/utils/top_generate.sh @@ -6,18 +6,5 @@ set -ex export FUZDIR=$PWD source ${XRAY_GENHEADER} - -# Some projects have hard coded top.v, others are generated -if [ -f $FUZDIR/top.py ] ; then - python3 $FUZDIR/top.py >top.v -fi - -${XRAY_VIVADO} -mode batch -source $FUZDIR/generate.tcl -test -z "$(fgrep CRITICAL vivado.log)" - -for x in design*.bit; do - ${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o ${x}s -z -y $x -done - -python3 $FUZDIR/generate.py +make -f $XRAY_DIR/utils/top_generate.mk