xref: /haiku/src/tools/bfs_shell/Jamfile (revision 4b918abdb02a26a770d898594eaaccc6f1726e9b)
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 $(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 = ;
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	ResizeVisitor.cpp
64	Volume.cpp
65
66	kernel_interface.cpp
67;
68
69BuildPlatformMergeObject <build>bfs.o : $(bfsSource) ;
70
71BuildPlatformMain <build>bfs_shell
72	:
73	additional_commands.cpp
74	command_checkfs.cpp
75	command_resizefs.cpp
76	:
77	<build>bfs.o
78	<build>fs_shell.a $(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
79	$(HOST_LIBROOT) $(fsShellCommandLibs)
80;
81
82BuildPlatformMain <build>bfs_fuse
83	:
84	:
85	<build>bfs.o
86	<build>fuse_module.a
87	$(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
88	$(HOST_STATIC_LIBROOT) $(fsShellCommandLibs) fuse
89;
90
91SEARCH on [ FGristFiles QueryParserUtils.cpp ]
92	+= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems shared ] ;
93