#DEBUG=-DDEBUG -g -O0 -v -da -Q
FLAGS=-Wall ${DEBUG}
PROGRAMS=read-sctp read-scte read-sys_call ktext write-sctp write-scte write-sys_call 
OBJS=kmem.o sct.o kimage.o
HEADERS=idt.h kmem.h sct.h kimage.h

all: ${PROGRAMS} 


# Program ID 1 Check
read-sctp: read-sctp.c kmem.o sct.o 
	gcc ${FLAGS} read-sctp.c kmem.o sct.o -o read-sctp

# Program ID 2 Check
read-scte: read-scte.c kmem.o sct.o 
	gcc ${FLAGS} read-scte.c kmem.o sct.o -o read-scte

# Program ID 3 Check
read-sys_call: read-sys_call.c kmem.o sct.o
	gcc ${FLAGS} read-sys_call.c kmem.o sct.o -o read-sys_call

# Program ID 4 Check
ktext: ktext.c
	gcc ${FLAGS} ktext.c -o ktext

# Program ID 5 Check
write-sctp: write-sctp.c kmem.o sct.o
	gcc ${FLAGS} write-sctp.c kmem.o sct.o -o write-sctp

# Program ID 6 Check
write-scte: write-scte.c kmem.o sct.o
	gcc ${FLAGS} write-scte.c kmem.o sct.o -o write-scte

# Program ID 7 Check
write-sys_call: write-sys_call.c kmem.o sct.o
	gcc ${FLAGS} write-sys_call.c kmem.o sct.o -o write-sys_call

# Object ID 1
kmem.o: kmem.c kmem.h sct.h
	gcc ${FLAGS} -c kmem.c

# Object ID 2
sct.o: sct.c sct.h kmem.h
	gcc ${FLAGS} -c sct.c

kimage.o: kimage.c kimage.h
	gcc ${FLAGS} -c kimage.c

clean:
	rm -rf  ${PROGRAMS} ${OBJS} 
