xref: /haiku/src/tools/bfs_shell/Jamfile (revision 77fb9ca3e653f72d1d15c9f1a50c3d4287f680e0)
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
6DEFINES += HAIKU_BUILD_COMPATIBILITY_H ;
7
8# set some additional defines
9{
10	local defines =
11		#BFS_BIG_ENDIAN_ONLY
12		FS_SHELL
13		;
14
15	if $(DEBUG) = 0 {
16		# the gcc on BeOS doesn't compile BFS correctly with -O2 or more
17		OPTIM = -O1 ;
18	}
19
20	defines = [ FDefines $(defines) ] ;
21
22	local c++flags = ;
23	if $(HOST_GCC_VERSION[1]) >= 3 {
24		c++flags += -std=c++11 ;
25	}
26
27	SubDirCcFlags $(defines) -Wno-multichar ;
28	SubDirC++Flags $(defines) -Wno-multichar -fno-rtti ;
29	SubDirC++Flags $(defines) $(c++flags) -Wno-multichar -fno-rtti ;
30}
31
32# platform specific libraries
33local fsShellCommandLibs ;
34if ! $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
35	fsShellCommandLibs = $(HOST_NETWORK_LIBS) ;
36}
37
38UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
39
40if ! $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
41	UseHeaders [ FDirName $(HAIKU_TOP) headers build os ] : true ;
42	UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
43}
44
45UsePrivateHeaders shared storage ;
46UsePrivateHeaders fs_shell ;
47UseHeaders [ FDirName $(HAIKU_TOP) headers private ] : true ;
48UseHeaders [ FDirName $(HAIKU_TOP) src tools fs_shell ] ;
49
50local bfsSource =
51	bfs_disk_system.cpp
52	BlockAllocator.cpp
53	BPlusTree.cpp
54	Attribute.cpp
55	CheckVisitor.cpp
56	Debug.cpp
57	FileSystemVisitor.cpp
58	Index.cpp
59	Inode.cpp
60	Journal.cpp
61	Query.cpp
62	QueryParserUtils.cpp
63	Volume.cpp
64
65	kernel_interface.cpp
66;
67
68BuildPlatformMergeObject <build>bfs.o : $(bfsSource) ;
69
70BuildPlatformMain <build>bfs_shell
71	:
72	additional_commands.cpp
73	command_checkfs.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 QueryParserUtils.cpp ]
90	+= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems shared ] ;
91