Compile Script: Unterschied zwischen den Versionen
Boenki (Diskussion | Beiträge) K typo |
|||
Zeile 1: | Zeile 1: | ||
Wer in vielen Programmiersprachen programmiert kennt das Problem | Wer in vielen Programmiersprachen programmiert kennt das Problem, dass man ständig andere Compiler mit anderen Aufrufen braucht. | ||
Bei großen Projekten hilft hier Makefile. Da man aber auch kleine Programme mal testen will habe ich ein kleines script geschrieben das anhand der Endung den passenden Compiler aufruft. | Bei großen Projekten hilft hier Makefile. Da man aber auch kleine Programme mal testen will habe ich ein kleines script geschrieben das anhand der Endung den passenden Compiler aufruft. | ||
Version vom 16. Oktober 2008, 15:01 Uhr
Wer in vielen Programmiersprachen programmiert kennt das Problem, dass man ständig andere Compiler mit anderen Aufrufen braucht. Bei großen Projekten hilft hier Makefile. Da man aber auch kleine Programme mal testen will habe ich ein kleines script geschrieben das anhand der Endung den passenden Compiler aufruft.
#!/bin/sh ## Hier alle Compiler eintragen und anpassen ada1="gnat compile" ada2="gnatmake" asm1="nasm -f elf" asm2="ld -s -o" bash="sh" c="gcc" cpp="g++" fortran="gfortran" php="php" python="python" java="jikes" # vorher unbedingt anpassen! CFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays" ## Programm namen und endung auslesen name=${1%%.*} endung=${1##*.} case $endung in adb ) echo "Ada File" echo "$ada1 $1" $ada1 $1 echo "$ada2 $1" $ada2 $1 if [ $? -eq 0 ]; then echo "$name.ali und $name.o löschen? <j/n>" read ans; if [ $ans == 'j' ]; then rm $name.ali $name.o fi fi ;; asm ) echo "ASM File" echo "$asm1 $1" $asm1 $1 echo "$asm2 $name $name.o" $asm2 $name $name.o ;; c ) echo "C File" echo "$c $CFLAGS -o $name $1" $c $CFLAGS -o $name $1 ;; cpp ) echo "C++ File" echo "$cpp $CFLAGS -o $name $1" $cpp $CFLAGS -o $name $1 ;; f* ) echo "f* File" echo "$fortran -o $name $1" $fortran -o $name $1 ;; php ) echo "php File" echo "$php $1" $php $1 ;; py ) echo "Python File" echo "$python $1" $python $1 ;; sh ) echo "Bash File" echo "$bash $1" $bash $1 ;; java ) echo "Java File" echo "$java $1" $java $1;; * ) echo "Fehler!!! unbekannte endung!" echo "$endung wurde nicht gefunden" ;; esac