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