1SubDir HAIKU_TOP src system kernel lib ; 2 3UsePrivateHeaders shared ; 4UsePrivateHeaders [ FDirName libroot locale ] ; 5UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility gnu ] : true ; 6 7# force inclusion of kernel_lib.h 8local kernelLibHeader = [ FDirName $(SUBDIR) kernel_lib.h ] ; 9CCFLAGS += -include $(kernelLibHeader) ; 10C++FLAGS += -include $(kernelLibHeader) ; 11 12 13local gnuSources = [ FDirName $(HAIKU_TOP) src libs gnu ] ; 14local librootSources = [ FDirName $(HAIKU_TOP) src system libroot ] ; 15local librootOSSources = [ FDirName $(librootSources) os ] ; 16local posixSources = [ FDirName $(librootSources) posix ] ; 17 18 19# kernel libroot os files 20 21local sources = 22 driver_settings.cpp 23 find_directory.cpp 24 fs_info.cpp 25 system_revision.c 26 wait_for_objects.cpp 27 ; 28 29SourceHdrs $(sources) : $(librootOSSources) ; 30 31KernelMergeObject kernel_os_main.o : $(sources) 32 : $(TARGET_KERNEL_PIC_CCFLAGS) 33; 34 35SEARCH on [ FGristFiles $(sources) ] 36 = [ FDirName $(HAIKU_TOP) src system libroot os ] ; 37 38# kernel libroot posix files 39 40SEARCH_SOURCE += [ FDirName $(posixSources) ] ; 41SEARCH_SOURCE += [ FDirName $(posixSources) locale ] ; 42SEARCH_SOURCE += [ FDirName $(posixSources) stdio ] ; 43SEARCH_SOURCE += [ FDirName $(posixSources) stdlib ] ; 44SEARCH_SOURCE += [ FDirName $(posixSources) string ] ; 45SEARCH_SOURCE += [ FDirName $(posixSources) sys ] ; 46SEARCH_SOURCE += [ FDirName $(posixSources) time ] ; 47SEARCH_SOURCE += [ FDirName $(posixSources) unistd ] ; 48SEARCH_SOURCE += [ FDirName $(gnuSources) ] ; 49 50local muslSources = 51 ffs.c 52 rand.c 53 rand_r.c 54 ; 55 56SourceHdrs $(muslSources) : 57 [ FDirName $(posixSources) musl include ] 58 [ FDirName $(posixSources) musl internal ] 59 [ FDirName $(posixSources) musl arch $(TARGET_KERNEL_ARCH_DIR) ] ; 60 61KernelMergeObject kernel_lib_posix.o : 62 kernel_errno.cpp 63 kernel_vsprintf.cpp 64 stack_protector.cpp 65 66 # main 67 dirent.cpp 68 fcntl.cpp 69 poll.cpp 70 utime.c 71 # locale 72 ctype_loc.cpp 73 ctype_l.cpp 74 ctype.cpp 75 localeconv.cpp 76 LocaleData.cpp 77 # stdlib 78 abs.c 79 atoi.c 80 bsearch.c 81 merge.c 82 qsort.c 83 random.c 84 strtod.c 85 strtol.c 86 strtoll.c 87 strtoul.c 88 strtoull.c 89 # sys 90 chmod.c 91 stat.c 92 mkdir.c 93 select.cpp 94 gettimeofday.c 95 uio.c 96 # time 97 time.c 98 # unistd 99 access.c 100 chown.c 101 close.c 102 #conf.c 103 directory.c 104 dup.c 105 ioctl.c 106 link.c 107 lseek.c 108 mount.c 109 read.c 110 sync.c 111 truncate.c 112 usergroup.cpp 113 write.c 114 # string 115 memchr.c 116 memcmp.c 117 memmem.c 118 memmove.c 119 strcasecmp.c 120 strcasestr.c 121 strcat.c 122 strchr.c 123 strcmp.c 124 strcpy.c 125 strcspn.c 126 strdup.cpp 127 strerror.c 128 strlcat.c 129 strlcpy.c 130 strlen.cpp 131 strncat.c 132 strncmp.c 133 strncpy.cpp 134 strndup.cpp 135 strnlen.cpp 136 strpbrk.c 137 strrchr.c 138 strspn.c 139 strstr.c 140 strtok.c 141 strupr.c 142 stpcpy.c 143 144 $(muslSources) 145 : $(TARGET_KERNEL_PIC_CCFLAGS) 146; 147 148SEARCH on [ FGristFiles $(muslSources) ] += [ FDirName $(posixSources) musl misc ] ; 149SEARCH on [ FGristFiles $(muslSources) ] += [ FDirName $(posixSources) musl prng ] ; 150 151# misc 152 153SEARCH_SOURCE = 154 [ FDirName $(HAIKU_TOP) src kits support ] 155 [ FDirName $(HAIKU_TOP) src kits shared ] 156 ; 157 158KernelMergeObject kernel_misc.o : 159 DataIO.cpp 160 Referenceable.cpp 161 WeakReferenceable.cpp 162 163 : $(TARGET_KERNEL_PIC_CCFLAGS) 164; 165 166HaikuSubInclude arch $(TARGET_ARCH) ; 167HaikuSubInclude zlib ; 168if [ FIsBuildFeatureEnabled zstd ] { 169 HaikuSubInclude zstd ; 170} 171