all: rt_process.o irqsema.o monitor histplot

include ../../rtl.mk
histplot: histplot.c
	$(CC) ${USER_CFLAGS} -o histplot histplot.c

monitor: monitor.c
	$(CC) ${USER_CFLAGS} ${INCLUDE} -Wall -O2 -o monitor monitor.c

test: all
	@echo "This tests scheduling accuracy"
	@echo "by running a single periodic task using the one"
	@echo "shot schedular and testing checking times when it is called"
	@echo "First we remove any existing rtl-modules"
	@echo "You may see error warnings from \"make\" - ignore them"
	@echo "Type <return> to continue"
	@read junk
	-rmmod hello
	-rmmod sound
	-rmmod rt_process
	-rmmod frank_module
	(cd ../../; scripts/rmrtl)
	@echo "Now insert the fifo and scheduler"
	@echo "Type <return> to continue"
	@read junk
	(cd ../../; scripts/insrtl)
	@echo "Now start the real-time tasks  module"
	@echo "Type <return> to continue"
	@read junk
	@insmod rt_process.o
	@echo "Now starting the application"
	@echo "The \"min\" is the smallest timing error"
	@echo "A negative value means that the task ran too early"
	@echo "The \"max\" is the largest timing error"
	@./monitor

stop_test:
	-rmmod rt_process
	-rmmod rtl_fifo
	-rmmod rtl_sched
	-rmmod rtl_time

clean:
	rm -f *.o monitor histplot periodic_monitor gnuplot.out

include $(RTL_DIR)/Rules.make
