1SubDir HAIKU_TOP src tests system kernel disk_device_manager ;
2
3SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src system kernel disk_device_manager jobs ] ;
4SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src system kernel disk_device_manager ] ;
5SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src system kernel fs ] ;
6SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits storage ] ;
7	# DiskDeviceTypes.cpp
8
9#UsePrivateHeaders $(DOT) ;
10UsePrivateHeaders shared ;
11UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_KERNEL_PLATFORM) ] ;
12UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
13UsePrivateHeaders [ FDirName kernel arch $(TARGET_KERNEL_ARCH_DIR) ] ;
14UsePrivateHeaders [ FDirName kernel fs ] ;
15UsePrivateHeaders [ FDirName kernel ] ;
16UsePrivateHeaders [ FDirName kernel util ] ;
17UsePrivateHeaders storage ;
18UsePrivateHeaders kernel ;
19UseHeaders [ FDirName $(HAIKU_TOP) src system kernel disk_device_manager ] ;
20
21# As long as we compile for R5 userland, we define the following macros.
22SubDirCcFlags	[ FDefines USER R5_MEMORY_LAYOUT ] ;
23SubDirC++Flags	[ FDefines USER R5_MEMORY_LAYOUT ] ;
24
25SharedLibrary libdisk_device_manager.so :
26	ddm_operation_validation.cpp
27#	ddm_userland_interface.cpp
28	disk_device_manager.cpp
29	KDiskDevice.cpp
30	KDiskDeviceJob.cpp
31	KDiskDeviceJobFactory.cpp
32	KDiskDeviceJobGenerator.cpp
33	KDiskDeviceJobQueue.cpp
34	KDiskDeviceManager.cpp
35	KFileDiskDevice.cpp
36	KDiskSystem.cpp
37	KFileSystem.cpp
38	KPartition.cpp
39	KPartitioningSystem.cpp
40	KPartitionListener.cpp
41	KPartitionVisitor.cpp
42	KPhysicalPartition.cpp
43	KShadowPartition.cpp
44	UserDataWriter.cpp
45
46	# fs
47	KPath.cpp
48
49	# jobs
50	KCreateChildJob.cpp
51	KDefragmentJob.cpp
52	KDeleteChildJob.cpp
53	KInitializeJob.cpp
54	KMoveJob.cpp
55	KRepairJob.cpp
56	KResizeJob.cpp
57	KScanPartitionJob.cpp
58	KSetParametersJob.cpp
59	KUninitializeJob.cpp
60
61	# utilities
62	Locker.cpp
63	RWLocker.cpp
64
65	# disk device types
66	DiskDeviceTypes.cpp
67;
68
69LinkAgainst libdisk_device_manager.so
70	: <boot!home!config!lib>libkernelland_emu.so ;
71
72AbsSymLink <boot!home!config!lib>libdisk_device_manager.so
73	: libdisk_device_manager.so : /boot/home/config/lib ;
74
75SimpleTest DiskDeviceManagerTest
76	: DiskDeviceManagerTest.cpp
77	: <boot!home!config!lib>libdisk_device_manager.so be
78;
79
80Depends DiskDeviceManagerTest : <boot!home!config!lib>libkernelland_emu.so ;
81
82# Also build all modules:
83Depends DiskDeviceManagerTest : userland_disk_system_modules ;
84
85# Pseudo target for disk system modules.
86NotFile userland_disk_system_modules ;
87Depends userland_disk_system_modules :
88	<boot!home!config!lib>libkernelland_emu.so
89	<file_system>bfs
90	<partitioning_system>intel
91	<partitioning_system>amiga_rdb
92	<partitioning_system>apple
93	<partitioning_system>session
94;
95
96# KFileDiskDevice.cpp needs the virtualdrive.h Header. Add it here to not
97# contaminate the include paths for the other files.
98ObjectHdrs [ FGristFiles KFileDiskDevice$(SUFOBJ) ]
99	: [ FDirName $(HAIKU_TOP) src tests kits storage virtualdrive ] ;
100