SubDir OBOS_TOP src kernel core ;

{
	local defines =
		OBOS_ARCH=\\\"$(OBOS_ARCH)\\\"
		;

	defines = [ FDefines $(defines) ] ;
	SubDirCcFlags $(defines) ;
	SubDirC++Flags $(defines) ;
}

KernelMergeObject kernel_core.o :
	cbuf.c
	console.c
	cpu.c
	debug.c
	elf.c
	faults.c
	gdb.c
	heap.c
	image.c
	int.c
	kernel_daemon.c
	khash.c
	linkhack.c
	lock.c
	main.c
	module.c
	port.c
	queue.c
	real_time_clock.c
	scheduler.c
	sem.c
	shutdown.c
	signal.c
	system_info.c
	smp.c
	syscalls.c
	sysctl.c
	team.c
	thread.c
	timer.c
	: -fno-pic
	;

# We need to specify the dependency on the generated syscalls file explicitly.
Includes [ FGristFiles syscalls.c ] : <syscalls>syscall_dispatcher.h ;

KernelLd linkhack.so :
	<$(SOURCE_GRIST)>linkhack.o
	:
	:
	-shared -Bdynamic
	;

SubInclude OBOS_TOP src kernel core addons ;
SubInclude OBOS_TOP src kernel core arch ;
SubInclude OBOS_TOP src kernel core cache ;
SubInclude OBOS_TOP src kernel core device_manager ;
SubInclude OBOS_TOP src kernel core disk_device_manager ;
SubInclude OBOS_TOP src kernel core fs ;
SubInclude OBOS_TOP src kernel core vm ;
SubInclude OBOS_TOP src kernel core util ;
