1SubDir HAIKU_TOP src add-ons kernel file_systems packagefs ;
2
3
4UseBuildFeatureHeaders zlib ;
5UsePrivateKernelHeaders ;
6UsePrivateHeaders package shared storage support file_systems ;
7
8local zstdKernelLib ;
9
10if [ FIsBuildFeatureEnabled zstd ] {
11	zstdKernelLib = kernel_libzstd.a ;
12	UseBuildFeatureHeaders zstd ;
13	Includes [ FGristFiles $(zstdSources) ]
14		: [ BuildFeatureAttribute zstd : headers ] ;
15	SubDirC++Flags -DZSTD_ENABLED ;
16}
17
18local subDirs =
19	indices
20	nodes
21	package
22	package_links
23	resolvables
24	util
25	volume
26;
27SEARCH_SOURCE += $(subDirs:D=$(SUBDIR)) ;
28
29
30HAIKU_PACKAGE_FS_SOURCES =
31	AttributeCookie.cpp
32	AttributeDirectoryCookie.cpp
33	AttributeIndex.cpp
34	AutoPackageAttributeDirectoryCookie.cpp
35	AutoPackageAttributes.cpp
36	CachedDataReader.cpp
37	Dependency.cpp
38	Directory.cpp
39	EmptyAttributeDirectoryCookie.cpp
40	Index.cpp
41	IndexedAttributeOwner.cpp
42	kernel_interface.cpp
43	LastModifiedIndex.cpp
44	NameIndex.cpp
45	Node.cpp
46	NodeListener.cpp
47	OldUnpackingNodeAttributes.cpp
48	Query.cpp
49	Package.cpp
50	PackageDirectory.cpp
51	PackageFile.cpp
52	PackageFSRoot.cpp
53	PackageLeafNode.cpp
54	PackageLinkDirectory.cpp
55	PackageLinksDirectory.cpp
56	PackageLinksListener.cpp
57	PackageLinkSymlink.cpp
58	PackageNode.cpp
59	PackageNodeAttribute.cpp
60	PackagesDirectory.cpp
61	PackageSettings.cpp
62	PackageSymlink.cpp
63	Resolvable.cpp
64	ResolvableFamily.cpp
65	SizeIndex.cpp
66	String.cpp
67	StringConstants.cpp
68	StringPool.cpp
69	UnpackingAttributeCookie.cpp
70	UnpackingAttributeDirectoryCookie.cpp
71	UnpackingDirectory.cpp
72	UnpackingLeafNode.cpp
73	UnpackingNode.cpp
74	Version.cpp
75	Volume.cpp
76;
77
78HAIKU_PACKAGE_FS_SHARED_SOURCES =
79	QueryParserUtils.cpp
80	DebugSupport.cpp
81;
82
83HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES =
84	DataReader.cpp
85	ErrorOutput.cpp
86	FDDataReader.cpp
87	HPKGDefs.cpp
88	PackageContentHandler.cpp
89	PackageData.cpp
90	PackageDataReader.cpp
91	PackageEntry.cpp
92	PackageEntryAttribute.cpp
93	PackageFileHeapAccessorBase.cpp
94	PackageFileHeapReader.cpp
95	PackageReaderImpl.cpp
96	ReaderImplBase.cpp
97;
98
99Includes [ FGristFiles ZlibCompressionAlgorithm.cpp ]
100	: [ BuildFeatureAttribute zlib : headers ] ;
101
102local libSharedSources =
103	NaturalCompare.cpp
104;
105
106local storageKitSources =
107	FdIO.cpp
108;
109
110local supportKitSources =
111	CompressionAlgorithm.cpp
112	ZlibCompressionAlgorithm.cpp
113	ZstdCompressionAlgorithm.cpp
114;
115
116KernelAddon packagefs
117	:
118	$(HAIKU_PACKAGE_FS_SOURCES)
119	$(HAIKU_PACKAGE_FS_SHARED_SOURCES)
120	$(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES)
121	$(libSharedSources)
122	$(storageKitSources)
123	$(supportKitSources)
124
125	: kernel_libz.a $(zstdKernelLib)
126;
127
128
129SEARCH on [ FGristFiles $(HAIKU_PACKAGE_FS_SHARED_SOURCES) ]
130	+= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems shared ] ;
131SEARCH on [ FGristFiles $(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES) ]
132	+= [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
133SEARCH on [ FGristFiles $(libSharedSources) ]
134	+= [ FDirName $(HAIKU_TOP) src build libshared ] ;
135SEARCH on [ FGristFiles $(storageKitSources) ]
136	+= [ FDirName $(HAIKU_TOP) src kits storage ] ;
137SEARCH on [ FGristFiles $(supportKitSources) ]
138	+= [ FDirName $(HAIKU_TOP) src kits support ] ;
139