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