xref: /haiku/src/tools/bfs_shell/Jamfile (revision 7ee53ed3bd2222305c93a4959f8c587c373ed97c)
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		BFS_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) src tools fs_shell ] ;
46
47local bfsSource =
48	bfs_disk_system.cpp
49	BlockAllocator.cpp
50	BPlusTree.cpp
51	Attribute.cpp
52	Debug.cpp
53	Index.cpp
54	Inode.cpp
55	Journal.cpp
56	Query.cpp
57	Volume.cpp
58
59	kernel_interface.cpp
60;
61
62BuildPlatformMergeObject <build>bfs.o : $(bfsSource) ;
63
64BuildPlatformMain <build>bfs_shell
65	:
66	additional_commands.cpp
67	command_checkfs.cpp
68	:
69	<build>bfs.o
70	<build>fs_shell.a $(libHaikuCompat) $(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
71	$(HOST_LIBROOT) $(fsShellCommandLibs)
72;
73
74BuildPlatformMain <build>bfs_fuse
75	:
76	:
77	<build>bfs.o
78	<build>fuse_module.a
79	$(libHaikuCompat) $(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
80	$(HOST_STATIC_LIBROOT) $(fsShellCommandLibs) fuse
81;
82