SubDir  TOP  bfs-on-genode  contrib_haiku-add-ons-kernel-file_systems-bfs ;
LOCATE_TARGET = $(GenodeBuild)/server/fuse_fs/bfs_fuse_fs/bfs_shell ;


SubDirC++Flags
	-DFS_SHELL=1
	-DHAIKU_HOST_PLATFORM_FREEBSD
	-DHAIKU_HOST_PLATFORM_64_BIT
	;

#SubDirHdrs  $(HaiSrc)/src/tools/fs_shell ;
SubDirHdrs  $(HaiSrc)/headers/private/fs_shell ;  # find fssh_api_wrapper.h et al
SubDirHdrs  $(HaiSrc)/headers/private/shared ;
SubDirHdrs  $(HaiSrc)/headers/private/storage ;
SubDirHdrs  $(HaiSrc)/headers/private ;
SubDirHdrs  $(HaiSrc)/headers/private/kernel ;
SubDirHdrs  $(HaiSrc)/headers/private/libroot ;
SubDirHdrs  $(HaiSrc)/headers/private/system ;
SubDirHdrs  $(HaiSrc)/headers/build ;
SubDirHdrs  $(HaiSrc)/headers/build/os ;
#SubDirHdrs  $(HaiSrc)/headers/build/os/add-ons/registrar ;
#SubDirHdrs  $(HaiSrc)/headers/build/os/app ;
#SubDirHdrs  $(HaiSrc)/headers/build/os/bluetooth ;
#SubDirHdrs  $(HaiSrc)/headers/build/os/drivers ;
SubDirHdrs  $(HaiSrc)/headers/build/os/kernel ;
#SubDirHdrs  $(HaiSrc)/headers/build/os/interface ;
#SubDirHdrs  $(HaiSrc)/headers/build/os/locale ;
#SubDirHdrs  $(HaiSrc)/headers/build/os/storage ;
SubDirHdrs  $(HaiSrc)/headers/build/os/support ;
SubDirHdrs  $(HaiSrc)/headers/build/private ;


SEARCH_SOURCE +=
	$(SUBDIR)/override-add-ons-kernel-file_systems-bfs  # Volume.cpp is "patched"
	$(SUBDIR)/override-src-tools-fs_shell  # block_cache.cpp, fd.cpp, fuse.cpp are "patched":
	$(HaiSrc)/src/tools/fs_shell
	$(HaiSrc)/src/system/kernel/fs  # find rootfs.cpp
	$(HaiSrc)/src/system/kernel/cache  # find file_map.cpp
	$(HaiSrc)/src/add-ons/kernel/file_systems/bfs
	$(HaiSrc)/src/add-ons/kernel/file_systems/shared  # find QueryParserUtils.cpp
	;

Library bfs_shell :
	# src/tools/fs_shell/:
	atomic.cpp
	block_cache.cpp  # patched
	byte_order.cpp
	command_cp.cpp
	disk_device_manager.cpp
	driver_settings.cpp
	errno.cpp
	#external_commands_beos.cpp
	external_commands_unix.cpp
	fcntl.cpp
	fd.cpp  # patched
	file_cache.cpp
	fs_shell_command_beos.cpp
	#fs_shell_command_unix.cpp
	#fs_shell_command.cpp
	#fssh_additional_commands.cpp
	#fssh.cpp
	fuse.cpp  # patched
	hash.cpp
	kernel_export.cpp
	KPath.cpp
	list.cpp
	lock.cpp
	module.cpp
	node_monitor.cpp
	partition_support.cpp
	path_util.cpp
	sem.cpp
	stat_util.cpp
	stat.cpp
	stdio.cpp
	string.cpp
	thread.cpp
	time.cpp
	uio.cpp
	unistd.cpp
	#vfs_request_io.cpp
	vfs.cpp
	
	# src/system/kernel/...
	rootfs.cpp
	file_map.cpp
	
	# src/add-ons/kernel/file_systems/bfs/
	Attribute.cpp
	bfs_disk_system.cpp
	BlockAllocator.cpp
	BPlusTree.cpp
	Debug.cpp
	Index.cpp
	Inode.cpp
	Journal.cpp
	kernel_interface.cpp
	Query.cpp
	Volume.cpp  # use our patched file in ./ and not haiku's original file
	
	# src/add-ons/kernel/file_systems/shared
	QueryParserUtils.cpp
	;


