function cc()
{
# wie gcc-Aufruf, aber ohne a.out (123.c -> 123)
# ##############################################
#ENDE=exit   # exit fuer Shell-Skript
ENDE=return  # return fuer Bash-Funktion
declare BINARY
declare FOUND
declare -i COUNT

OPTIONEN="-Wall -Wextra -Wpedantic"

for ARG do
   if [[ "$ARG" == "-o" ]]
   then
      gcc "$@" $OPTIONEN
      "$ENDE" "$?"
   fi
done   
   
for ARG do
   if [[ "$ARG" =~ .*\.c ]]
   then
      FOUND="true"
      if grep "main([^)]*)" "$ARG" &> /dev/null
      then 
         BINARY="${ARG%.c}"
         let ++COUNT
      fi
   fi
done

if [[ "$FOUND" == "" ]]
then
   echo "Keine C-Datei angegeben."
   "$ENDE" 1
elif [[ "$COUNT" < 1 ]]
then
   echo "Keine C-Datei mit main()-Funktion."
   "$ENDE" 2
elif [[ "$COUNT" > 1 ]]
then
   echo "Mehrere C-Dateien mit main()-Funktion."
   "$ENDE" 3
fi

gcc "$@" -o "$BINARY" $OPTIONEN
"$ENDE" "$?"
}
