L4DIR = ..
INCLUDE = -I$(L4DIR)/include
CPP=	cc $(INCLUDE) -E
CC = gcc
CINCLUDE = $(INCLUDE)  -I$(L4DIR)/include/lib/libc -I$(L4DIR)/include/lib

CCFLAGS = -nostdinc -nostdlib -Wall -O2 -Wstrict-prototypes \
	  -O2 -fomit-frame-pointer -fno-strength-reduce -mno-fp-regs \
	  -freg-struct-return


libl4.a: ipc.o syscall.o debug.o assert.o libc/libc.a
	ar -vr libl4.a ipc.o syscall.o debug.o assert.o libc/*.o

libc/libc.a:
	cd libc && \
	$(MAKE)

ipc.o: ipc.S
	$(CPP) ipc.S > ipc.s
	/bin/as -O0 -o ipc.o ipc.s

syscall.o: syscall.S
	$(CPP) syscall.S > syscall.s
	/bin/as -O0 -o syscall.o syscall.s

debug.o: debug.S
	$(CPP) debug.S > debug.s
	/bin/as -O0 -o debug.o debug.s

assert.o: assert.c
	$(CC) $(CCFLAGS) $(CINCLUDE)  -c $<

clean:
	rm -rf *.o


