xref: /haiku/src/tools/bfs_shell/Jamfile (revision caed67a8cba83913b9c21ac2b06ebc6bd1cb3111)
1SubDir HAIKU_TOP src tools bfs_shell ;
2
3SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems bfs ] ;
4
5# prevent inclusion of HaikuBuildCompatibility.h and BSD headers
6DEFINES += HAIKU_BUILD_COMPATIBILITY_H __STRICT_ANSI__ ;
7
8# set some additional defines
9{
10	local defines =
11		#BFS_BIG_ENDIAN_ONLY
12		FS_SHELL
13		;
14
15	if $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
16		# GCC2 doesn't compile BFS correctly with -O2 or more
17		OPTIM = -O1 ;
18	}
19
20	defines = [ FDefines $(defines) ] ;
21
22	local c++flags = -std=c++11 ;
23
24	SubDirCcFlags $(defines) -Wno-multichar ;
25	SubDirC++Flags $(defines) -Wno-multichar -fno-rtti ;
26	SubDirC++Flags $(defines) $(c++flags) -Wno-multichar -fno-rtti ;
27}
28
29# platform specific libraries
30local fsShellCommandLibs ;
31if ! $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
32	fsShellCommandLibs = $(HOST_NETWORK_LIBS) ;
33}
34
35UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
36
37if ! $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
38	UseHeaders [ FDirName $(HAIKU_TOP) headers build os ] : true ;
39	UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
40}
41
42UsePrivateHeaders shared storage ;
43UsePrivateHeaders fs_shell ;
44UseHeaders [ FDirName $(HAIKU_TOP) headers private ] : true ;
45UseHeaders [ FDirName $(HAIKU_TOP) src tools fs_shell ] ;
46
47local bfsSource =
48	bfs_disk_system.cpp
49	BlockAllocator.cpp
50	BPlusTree.cpp
51	Attribute.cpp
52	CheckVisitor.cpp
53	Debug.cpp
54	DeviceOpener.cpp
55	FileSystemVisitor.cpp
56	Index.cpp
57	Inode.cpp
58	Journal.cpp
59	Query.cpp
60	QueryParserUtils.cpp
61	ResizeVisitor.cpp
62	Volume.cpp
63
64	kernel_interface.cpp
65;
66
67BuildPlatformMergeObject <build>bfs.o : $(bfsSource) ;
68
69BuildPlatformMain <build>bfs_shell
70	:
71	additional_commands.cpp
72	command_checkfs.cpp
73	command_resizefs.cpp
74	:
75	<build>bfs.o
76	<build>fs_shell.a $(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
77	$(HOST_LIBROOT) $(fsShellCommandLibs)
78;
79
80BuildPlatformMain <build>bfs_fuse
81	:
82	:
83	<build>bfs.o
84	<build>fuse_module.a
85	$(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
86	$(HOST_STATIC_LIBROOT) $(fsShellCommandLibs) fuse
87;
88
89SEARCH on [ FGristFiles DeviceOpener.cpp QueryParserUtils.cpp ]
90	+= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems shared ] ;
91