SubDir TOP haiku-on-genode kits storage ;


SetupHeadersHoG ;
UsePrivateHeaders app shared storage system ;  # find RegistrarDefs.h, AutoDeleter.h, MimeTypes.h, syscalls.h
SubDirHdrs $(TOP)/haiku-on-genode/headers/haiku/drivers ;  # find driver_settings.h
SubDirHdrs $(TOP)/haiku-on-genode/kits/app-private ;  # find RosterPrivate.h (for MimeType.cpp)
SubDirHdrs $(TOP)/haiku-on-genode/kits/storage-private ;  # find QueryPredicate.h (for Query.cpp)
SubDirHdrs $(TOP)/haiku-on-genode/sys-icon ;  # find IconUtils.h (for AppFileInfo.cpp etc)
SubDirHdrs $(TOP)/haiku-on-genode/sys-libroot/interim ;  # find umask.h (for Directory.cpp)

SEARCH_SOURCE += $(SUBDIR)/sniffer ;


if $(LayerLevel) >= 3
{
	HaikuKit storage_kit.a :
		Directory.cpp  # depends on Statable.cpp..
		Entry.cpp
		EntryList.cpp
		File.cpp
		FindDirectory.cpp
		Mime.cpp
		Node.cpp
		Path.cpp
		Statable.cpp  # depends on Volume.cpp
		Volume.cpp  # depends on Directory.cpp, Node.cpp..!
		;
}

if $(LayerLevel) >= 5
{
	HaikuKit storage_kit.a :
		AppFileInfo.cpp
		MimeType.cpp
		NodeInfo.cpp
		Resources.cpp
		
		# sniffer
		CharStream.cpp
		Err.cpp
		DisjList.cpp
		Pattern.cpp
		PatternList.cpp
		Parser.cpp
		Range.cpp
		RPattern.cpp
		RPatternList.cpp
		Rule.cpp
		;
}
if $(LayerLevel) >= 5  ##xx !?
{
	HaikuKit storage_kit.a :
		PathFinder.cpp
		SymLink.cpp
		;
}

if $(LayerLevel) >= 6
{
	HaikuKit storage_kit.a :
		NodeMonitor.cpp
		VolumeRoster.cpp
		;
}

if $(LayerLevel) >= 7
{
	HaikuKit storage_kit.a :
		_GeQuery.cpp
		Query.cpp
		;
}

if $(LayerLevel) >= 8
{
	HaikuKit storage_kit.a :
		DriverSettings.cpp
		;
}


HaikuKit storage_kit.a :
##	CopyEngine.cpp
##	DriverSettings.cpp
##	EntryOperationEngineBase.cpp
##	FdIO.cpp
##	FileDescriptorIO.cpp
##	FileIO.cpp
##
#	OffsetFile.cpp
##
#	QueryPredicate.cpp
##	RemoveEngine.cpp
##
#	ResourceFile.cpp
##
#	ResourceItem.cpp
##
#	ResourcesContainer.cpp
##	ResourceStrings.cpp
##
#

	# disk device API
#	DiskDevice.cpp
#	DiskDeviceJob.cpp
#	DiskDeviceJobGenerator.cpp
#	DiskDeviceJobQueue.cpp
#	DiskDeviceList.cpp
#	DiskDevicePrivate.cpp
#	DiskDeviceRoster.cpp
#	DiskDeviceTypes.cpp
#	DiskDeviceVisitor.cpp
#	DiskSystem.cpp
#	DiskSystemAddOn.cpp
#	DiskSystemAddOnManager.cpp
#	MutablePartition.cpp
#	Partition.cpp
#	PartitionDelegate.cpp
#	PartitioningInfo.cpp
#	PartitionParameterEditor.cpp
#	PartitionReference.cpp
#
#	CreateChildJob.cpp
#	DeleteChildJob.cpp
#	DefragmentJob.cpp
#	InitializeJob.cpp
#	MoveJob.cpp
#	RepairJob.cpp
#	ResizeJob.cpp
#	SetStringJob.cpp
#	UninitializeJob.cpp
	;


SubInclude
	TOP haiku-on-genode kits storage mime
	;



