#
# Makefile for the linux kernel.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now in the main makefile...

TOPDIR1	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
O_TARGET := kernel.o
O_OBJS    = sched.o timer.o softirq.o exit.o process.o sys.o main.o
CROSS_COMPILER = /usr/coffee/coffee-bin/bin/coffee-
COMPILER_FLAG=-S
ASSEMBLER = crasm.pl


all: 
	touch kernel.s kernel.out.linked
	rm kernel.s kernel.out.linked
	touch kernel.s kernel.out.linked
	$(CROSS_COMPILER)gcc  $(COMPILER_FLAG)  main.c sys.c exit.c sched.c process.c malloc.c enosys.c entry.c
	make -C application
	cat boot.x >> kernel.s && \
	cat main.s >> kernel.s && \
	cat sys.s >> kernel.s && cat sched.s >> kernel.s && cat process.s >> kernel.s && \
	cat malloc.s >> kernel.s && cat enosys.s >> kernel.s && cat entry.s >> kernel.s  
	cat application/application.s >> kernel.s
	@echo Creating the object file
	perl $(ASSEMBLER) kernel.s -o kernel
	@echo Linking all Assembly Files
#	./linker linker.scr -coff kernel.out -o kernel.out.linked
#	rm *.s *~
	@echo Kernel Built Succesfully


clean :
	@rm -r -f $(TOPDIR1)/*.o
	@rm -r -f $(TOPDIR1)/*~
	@rm -r -f $(TOPDIR1)/*.s
	@make -C library clean
	@make -C application clean
	@echo Cleaning done Succesfully in Directory Kernel

ddd:
	gcc -g main.c sys.c exit.c sched.c timer.c process.c -o susheel

