xref: /haiku/src/tools/bfs_shell/Jamfile (revision 22440f4105cafc95cc1d49f9bc65bb395c527d86)
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	SubDirCcFlags $(defines) -Wno-multichar ;
22	SubDirC++Flags $(defines) -Wno-multichar -fno-rtti ;
23}
24
25local libHaikuCompat ;
26if $(HOST_PLATFORM_BEOS_COMPATIBLE) && ! $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
27	libHaikuCompat = libhaikucompat_build.a ;
28}
29
30# platform specific libraries
31local fsShellCommandLibs ;
32if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
33	fsShellCommandLibs = $(HOST_NETWORK_LIBS) ;
34}
35
36UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
37
38if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
39	UseHeaders [ FDirName $(HAIKU_TOP) headers build os ] : true ;
40	UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
41}
42
43UsePrivateHeaders shared storage ;
44UsePrivateHeaders fs_shell ;
45UseHeaders [ FDirName $(HAIKU_TOP) headers private ] : true ;
46UseHeaders [ FDirName $(HAIKU_TOP) src tools fs_shell ] ;
47
48local bfsSource =
49	bfs_disk_system.cpp
50	BlockAllocator.cpp
51	BPlusTree.cpp
52	Attribute.cpp
53	Debug.cpp
54	Index.cpp
55	Inode.cpp
56	Journal.cpp
57	Query.cpp
58	QueryParserUtils.cpp
59	Volume.cpp
60
61	kernel_interface.cpp
62;
63
64BuildPlatformMergeObject <build>bfs.o : $(bfsSource) ;
65
66BuildPlatformMain <build>bfs_shell
67	:
68	additional_commands.cpp
69	command_checkfs.cpp
70	:
71	<build>bfs.o
72	<build>fs_shell.a $(libHaikuCompat) $(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
73	$(HOST_LIBROOT) $(fsShellCommandLibs)
74;
75
76BuildPlatformMain <build>bfs_fuse
77	:
78	:
79	<build>bfs.o
80	<build>fuse_module.a
81	$(libHaikuCompat) $(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
82	$(HOST_STATIC_LIBROOT) $(fsShellCommandLibs) fuse
83;
84
85SEARCH on [ FGristFiles QueryParserUtils.cpp ]
86	+= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems shared ] ;
87