AS = as
LD = ld
CC = gcc
CFLAGS = -Wall -O2 -fstrength-reduce -ofomit-frame-pointer \
	-finline-functions -nostdinc -I../include

INCS = ../include/*
OBJS = vsprintf.o printk.o i8259.o system.o syscall.o traps.o sched.o fork.o exec.o

all: kernel.o

kernel.o:	$(OBJS)
	$(LD) -r -o $@ $(OBJS)

%.o%.c:
	$(CC) $(CFLAGS) -c $< -o $@

%.o%.S:
	$(CC) $(CFLAGS) -c $< -o $@

vsprintf.o:	vsprintf.c $(INCS)
printk.o:	printk.c $(INCS)
i8259.o:	i8259.c $(INCS)
system.o:	system.S $(INCS)
syscall.o:	syscall.c $(INCS)
traps.o:	traps.c $(INCS)
sched.o:	sched.c $(INCS)
fork.o:	fork.c $(INCS)
exec.o:	exec.c $(INCS)

clean:
	rm -f *.o *.s
