# TEXTTOOLS - tests makefile

# GCC Options
#
# GCC Options for Gnat 3.x
#GCC_OPTIONS=-O1 -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strength-reduce
# GCC Options for Gnat 5.x
GCC_OPTIONS=-O1 -fno-strength-reduce

all: basic basic2 alert listinfo listinfo2 scrollable uio_demo uio2_demo os_demo

basic: basic.adb
	gnatmake -c -i ${GCC_OPTIONS} -gnataon -I.. -fstack-check basic.adb
	gnatbind -I.. -x basic.ali
	gnatlink basic.ali ../C_code/*.o -lm -lncurses
basic2: basic2.adb
	gnatmake -c -i ${GCC_OPTIONS} -gnataon -I.. -fstack-check basic2.adb
	gnatbind -I.. -x basic2.ali
	gnatlink basic2.ali ../C_code/*.o -lm -lncurses
alert: alert.adb
	gnatmake -c -i ${GCC_OPTIONS} -gnataon -I.. -fstack-check alert.adb
	gnatbind -I.. -x alert.ali
	gnatlink alert.ali ../C_code/*.o -lm -lncurses
listinfo: listinfo.adb
	gnatmake -c -i ${GCC_OPTIONS} -gnataon -I.. -fstack-check listinfo.adb
	gnatbind -I.. -x listinfo.ali
	gnatlink listinfo.ali ../C_code/*.o -lm -lncurses
listinfo2: listinfo2.adb
	gnatmake -c -i ${GCC_OPTIONS} -gnataon -I.. -fstack-check listinfo2.adb
	gnatbind -I.. -x listinfo2.ali
	gnatlink listinfo2.ali ../C_code/*.o -lm -lncurses
scrollable: scrollable.adb
	gnatmake -c -i ${GCC_OPTIONS} -gnataon -I.. -fstack-check scrollable.adb
	gnatbind -I.. -x scrollable.ali
	gnatlink scrollable.ali ../C_code/*.o -lm -lncurses
uio_demo: uio_demo.adb
	gnatmake -c -i ${GCC_OPTIONS} -gnataon -I.. -fstack-check uio_demo.adb
	gnatbind -I.. -x uio_demo.ali
	gnatlink uio_demo.ali ../C_code/*.o -lm -lncurses
uio2_demo: uio2_demo.adb
	gnatmake -c -i ${GCC_OPTIONS} -gnataon -I.. -fstack-check uio2_demo.adb
	gnatbind -I.. -x uio2_demo.ali
	gnatlink uio2_demo.ali ../C_code/*.o -lm -lncurses
os_demo: os_demo.adb
	gnatmake -c -i ${GCC_OPTIONS} -gnataon -I.. -fstack-check os_demo.adb
	gnatbind -I.. -x os_demo.ali
	gnatlink os_demo.ali ../C_code/*.o -lm -lncurses

clean:
	rm -f *.o
	rm -f *.ali
	rm -f basic basic2 alert listinfo listinfo2 scrollable uio_demo uio2_demo os_demo

