#!/bin/sh ########################################################################### # Files associated to each mode DEBUG_FILE=$RYZOM_PATH/.mode_debug #RELEASE_FILE=$RYZOM_PATH/.mode_release STATIC_FILE=$RYZOM_PATH/.mode_static DYNAMIC_FILE=$RYZOM_PATH/.mode_dynamic SILENT_FILE=$RYZOM_PATH/.mode_silent ########################################################################### # Print status printMode() { echo "" echo "Compilation modes :" echo "" echo " Debug mode : $DEBUG_MODE" # echo " Release mode : $RELEASE_MODE" echo "" echo " Static linking : $STATIC_MODE" echo " Dynamic linking : $DYNAMIC_MODE" echo "" echo " Silent compilation : $SILENT_MODE" echo "" } ########################################################################### # Get the specific mode value and set the corresponding variable getMode() { local VAR=$1 local FILE=$2 if test -f $FILE then eval $VAR=ON else eval $VAR=OFF fi } ########################################################################### # Set a specific mode to ON if it's OFF, and to OFF if its ON setMode() { local VAR=$1 local FILE=$2 # Get the current mode value OLD_VALUE=$(eval echo \$$VAR) if test X"$OLD_VALUE" = "XOFF" then # Set the MODE to ON in case it's OFF NEW_VALUE=ON touch -f $FILE || (echo "Error : cannot create mode files" && exit 1) else # Set the MODE to OFF in case it's ON NEW_VALUE=OFF rm -f $FILE || (echo "Error : cannot delete mode files" && exit 1) fi eval $VAR=$NEW_VALUE } ########################################################################### # Print command usage printUsage() { echo "" echo "Usage: `basename $0` [debug] [static] [dynamic] [silent]" echo " debug -> turn ON/OFF debug compilation" echo " static -> turn ON/OFF static linking" echo " dynamic -> turn ON/OFF dynamic linking" echo " slient -> turn ON/OFF silent compilation" echo "" } ########################################################################### # Get the mode settings getMode DEBUG_MODE $DEBUG_FILE #getMode RELEASE_MODE $RELEASE_FILE getMode STATIC_MODE $STATIC_FILE getMode DYNAMIC_MODE $DYNAMIC_FILE getMode SILENT_MODE $SILENT_FILE # Print the mode values and exit if there is no argument if test $# -eq 0 then printMode exit 0 fi while test $# -gt 0 do case $1 in debug) setMode DEBUG_MODE $DEBUG_FILE ;; # release) # setMode RELEASE_MODE $RELEASE_FILE # ;; static) setMode STATIC_MODE $STATIC_FILE ;; dynamic) setMode DYNAMIC_MODE $DYNAMIC_FILE ;; silent) setMode SILENT_MODE $SILENT_FILE ;; *) echo "Error : $1 : Unknown argument" printUsage exit 1 ;; esac shift done printMode exit 0