######################################################
#  Use this Makefile for your own applications. Just #
# modify some parts to suit your application and     #
# that's it!                                         #
######################################################
include /usr/rtlinux/rtl.mk

RTFLAGS=${CFLAGS} -c -I/usr/local

FLAGS=-Wall -I/usr/local

ARTIS_LINUX_APP_MODULES = \
	main.o \
	control_data.o \
	optional_list.o \
	userclass.o \
	metavalue.o \
	attention_focus_definition.o


all: rtl_tasks.o rtl_userclass.o rtl_metavalue.o artis_delib


rtl_tasks.o: rtl_tasks.c userclass.h
	$(CC)  ${RTFLAGS} rtl_tasks.c

artis_delib: $(ARTIS_LINUX_APP_MODULES)
	gcc -o artis_delib $(ARTIS_LINUX_APP_MODULES) -L/usr/local/lib -ldelib_artis -lpthread -D_REENTRANT -lm

main.o: main.c userclass.h optional_list.h metavalue.h attention_focus_definition.h
	$(CC) $(FLAGS) -c main.c

control_data.o: control_data.c
	$(CC) $(FLAGS) -c control_data.c

optional_list.o: optional_list.c userclass.h
	$(CC) $(FLAGS) -c optional_list.c

userclass.o: userclass.c userclass.h
	$(CC) $(FLAGS) -c userclass.c

metavalue.o: metavalue.c
	$(CC) $(FLAGS) -c metavalue.c

attention_focus_definition.o: attention_focus_definition.c userclass.h
	$(CC) $(FLAGS) -c attention_focus_definition.c

rtl_userclass.o: userclass.c userclass.h
	$(CC)  ${RTFLAGS} -o rtl_userclass.o userclass.c

rtl_metavalue.o: metavalue.c
	$(CC) ${RTFLAGS} -o rtl_metavalue.o metavalue.c


######################################
#      PARSING OF THE XML FILES      #
######################################
parse: rtl_tasks.c control_data.c optional_list.c userclass.c userclass.h attention_focus_definition.c attention_focus_definition.h metavalue.c metavalue.h metaclass.c
	@echo XML files parsed succesfully!

rtl_tasks.c control_data.c optional_list.c: entities.xml
	@artis_entities_parser entities.xml

userclass.c userclass.h: class.xml
	@artis_kdm_parser class.xml

attention_focus_definition.c attention_focus_definition.h: control.xml
	@artis_mrules_parser control.xml

metavalue.c metavalue.h metaclass.c: metaclass.xml
	@artis_metaclass_parser metaclass.xml


clean: dummy
	rm -f *.o *~ artis_delib

.PHONY: dummy
