school

thing1's amazing school repo
Log | Files | Refs | Submodules | README

zpypkg.sh (1295B)


      1 #!/bin/bash
      2 
      3 function init () {
      4 	if [ ! -e "main.zpy" ]; then
      5 		touch main.zpy 
      6 
      7 		echo -e "(defun main int)" >> main.zpy
      8 		printf "\t(printstr \"hello world\\\n\")\n" >> main.zpy
      9 		echo -e "(endfun)" >> main.zpy
     10 
     11 		echo "#!/bin/sh" > zpybuild.sh
     12 		echo "zpy ./main.zpy -o main" >> zpybuild.sh
     13 	else
     14 		echo "zpypkg already in use!"
     15 	fi
     16 }
     17 
     18 function advinit () {
     19 	if [ ! -e "main.zpy" ]; then
     20 		touch main.zpy 
     21 
     22 		echo -e "(defun main int)" >> main.zpy
     23 		printf "\t(printstr \"hello world\\\n\")\n" >> main.zpy
     24 		echo -e "(endfun)" >> main.zpy
     25 
     26 		touch zpybuild.sh
     27 		echo "#!/bin/sh" > zpybuild.sh
     28 		echo "zpy ./main.zpy -c -o main.c" >> zpybuild.sh
     29 		echo "cc main.c /usr/local/share/zpylib/zpylib.o -o main -I/usr/local/share/zpylib/include -Wno-implicit-function-declaration" >> zpybuild.sh
     30 		echo "rm -rf main.c" >> zpybuild.sh
     31 
     32 	else
     33 		echo "zpypkg already in use!"
     34 	fi
     35 }
     36 
     37 function build (){
     38 	sh ./zpybuild.sh	
     39 }
     40 
     41 function run (){
     42 	./main	
     43 }
     44 
     45 function clean (){
     46 	rm -f ./main
     47 }
     48 
     49 function remove () {
     50 	if [ -e "main.zpy" ]; then
     51 		rm main.zpy zpybuild.sh
     52 	else
     53 		echo "zpypkg not in use!"
     54 	fi
     55 }
     56 
     57 case $@ in
     58 	"init") 
     59 		init
     60 		;;
     61 	"advinit")
     62 		advinit
     63 		;;
     64 	"build")
     65 		build
     66 		;;
     67 	"run")
     68 		build
     69 		run
     70 		;;
     71 	"clean")
     72 		clean
     73 		;;
     74 	"remove")
     75 		remove	
     76 		;;
     77 	*)
     78 		echo "unknown option ${@}"
     79 esac