xref: /haiku/src/tools/fs_shell/Jamfile (revision fae0689ac28b10a2d90e351d10a50c0bb763b3fa)
1a38a92c9SIngo WeinholdSubDir HAIKU_TOP src tools fs_shell ;
2a38a92c9SIngo Weinhold
3a38a92c9SIngo WeinholdUseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
4655195feSIngo Weinhold
5b357daa5SAugustin Cavalierif ! $(HOST_PLATFORM_HAIKU_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
12*fae0689aSAugustin CavalierUsePrivateHeaders fs_shell shared file_systems ;
13a38a92c9SIngo Weinhold
140bab2e8aSIngo WeinholdDEFINES += FS_SHELL=1 ;
150bab2e8aSIngo Weinhold
160b5d4856SAugustin Cavalier# prevent inclusion of HaikuBuildCompatibility.h and _BSD_SOURCE headers
170b5d4856SAugustin CavalierDEFINES += HAIKU_BUILD_COMPATIBILITY_H __STRICT_ANSI__ ;
186f057874SIngo Weinhold
194d121ec0SIngo Weinhold# platform specific sources/libraries
20f6233d23SIngo Weinholdlocal fsShellCommandSources ;
21f6233d23SIngo Weinholdlocal externalCommandsSources ;
224d121ec0SIngo Weinholdlocal fsShellCommandLibs ;
23b357daa5SAugustin Cavalierif $(HOST_PLATFORM_HAIKU_COMPATIBLE) && $(HOST_PLATFORM) != haiku_host {
2417ebe2b0SIngo Weinhold	# BeOS compatible, but not Haiku -- use BeOS ports for communication
25f6233d23SIngo Weinhold	fsShellCommandSources = fs_shell_command_beos.cpp ;
26f6233d23SIngo Weinhold	externalCommandsSources = external_commands_beos.cpp ;
27f6233d23SIngo Weinhold} else {
2817ebe2b0SIngo Weinhold	# Unix or Haiku -- use FIFOs for communication
29f6233d23SIngo Weinhold	fsShellCommandSources = fs_shell_command_unix.cpp ;
30f6233d23SIngo Weinhold	externalCommandsSources = external_commands_unix.cpp ;
31f6233d23SIngo Weinhold}
32f6233d23SIngo Weinhold
3318128d58SStephan Aßmuslocal kernelEmulationSources =
34a38a92c9SIngo Weinhold	atomic.cpp
35a38a92c9SIngo Weinhold	block_cache.cpp
3642d3fc04SIngo Weinhold	byte_order.cpp
37fd62d01fSIngo Weinhold	command_cp.cpp
388c8f8c84SIngo Weinhold	disk_device_manager.cpp
39eedc1553SIngo Weinhold	driver_settings.cpp
40a38a92c9SIngo Weinhold	errno.cpp
41a38a92c9SIngo Weinhold	fcntl.cpp
42a38a92c9SIngo Weinhold	fd.cpp
43a38a92c9SIngo Weinhold	file_cache.cpp
443d268edaSAxel Dörfler	file_map.cpp
45a38a92c9SIngo Weinhold	kernel_export.cpp
46a38a92c9SIngo Weinhold	KPath.cpp
47a38a92c9SIngo Weinhold	hash.cpp
48a38a92c9SIngo Weinhold	list.cpp
49a38a92c9SIngo Weinhold	lock.cpp
5090c08768SIngo Weinhold	module.cpp
51a38a92c9SIngo Weinhold	node_monitor.cpp
523e617040SIngo Weinhold	partition_support.cpp
534f7504e3SIngo Weinhold	path_util.cpp
5490c08768SIngo Weinhold	rootfs.cpp
55a38a92c9SIngo Weinhold	sem.cpp
56a38a92c9SIngo Weinhold	stat.cpp
57a38a92c9SIngo Weinhold	stat_util.cpp
58a38a92c9SIngo Weinhold	stdio.cpp
59a38a92c9SIngo Weinhold	string.cpp
60a38a92c9SIngo Weinhold	thread.cpp
61a38a92c9SIngo Weinhold	time.cpp
62a38a92c9SIngo Weinhold	uio.cpp
63a38a92c9SIngo Weinhold	unistd.cpp
64a38a92c9SIngo Weinhold	vfs.cpp
6518128d58SStephan Aßmus;
66a38a92c9SIngo Weinhold
67cf844822SIngo WeinholdBuildPlatformMergeObject <build>fs_shell_kernel.o : $(kernelEmulationSources) ;
68cf844822SIngo Weinhold
6918128d58SStephan AßmusBuildPlatformStaticLibrary <build>fuse_module.a :
7018128d58SStephan Aßmus	$(externalCommandsSources)
7118128d58SStephan Aßmus
7218128d58SStephan Aßmus	fuse.cpp
73cf844822SIngo Weinhold	: <build>fs_shell_kernel.o
7418128d58SStephan Aßmus;
7518128d58SStephan Aßmus
7618128d58SStephan AßmusBuildPlatformStaticLibrary <build>fs_shell.a :
77f6233d23SIngo Weinhold	$(externalCommandsSources)
78f6233d23SIngo Weinhold
79a38a92c9SIngo Weinhold	fssh.cpp
80360a6446SAxel Dörfler	fssh_additional_commands.cpp
81360a6446SAxel Dörfler
82cf844822SIngo Weinhold	: <build>fs_shell_kernel.o
83a38a92c9SIngo Weinhold;
84f6233d23SIngo Weinhold
856f057874SIngo WeinholdSEARCH on [ FGristFiles rootfs.cpp ]
866f057874SIngo Weinhold	= [ FDirName $(HAIKU_TOP) src system kernel fs ] ;
87846b2f90SAxel DörflerSEARCH on [ FGristFiles file_map.cpp ]
88846b2f90SAxel Dörfler	= [ FDirName $(HAIKU_TOP) src system kernel cache ] ;
896f057874SIngo Weinhold
90ca6586d9SIngo WeinholdBuildPlatformMain <build>fs_shell_command
91f6233d23SIngo Weinhold	: fs_shell_command.cpp $(fsShellCommandSources)
924d121ec0SIngo Weinhold	: $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) $(fsShellCommandLibs) ;
934d121ec0SIngo Weinhold
94