SubDir OBOS_TOP src kernel libroot ;

UsePrivateHeaders libroot ;

KernelObjects
	<$(SOURCE_GRIST)>libroot_init.c
	: -fPIC -DPIC
	;

# kernel libroot os files

KernelMergeObject kernel_os_main.o :
	driver_settings.c
	: -fno-pic
	;

SEARCH on [ FGristFiles
		driver_settings.c
	] = [ FDirName $(OBOS_TOP) src kernel libroot os ] ;

# kernel libroot posix files

SEARCH_SOURCE += [ FDirName $(SUBDIR) posix ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) posix locale ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) posix stdio ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) posix stdlib ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) posix string ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) posix sys ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) posix time ] ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) posix unistd ] ;

KernelMergeObject kernel_posix.o :
	# main
 	kerrno.c
 	dirent.c
 	poll.c
 	utime.c
 	# locale
	ctype.c
	# stdio
	kernel_vsprintf.c
	# stdlib
	abs.c
	atoi.c
	bsearch.c
	merge.c
	qsort.c
	rand.c
	random.c
	strtol.c
	strtoll.c
	strtoul.c
	strtoull.c
	# sys
	chmod.c
	stat.c
	mkdir.c
	select.c
	gettimeofday.c
 	uio.c
	# time
	time.c
	# unistd
	access.c
	chown.c
	close.c
	conf.c
	directory.c
	dup.c
	fcntl.c
	hostname.c
	ioctl.c
	link.c
	lseek.c
	mount.c
	open.c
	read.c
	sync.c
	truncate.c
	usergroup.c
	write.c
	# string
	memchr.c
	memcmp.c
	memcpy.c
	memmove.c
	memset.c
	strcasecmp.c
	strcasestr.c
	strcat.c
	strchr.c
	strcmp.c
	strcpy.c
	strcspn.c
	strdup.c
	strerror.c
	strlcat.c
	strlcpy.c
	strlen.c
	strncat.c
	strncmp.c
	strncpy.c
	strnlen.c
	strpbrk.c
	strrchr.c
	strspn.c
	strstr.c
	strtok.c

	: -fno-pic
	;

SubInclude OBOS_TOP src kernel libroot os ;
SubInclude OBOS_TOP src kernel libroot posix ;
