#!/bin/bash #set +e; # Exit upon an error #set -x; # To see what each command expands to #set -v # To get a verbose dump of each line the shell reads set_defaults () { directory_mode_on="F" directory_name="./" file_name="" ExitStatus=0 RunDir=$(pwd) } ############################################################################################ # Short usage description usage () { echo "" echo " ===============================================================================" echo " Recompile Autos Usage Description:" echo " ===============================================================================" echo echo " ra ---------------------------------------" echo echo " Option -F : Recompile autos in specified file." echo " Option -D : Recompile autos in specified directory." echo " ===============================================================================" echo "" exit 2 } parse_command_line () { if [ $# -eq 0 ]; then usage fi if [ $# -eq 1 ]; then if [ -f $1 ] ; then file_name="$1" echo echo "===============================================================================" echo "Auto arg: working on single file: $1" echo "===============================================================================" echo else directory_name="$1" directory_mode_on="T" echo echo "===============================================================================" echo "Auto arg: working on whole directory: $1" ls -1 $1/*.v echo "===============================================================================" echo fi fi while getopts :D:F: option do case $option in F ) file_name="$OPTARG" ;; D ) directory_name="$OPTARG" directory_mode_on="T" ;; * ) usage ;; esac done } main () { #emacs --batch -f verilog-batch-inject-auto if [ "$directory_mode_on" == "T" ] ; then emacs --batch --no-site-file -l /shared_01/home/michael/elisp/verilog-mode.el $directory_name/*.v -f verilog-batch-delete-auto emacs --batch --no-site-file -l /shared_01/home/michael/elisp/verilog-mode.el $directory_name/*.v -f verilog-batch-auto else emacs --batch --no-site-file -l /shared_01/home/michael/elisp/verilog-mode.el $file_name -f verilog-batch-delete-auto emacs --batch --no-site-file -l /shared_01/home/michael/elisp/verilog-mode.el $file_name -f verilog-batch-auto fi } ############################################################################################ ############################################################################################ # The main body of the script ############################################################################################ ############################################################################################ set_defaults parse_command_line $@ main echo "Done." echo echo exit $ExitStatus