1SubDir HAIKU_TOP src add-ons kernel file_systems userlandfs server haiku ;
2
3local userlandFSTop = [ FDirName $(HAIKU_TOP) src add-ons kernel
4	file_systems userlandfs ] ;
5local userlandFSIncludes = [ PrivateHeaders userlandfs ] ;
6
7SubDirSysHdrs [ FDirName $(userlandFSIncludes) ] ;
8SubDirHdrs [ FDirName $(userlandFSIncludes) private ] ;
9SubDirHdrs [ FDirName $(userlandFSIncludes) shared ] ;
10
11UsePrivateKernelHeaders ;
12UsePrivateHeaders libroot shared ;
13
14SEARCH_SOURCE += [ FDirName $(userlandFSTop) private ] ;
15SEARCH_SOURCE += [ FDirName $(userlandFSTop) shared ] ;
16SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src tests add-ons kernel
17	kernelland_emu ] ;
18
19DEFINES += USER=1 ;
20DEFINES += DEBUG_APP="\\\"libuserlandfs_haiku\\\"" ;
21DEFINES += BUILDING_USERLAND_FS_SERVER=1 ;
22
23# the library providing the Haiku kernel interface for add-ons
24SharedLibrary libuserlandfs_haiku_kernel.so
25	:
26	# kernelland_emu
27	condition_variable.cpp
28	debug.cpp
29	lock.cpp
30	low_resource_manager.cpp
31	misc.cpp
32	slab.cpp
33	vm.cpp
34
35	# kernel
36	block_cache.cpp
37	file_map.cpp
38	Notifications.cpp
39	Referenceable.cpp
40
41	# emulation
42	entry_cache.cpp
43	file_cache.cpp
44	haiku_kernel_emu.cpp
45
46	# UserlandFS server interface
47	HaikuKernelFileSystem.cpp
48	HaikuKernelNode.cpp
49	HaikuKernelVolume.cpp
50
51	:
52	<nogrist>userlandfs_server
53	be	# for BLocker only
54	[ TargetLibsupc++ ] [ TargetLibstdc++ ]
55;
56
57
58SEARCH on [ FGristFiles
59		Notifications.cpp
60	] = [ FDirName $(HAIKU_TOP) src system kernel events ] ;
61
62SEARCH on [ FGristFiles
63		block_cache.cpp
64		file_map.cpp
65	] = [ FDirName $(HAIKU_TOP) src system kernel cache ] ;
66
67SEARCH on [ FGristFiles
68		Referenceable.cpp
69	] = [ FDirName $(HAIKU_TOP) src kits support ] ;
70