xref: /haiku/src/tools/fs_shell/Jamfile (revision 360a6446506d9316265df77c0f89804e3de11412)
1a38a92c9SIngo WeinholdSubDir HAIKU_TOP src tools fs_shell ;
2a38a92c9SIngo Weinhold
3a38a92c9SIngo WeinholdUseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
4655195feSIngo Weinhold
5655195feSIngo Weinholdif ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
6a38a92c9SIngo Weinhold	UseHeaders [ FDirName $(HAIKU_TOP) headers build os ] : true ;
7a38a92c9SIngo Weinhold	UseHeaders [ FDirName $(HAIKU_TOP) headers build os kernel ] : true ;
8a38a92c9SIngo Weinhold	UseHeaders [ FDirName $(HAIKU_TOP) headers build os storage ] : true ;
9a38a92c9SIngo Weinhold	UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
10655195feSIngo Weinhold}
11a38a92c9SIngo Weinhold
12a38a92c9SIngo WeinholdUsePrivateHeaders fs_shell ;
13fd62d01fSIngo WeinholdUsePrivateHeaders shared ;
14a38a92c9SIngo Weinhold
150bab2e8aSIngo WeinholdDEFINES += FS_SHELL=1 ;
160bab2e8aSIngo Weinhold
170bab2e8aSIngo Weinhold# prevent inclusion of HaikuBuildCompatibility.h
180bab2e8aSIngo WeinholdDEFINES += HAIKU_BUILD_COMPATIBILITY_H ;
196f057874SIngo Weinhold
204d121ec0SIngo Weinhold# platform specific sources/libraries
21f6233d23SIngo Weinholdlocal fsShellCommandSources ;
22f6233d23SIngo Weinholdlocal externalCommandsSources ;
234d121ec0SIngo Weinholdlocal fsShellCommandLibs ;
2417ebe2b0SIngo Weinholdif $(HOST_PLATFORM_BEOS_COMPATIBLE) && $(HOST_PLATFORM) != haiku_host {
2517ebe2b0SIngo Weinhold	# BeOS compatible, but not Haiku -- use BeOS ports for communication
26f6233d23SIngo Weinhold	fsShellCommandSources = fs_shell_command_beos.cpp ;
27f6233d23SIngo Weinhold	externalCommandsSources = external_commands_beos.cpp ;
28f6233d23SIngo Weinhold} else {
2917ebe2b0SIngo Weinhold	# Unix or Haiku -- use FIFOs for communication
30f6233d23SIngo Weinhold	fsShellCommandSources = fs_shell_command_unix.cpp ;
31f6233d23SIngo Weinhold	externalCommandsSources = external_commands_unix.cpp ;
32f6233d23SIngo Weinhold}
33f6233d23SIngo Weinhold
3418128d58SStephan Aßmuslocal kernelEmulationSources =
35a38a92c9SIngo Weinhold	atomic.cpp
36a38a92c9SIngo Weinhold	block_cache.cpp
3742d3fc04SIngo Weinhold	byte_order.cpp
38fd62d01fSIngo Weinhold	command_cp.cpp
398c8f8c84SIngo Weinhold	disk_device_manager.cpp
40eedc1553SIngo Weinhold	driver_settings.cpp
41a38a92c9SIngo Weinhold	errno.cpp
42a38a92c9SIngo Weinhold	fcntl.cpp
43a38a92c9SIngo Weinhold	fd.cpp
44a38a92c9SIngo Weinhold	file_cache.cpp
453d268edaSAxel Dörfler	file_map.cpp
46a38a92c9SIngo Weinhold	kernel_export.cpp
47a38a92c9SIngo Weinhold	KPath.cpp
48a38a92c9SIngo Weinhold	hash.cpp
49a38a92c9SIngo Weinhold	list.cpp
50a38a92c9SIngo Weinhold	lock.cpp
5190c08768SIngo Weinhold	module.cpp
52a38a92c9SIngo Weinhold	node_monitor.cpp
533e617040SIngo Weinhold	partition_support.cpp
544f7504e3SIngo Weinhold	path_util.cpp
5590c08768SIngo Weinhold	rootfs.cpp
56a38a92c9SIngo Weinhold	sem.cpp
57a38a92c9SIngo Weinhold	stat.cpp
58a38a92c9SIngo Weinhold	stat_util.cpp
59a38a92c9SIngo Weinhold	stdio.cpp
60a38a92c9SIngo Weinhold	string.cpp
61a38a92c9SIngo Weinhold	thread.cpp
62a38a92c9SIngo Weinhold	time.cpp
63a38a92c9SIngo Weinhold	uio.cpp
64a38a92c9SIngo Weinhold	unistd.cpp
65a38a92c9SIngo Weinhold	vfs.cpp
6618128d58SStephan Aßmus;
67a38a92c9SIngo Weinhold
68cf844822SIngo WeinholdBuildPlatformMergeObject <build>fs_shell_kernel.o : $(kernelEmulationSources) ;
69cf844822SIngo Weinhold
7018128d58SStephan AßmusBuildPlatformStaticLibrary <build>fuse_module.a :
7118128d58SStephan Aßmus	$(externalCommandsSources)
7218128d58SStephan Aßmus
7318128d58SStephan Aßmus	fuse.cpp
74cf844822SIngo Weinhold	: <build>fs_shell_kernel.o
7518128d58SStephan Aßmus;
7618128d58SStephan Aßmus
7718128d58SStephan AßmusBuildPlatformStaticLibrary <build>fs_shell.a :
78f6233d23SIngo Weinhold	$(externalCommandsSources)
79f6233d23SIngo Weinhold
80a38a92c9SIngo Weinhold	fssh.cpp
81*360a6446SAxel Dörfler	fssh_additional_commands.cpp
82*360a6446SAxel Dörfler
83cf844822SIngo Weinhold	: <build>fs_shell_kernel.o
84a38a92c9SIngo Weinhold;
85f6233d23SIngo Weinhold
866f057874SIngo WeinholdSEARCH on [ FGristFiles rootfs.cpp ]
876f057874SIngo Weinhold	= [ FDirName $(HAIKU_TOP) src system kernel fs ] ;
886f057874SIngo Weinhold
89ca6586d9SIngo WeinholdBuildPlatformMain <build>fs_shell_command
90f6233d23SIngo Weinhold	: fs_shell_command.cpp $(fsShellCommandSources)
914d121ec0SIngo Weinhold	: $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) $(fsShellCommandLibs) ;
924d121ec0SIngo Weinhold
93