#!/bin/sh function briciola() { orange=$(tput setaf 69) e_header " Briciola " cat ./scripts/utils/cat2.txt e_header "Compilation tool" # Create the hiearachy find -type f -name "*.vhd" -not -path "./work/*" -not -path "./exclude/*" -not -path "./simulations/*" | tr " " "\n" | ./scripts/utils/pupi > compile.list if [ $? -ne 0 ]; then e_error "Error in creating compile.list" exit 1 fi e_success "Created compile.list file" # Append files in the compile.list file # and remove trailing spaces or empty lines while IFS="" read -r p || [ -n "$p" ] do VHDL_FILES+=($(echo "$p" | xargs)) done < compile.list # Compile the Hierarchy # if /eda/scripts/init_questa_core_prime exists, source it if [ -f /eda/scripts/init_questa_core_prime ]; then source /eda/scripts/init_questa_core_prime fi if [ ! -e work/ ]; then mkdir -p work/ fi vlib work for i in "${VHDL_FILES[@]}" do e_header "Started Compilation of file: $i" # !!WARNINIG!! this works in the docker need to check on the server vcom -work work "$i" if [ $? -ne 0 ]; then e_error "Compilation of file $i [ FAILED ]" return exit 1 else e_success "Compilation of file $i [ OK ]" fi e_header " Ended Compilation of file: $i " done e_header " Exiting Briciola " e_header " Compilation Ended " orange=$(tput setaf 215) }