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