1# from: @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 2# $NetBSD: Makefile.inc,v 1.90 2024/06/08 21:35:18 joerg 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 11SRCS+= 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 18SRCS+= bcmp.c bcopy.c bzero.c ffs.c memchr.c memcmp.c memset.c 19SRCS+= strcat.c strcmp.c strcpy.c strcspn.c strlen.c 20SRCS+= strncat.c strncmp.c strncpy.c strpbrk.c strsep.c 21SRCS+= strspn.c strstr.c swab.c strnstr.c 22SRCS+= explicit_memset.c consttime_memequal.c 23 24SRCS+= memccpy.c memcpy.c memmem.c memmove.c mempcpy.c 25SRCS+= strchr.c strrchr.c strchrnul.c 26SRCS+= popcount32.c popcount64.c 27 28# wide char 29SRCS+= 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 33CPPFLAGS.wcscmp.c+= -I${LIBCDIR}/locale 34CPPFLAGS.wcsncmp.c+= -I${LIBCDIR}/locale 35CPPFLAGS.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. 41COPTS.memset.c+= ${${ACTIVE_CC} == "gcc":? -fno-builtin :} 42 43COPTS.strerror_r.c+= -Wno-format-nonliteral 44 45.include "${ARCHDIR}/string/Makefile.inc" 46 47MAN+= 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 57MLINKS+=bm.3 bm_comp.3 bm.3 bm_exec.3 bm.3 bm_free.3 58MLINKS+=popcount.3 popcountl.3 59MLINKS+=popcount.3 popcountll.3 60MLINKS+=popcount.3 popcount32.3 61MLINKS+=popcount.3 popcount64.3 62MLINKS+=strcasecmp.3 strncasecmp.3 63MLINKS+=strcat.3 strncat.3 64MLINKS+=strcmp.3 strncmp.3 65MLINKS+=strcpy.3 stpcpy.3 66MLINKS+=strlcpy.3 strlcat.3 67MLINKS+=strlen.3 strnlen.3 68MLINKS+=strncpy.3 stpncpy.3 69MLINKS+=strstr.3 strcasestr.3 70MLINKS+=strstr.3 strnstr.3 71MLINKS+=strchr.3 strchrnul.3 72MLINKS+=memchr.3 memrchr.3 73MLINKS+=memcpy.3 mempcpy.3 74MLINKS+=strtok.3 strtok_r.3 75MLINKS+=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 78MLINKS+=strdup.3 strndup.3 79MLINKS+=strsep.3 stresep.3 80MLINKS+=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 92MLINKS+=wcscasecmp.3 wcsncasecmp.3 93