From 11c1bf18c81301576face790e021f0a5932674d6 Mon Sep 17 00:00:00 2001
From: Roberto Hexsel <roberto@inf.ufpr.br>
Date: Tue, 4 Apr 2017 18:12:15 -0300
Subject: [PATCH] fixed build/compile scripts for simulation/synthesis versions

---
 cMIPS/bin/assemble.sh |  9 +++++++--
 cMIPS/bin/build.sh    | 11 +++++++++--
 cMIPS/bin/compile.sh  |  7 ++++++-
 3 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/cMIPS/bin/assemble.sh b/cMIPS/bin/assemble.sh
index a17fad6..b48464b 100755
--- a/cMIPS/bin/assemble.sh
+++ b/cMIPS/bin/assemble.sh
@@ -54,6 +54,7 @@ exit 1
 if [ $# = 0 ] ; then usage ; exit 1 ; fi
 
 miffile=false
+pacMem_changed=false
 verbose=false
 names=false
 unset mem_map
@@ -86,8 +87,10 @@ while true ; do
             ;;
         -n) names=true
             ;;
-        -mif | -m | -syn ) miffile=true
+        -mif | -syn ) miffile=true
             ;;
+        -new ) pacMem_changed=true
+	    ;;
         -x) set -x
             ;;
         *)  inp=${1%.s}
@@ -118,7 +121,9 @@ else
 fi
 
 
-if [ $pkg_vhd -nt $c_ld -o  $pkg_vhd -nt $c_s ] ; then
+if [ $pacMem_changed -o\
+     $pkg_vhd -nt $c_ld -o\
+     $pkg_vhd -nt $c_s ] ; then
     "${bin}"/edMemory.sh -v || errorED || exit 1
 fi
 
diff --git a/cMIPS/bin/build.sh b/cMIPS/bin/build.sh
index 47c5025..45e0942 100755
--- a/cMIPS/bin/build.sh
+++ b/cMIPS/bin/build.sh
@@ -43,18 +43,22 @@ usage:  $0 [options]
 OPTIONS:
    -h    Show this message
    -syn  Compile for Macnica's board, else for simulation
+   -new  Automagically update all addresses (packageMemory.vhd changed)
    -x    turn on "set -x"
 EOF
 }
 
 
 synth=false
+pacMem_changed=false
 
 while true ; do
     case "$1" in
         -h) usage ; exit 1
             ;;
-        -mif | -syn ) synth=true
+        -syn | -mif ) synth=true
+            ;;
+        -new ) pacMem_changed=true
             ;;
         -x) set -x
             ;;
@@ -85,7 +89,7 @@ c_s="${include}"/cMIPS.s
 c_h="${include}"/cMIPS.h
 
 
-if [ $synth = tree ] ; then
+if [ $synth = true ] ; then
     pkg_vhd="$srcVHDL/packageMemory_fpga.vhd"
     (cd $srcVHDL ; ln -s -f packageMemory_fpga.vhd packageMemory.vhd)
 else
@@ -100,6 +104,9 @@ if [ $pkg_vhd -nt $c_ld -o\
    "${bin}"/edMemory.sh -v || errorED || exit 1
 fi
 
+if [ $pacMem_changed ] ; then
+   "${bin}"/edMemory.sh -v || errorED || exit 1
+fi
 
 cd "${srcVHDL}"
 
diff --git a/cMIPS/bin/compile.sh b/cMIPS/bin/compile.sh
index de5a4d3..2168113 100755
--- a/cMIPS/bin/compile.sh
+++ b/cMIPS/bin/compile.sh
@@ -37,6 +37,7 @@ OPTIONS:
    -W    Pass -Wall on to GCC
    -mif  Generate output file ROM.mif for Altera's FPGAs
    -syn  Compile for synthesis, else for simulation
+   -new  Automagically update all addresses (packageMemory.vhd changed)
 EOF
 }
 
@@ -57,6 +58,7 @@ if [ $# = 0 ] ; then usage ; exit 1 ; fi
 
 miffile=false
 synth=false
+pacMem_changed=false
 verbose=false
 names=true
 unset memory_map
@@ -87,6 +89,8 @@ while true ; do
         -mif | -syn ) synth=true
 	    miffile=true
             ;;
+        -new ) pacMem_changed=true
+            ;;
         -x) set -x
             ;;
         *)  inp=${1%.c}
@@ -128,7 +132,8 @@ else
    (cd $srcVHDL ; ln -s -f packageMemory_simu.vhd packageMemory.vhd)
 fi
 
-if [ $pkg_vhd -nt $c_h  -o\
+if [ $pacMem_changed -o\
+     $pkg_vhd -nt $c_h  -o\
      $pkg_vhd -nt $c_ld -o\
      $pkg_vhd -nt $c_s  ] ; then
     "${bin}"/edMemory.sh -v || errorED || exit 1
-- 
GitLab