summaryrefslogtreecommitdiff
path: root/comp/lucas-standen-NEA/code2/zpypkg/zpypkg.sh
blob: 95e59c8f85b00da24601991cdf5df601233f9d01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/bash

function init () {
	if [ ! -e "main.zpy" ]; then
		touch main.zpy 

		echo -e "(defun main int)" >> main.zpy
		printf "\t(printstr \"hello world\\\n\")\n" >> main.zpy
		echo -e "(endfun)" >> main.zpy

		echo "#!/bin/sh" > zpybuild.sh
		echo "zpy ./main.zpy -o main" >> zpybuild.sh
	else
		echo "zpypkg already in use!"
	fi
}

function advinit () {
	if [ ! -e "main.zpy" ]; then
		touch main.zpy 

		echo -e "(defun main int)" >> main.zpy
		printf "\t(printstr \"hello world\\\n\")\n" >> main.zpy
		echo -e "(endfun)" >> main.zpy

		touch zpybuild.sh
		echo "#!/bin/sh" > zpybuild.sh
		echo "zpy ./main.zpy -c -o main.c" >> zpybuild.sh
		echo "cc main.c /usr/local/share/zpylib/zpylib.o -o main -I/usr/local/share/zpylib/include -Wno-implicit-function-declaration" >> zpybuild.sh
		echo "rm -rf main.c" >> zpybuild.sh

	else
		echo "zpypkg already in use!"
	fi
}

function build (){
	sh ./zpybuild.sh	
}

function run (){
	./main	
}

function clean (){
	rm -f ./main
}

function remove () {
	if [ -e "main.zpy" ]; then
		rm main.zpy zpybuild.sh
	else
		echo "zpypkg not in use!"
	fi
}

case $@ in
	"init") 
		init
		;;
	"advinit")
		advinit
		;;
	"build")
		build
		;;
	"run")
		build
		run
		;;
	"clean")
		clean
		;;
	"remove")
		remove	
		;;
	*)
		echo "unknown option ${@}"
esac