#
# Antoine Terrienne    Test suite for real-time os
#
# antoine.terrienne@free.fr
#

CC = gcc
RM = rm -f

SRCS = main.c
OBJS = $(SRCS:.c=.o)
NAME = test

all : rtai linux_amlat rtlinux

#
# For rtai
#

rtai : rtai_amlat rtai_amlat_lxrt  rtai_amlat_module.o

RTAI_HOME = /usr/src/rtai
RTAI_SRC = $(RTAI_HOME)/rtai-24.1.8

RTAI_INCLUDE = -I$(RTAI_HOME)/linux/include \
	       -I$(RTAI_SRC)/include $(INCLUDE)

rtai_amlat : rtai_amlat.o
	$(CC) -o rtai_amlat rtai_amlat.o $(RTAI_INCLUDE)

rtai_amlat_module.o : rtai_amlat_module.c
	$(CC) -c rtai_amlat_module.c -D__KERNEL__ -DMODULE $(RTAI_INCLUDE)

rtai_amlat_lxrt : rtai_amlat_lxrt.c
	$(CC) -o rtai_amlat_lxrt rtai_amlat_lxrt.c \
	$(RTAI_INCLUDE) -I$(RTAI_SRC)/lxrt \
	-L$(RTAI_SRC)/lxrt/lib -llxrt


clean_rtai :
	$(RM) rtai_amlat.o rtai_amlat_lxrt.o

fclean_rtai :
	$(RM) rtai_amlat_module.o rtai_amlat rtai_amlat_lxrt

#
# For rtLinux
#

RTL_MK=/usr/src/rtlinux/rtlinux-3.1/rtl.mk

RTL_INCLUDE=`grep INCLUDE $(RTL_MK) | sed -e "s/INCLUDE=//"`
RTL_CFLAGS=`grep CFLAGS $(RTL_MK) | sed -e "s/CFLAGS =//"`

rtlinux : rtai_amlat rtlinux_amlat_module.o

rtlinux_amlat_module.o : rtlinux_amlat_module.c
	$(CC) -c rtlinux_amlat_module.c $(RTL_INCLUDE) $(RTL_CFLAGS)

clean_rtlinux :
	$(RM) rtai_amlat.o

fclean_rtlinux :
	$(RM) rtai_amlat rtlinux_amlat_module.o

#
# For regular Linux
#

linux_amlat : linux_amlat.o
	$(CC) -o linux_amlat linux_amlat.o

$(NAME) : $(OBJS)
	$(CC) -o $(NAME) $(OBJS)

clean : clean_rtai clean_rtlinux
	$(RM) *~

fclean : clean fclean_rtai fclean_rtlinux
