xref: /haiku/src/tools/fs_shell/Jamfile (revision 23d878482ed22e55dad6d1fca1df7bea42eb157c)
1SubDir HAIKU_TOP src tools fs_shell ;
2
3UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
4
5if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
6	UseHeaders [ FDirName $(HAIKU_TOP) headers build os ] : true ;
7	UseHeaders [ FDirName $(HAIKU_TOP) headers build os kernel ] : true ;
8	UseHeaders [ FDirName $(HAIKU_TOP) headers build os storage ] : true ;
9	UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
10}
11
12UsePrivateHeaders fs_shell ;
13UsePrivateHeaders shared ;
14
15DEFINES += FS_SHELL=1 ;
16
17# prevent inclusion of HaikuBuildCompatibility.h
18DEFINES += HAIKU_BUILD_COMPATIBILITY_H ;
19
20# platform specific sources/libraries
21local fsShellCommandSources ;
22local externalCommandsSources ;
23local fsShellCommandLibs ;
24if $(HOST_PLATFORM_BEOS_COMPATIBLE) && $(HOST_PLATFORM) != haiku_host {
25	# BeOS compatible, but not Haiku -- use BeOS ports for communication
26	fsShellCommandSources = fs_shell_command_beos.cpp ;
27	externalCommandsSources = external_commands_beos.cpp ;
28} else {
29	# Unix or Haiku -- use FIFOs for communication
30	fsShellCommandSources = fs_shell_command_unix.cpp ;
31	externalCommandsSources = external_commands_unix.cpp ;
32}
33
34local kernelEmulationSources =
35	atomic.cpp
36	block_cache.cpp
37	byte_order.cpp
38	command_cp.cpp
39	disk_device_manager.cpp
40	driver_settings.cpp
41	errno.cpp
42	fcntl.cpp
43	fd.cpp
44	file_cache.cpp
45	file_map.cpp
46	kernel_export.cpp
47	KPath.cpp
48	hash.cpp
49	list.cpp
50	lock.cpp
51	module.cpp
52	node_monitor.cpp
53	partition_support.cpp
54	path_util.cpp
55	rootfs.cpp
56	sem.cpp
57	stat.cpp
58	stat_util.cpp
59	stdio.cpp
60	string.cpp
61	thread.cpp
62	time.cpp
63	uio.cpp
64	unistd.cpp
65	vfs.cpp
66;
67
68BuildPlatformMergeObject <build>fs_shell_kernel.o : $(kernelEmulationSources) ;
69
70BuildPlatformStaticLibrary <build>fuse_module.a :
71	$(externalCommandsSources)
72
73	fuse.cpp
74	: <build>fs_shell_kernel.o
75;
76
77BuildPlatformStaticLibrary <build>fs_shell.a :
78	$(externalCommandsSources)
79
80	fssh.cpp
81	fssh_additional_commands.cpp
82
83	: <build>fs_shell_kernel.o
84;
85
86SEARCH on [ FGristFiles rootfs.cpp ]
87	= [ FDirName $(HAIKU_TOP) src system kernel fs ] ;
88
89BuildPlatformMain <build>fs_shell_command
90	: fs_shell_command.cpp $(fsShellCommandSources)
91	: $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) $(fsShellCommandLibs) ;
92
93