# Makefile for shared memory demonstration
# Builds kernel module "rtmod.o", and Linux process "app"

# the path to the rt-linux kernel 
RTLINUX = ../../../linux
INCLUDE = ${RTLINUX}/include

CFLAGS = -O2 -Wall

common.o: common.c
	gcc -I${INCLUDE} ${CFLAGS} -c $< -o $@

rt_process.o: rt_process.c
	gcc -I${INCLUDE} ${CFLAGS} -D__KERNEL__ -D__RT__  -c rt_process.c

app.o: app.c
	gcc -I${INCLUDE} ${CFLAGS} -c $< -o $@

rtmod.o: rt_process.o common.o
	ld -r -static $^ -L/usr/lib -lm -lc -o $@

app: app.o common.o
	gcc $^ -o $@

clean:
	rm -f common.o rt_process.o rtmod.o app.o app

all: common.o rt_process.o rtmod.o app

.PHONY: all
