1 # from: @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 2 # $NetBSD: Makefile.inc,v 1.91 2024/11/01 18:35:12 riastradh Exp $ 3 4 # string sources 5 .PATH: ${ARCHDIR}/string ${.CURDIR}/string 6 7 # NB: if a .S version of any of these is added in the arch/*/Makefile 8 # then the relevant .c file is automatically removed 9 # Also adding the .c name to NO_SRCS will have the same effect 10 11 SRCS+= bm.c stpcpy.c stpncpy.c \ 12 strcasecmp.c strncasecmp.c strcasestr.c strcoll.c strdup.c \ 13 strerror.c strerror_ss.c strlcat.c strlcpy.c strnlen.c \ 14 strmode.c strsignal.c strtok.c \ 15 strtok_r.c strxfrm.c __strsignal.c strerror_r.c strndup.c \ 16 stresep.c memrchr.c 17 18 SRCS+= bcmp.c bcopy.c bzero.c ffs.c ffsl.c ffsll.c memchr.c memcmp.c memset.c 19 SRCS+= strcat.c strcmp.c strcpy.c strcspn.c strlen.c 20 SRCS+= strncat.c strncmp.c strncpy.c strpbrk.c strsep.c 21 SRCS+= strspn.c strstr.c swab.c strnstr.c 22 SRCS+= explicit_memset.c consttime_memequal.c 23 24 SRCS+= memccpy.c memcpy.c memmem.c memmove.c mempcpy.c 25 SRCS+= strchr.c strrchr.c strchrnul.c 26 SRCS+= popcount32.c popcount64.c 27 28 # wide char 29 SRCS+= wcscat.c wcschr.c wcscmp.c wcscpy.c wcscspn.c wcslcat.c wcslcpy.c \ 30 wcslen.c wcsncat.c wcsnlen.c wcscasecmp.c wcsdup.c wcsncasecmp.c \ 31 wcsncmp.c wcsncpy.c wcspbrk.c wcsrchr.c wcsspn.c wcsstr.c wcstok.c \ 32 wcswcs.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmempcpy.c wmemset.c 33 CPPFLAGS.wcscmp.c+= -I${LIBCDIR}/locale 34 CPPFLAGS.wcsncmp.c+= -I${LIBCDIR}/locale 35 CPPFLAGS.wmemcmp.c+= -I${LIBCDIR}/locale 36 37 # Avoid memset() compilation generating calls to memset() via code 38 # that appears to implement memset()-like semantics (similar to how 39 # printf("foo") may be converted to puts("foo")), since that tends 40 # to recurse and blow the stack. 41 COPTS.memset.c+= ${${ACTIVE_CC} == "gcc":? -fno-builtin :} 42 43 COPTS.strerror_r.c+= -Wno-format-nonliteral 44 45 .include "${ARCHDIR}/string/Makefile.inc" 46 47 MAN+= bm.3 bcmp.3 bcopy.3 bstring.3 bzero.3 consttime_memequal.3 \ 48 explicit_memset.3 ffs.3 index.3 \ 49 memccpy.3 memchr.3 memcmp.3 memcpy.3 memmem.3 memmove.3 memset.3 \ 50 popcount.3 \ 51 rindex.3 strcasecmp.3 strcat.3 strchr.3 strcmp.3 strcoll.3 \ 52 strcpy.3 strcspn.3 strdup.3 strerror.3 string.3 strings.3 strlcpy.3 \ 53 strlen.3 strmode.3 strncpy.3 strpbrk.3 strrchr.3 strsep.3 \ 54 strsignal.3 strspn.3 strstr.3 strtok.3 strxfrm.3 \ 55 swab.3 wcstok.3 wcswidth.3 wmemchr.3 wcsdup.3 wcscasecmp.3 56 57 MLINKS+=bm.3 bm_comp.3 bm.3 bm_exec.3 bm.3 bm_free.3 58 MLINKS+=popcount.3 popcountl.3 59 MLINKS+=popcount.3 popcountll.3 60 MLINKS+=popcount.3 popcount32.3 61 MLINKS+=popcount.3 popcount64.3 62 MLINKS+=strcasecmp.3 strncasecmp.3 63 MLINKS+=strcat.3 strncat.3 64 MLINKS+=strcmp.3 strncmp.3 65 MLINKS+=strcpy.3 stpcpy.3 66 MLINKS+=strlcpy.3 strlcat.3 67 MLINKS+=strlen.3 strnlen.3 68 MLINKS+=strncpy.3 stpncpy.3 69 MLINKS+=strstr.3 strcasestr.3 70 MLINKS+=strstr.3 strnstr.3 71 MLINKS+=strchr.3 strchrnul.3 72 MLINKS+=memchr.3 memrchr.3 73 MLINKS+=memcpy.3 mempcpy.3 74 MLINKS+=strtok.3 strtok_r.3 75 MLINKS+=strerror.3 strerror_r.3 strerror.3 perror.3 \ 76 strerror.3 strerror_l.3 \ 77 strerror.3 sys_errlist.3 strerror.3 sys_nerr.3 78 MLINKS+=strdup.3 strndup.3 79 MLINKS+=strsep.3 stresep.3 80 MLINKS+=wmemchr.3 wmemcmp.3 wmemchr.3 wmemcpy.3 \ 81 wmemchr.3 wmemmove.3 wmemchr.3 wmempcpy.3 \ 82 wmemchr.3 wmemset.3 \ 83 wmemchr.3 wcscat.3 wmemchr.3 wcschr.3 \ 84 wmemchr.3 wcscmp.3 wmemchr.3 wcscpy.3 \ 85 wmemchr.3 wcscspn.3 wmemchr.3 wcslcat.3 \ 86 wmemchr.3 wcslcpy.3 wmemchr.3 wcslen.3 \ 87 wmemchr.3 wcsncat.3 wmemchr.3 wcsnlen.3 \ 88 wmemchr.3 wcsncmp.3 wmemchr.3 wcsncpy.3 \ 89 wmemchr.3 wcspbrk.3 wmemchr.3 wcsrchr.3 \ 90 wmemchr.3 wcsspn.3 wmemchr.3 wcsstr.3 \ 91 wmemchr.3 wcswcs.3 92 MLINKS+=wcscasecmp.3 wcsncasecmp.3 93