1 # from: @(#)Makefile.inc 5.6 (Berkeley) 3/5/91 2 # $Id: Makefile.inc,v 1.22 1993/12/07 01:00:06 mycroft Exp $ 3 4 # string sources 5 .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/string ${.CURDIR}/string 6 7 SRCS+= memccpy.c strcasecmp.c strcoll.c strdup.c strerror.c \ 8 strftime.c strmode.c strtok.c strxfrm.c 9 10 .if (${MACHINE_ARCH} == "m68k") 11 SRCS+= bcmp.S bcopy.S bzero.S ffs.S index.S memchr.c memcmp.S memset.S \ 12 rindex.S strcat.c strcmp.S strcpy.S strcspn.c strlen.S \ 13 strncat.c strncmp.S strncpy.S strpbrk.c strsep.c \ 14 strspn.c strstr.c swab.S 15 SRCS+= memcpy.S memmove.S 16 .elif (${MACHINE_ARCH} == "i386") 17 SRCS+= bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S memset.S \ 18 rindex.S strcat.S strcmp.S strcpy.S strcspn.c strlen.S \ 19 strncat.c strncmp.S strncpy.c strpbrk.c strsep.c \ 20 strspn.c strstr.c swab.S 21 SRCS+= memmove.S strchr.S strrchr.S 22 .elif (${MACHINE_ARCH} == "ns32k") 23 SRCS+= bcmp.c bcopy.c bzero.c ffs.c index.c memchr.c memcmp.c memset.c \ 24 rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \ 25 strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \ 26 strspn.c strstr.c swab.c 27 SRCS+= memmove.c strchr.c strrchr.c 28 .elif (${MACHINE_ARCH} == "tahoe") 29 SRCS+= bcmp.S bcopy.S bzero.S ffs.S index.c memchr.c memcmp.S memset.c \ 30 rindex.c strcat.S strcmp.S strcpy.S strcspn.c strlen.S \ 31 strncat.S strncmp.S strncpy.S strpbrk.c strsep.c \ 32 strspn.c strstr.c swab.c 33 SRCS+= memmove.S 34 .elif (${MACHINE_ARCH} == "vax") 35 SRCS+= bcmp.S bcopy.S bzero.S ffs.S index.c memchr.S memcmp.S memset.S \ 36 rindex.S strcat.S strcmp.S strcpy.S strcspn.S strlen.S \ 37 strncat.S strncmp.S strncpy.S strpbrk.S strsep.S \ 38 strspn.S strstr.S swab.c 39 SRCS+= memmove.S strchr.S strrchr.S 40 .endif 41 42 # if no machine specific memmove(3), build one out of bcopy(3). 43 .if empty(SRCS:Mmemmove.S) 44 OBJS+= memmove.o 45 memmove.o: bcopy.c 46 ${CC} -DMEMMOVE ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET} 47 @${LD} -x -r ${.TARGET} 48 @mv a.out ${.TARGET} 49 50 memmove.po: bcopy.c 51 ${CC} -DMEMMOVE ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET} 52 @${LD} -X -r ${.TARGET} 53 @mv a.out ${.TARGET} 54 55 memmove.so: bcopy.c 56 ${CC} ${PICFLAG} -DPIC -DMEMMOVE ${CFLAGS} -c ${.ALLSRC} \ 57 -o ${.TARGET} 58 .endif 59 60 # if no machine specific memcpy(3), build one out of bcopy(3). 61 # if there is a machine specific memmove(3), we'll assume it aliases 62 # memcpy(3). 63 .if empty(SRCS:Mmemcpy.S) 64 .if empty(SRCS:Mmemmove.S) 65 OBJS+= memcpy.o 66 memcpy.o: bcopy.c 67 ${CC} -DMEMCOPY ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET} 68 @${LD} -x -r ${.TARGET} 69 @mv a.out ${.TARGET} 70 71 memcpy.po: bcopy.c 72 ${CC} -DMEMCOPY ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET} 73 @${LD} -X -r ${.TARGET} 74 @mv a.out ${.TARGET} 75 76 memcpy.so: bcopy.c 77 ${CC} ${PICFLAG} -DPIC -DMEMCOPY ${CFLAGS} -c ${.ALLSRC} \ 78 -o ${.TARGET} 79 .endif 80 .endif 81 82 # if no machine specific strchr(3), build one out of index(3). 83 .if empty(SRCS:Mstrchr.S) 84 OBJS+= strchr.o 85 strchr.o: index.c 86 ${CC} -DSTRCHR ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET} 87 @${LD} -x -r ${.TARGET} 88 @mv a.out ${.TARGET} 89 90 strchr.po: index.c 91 ${CC} -DSTRCHR ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET} 92 @${LD} -X -r ${.TARGET} 93 @mv a.out ${.TARGET} 94 95 strchr.so: index.c 96 ${CC} ${PICFLAG} -DPIC -DSTRCHR ${CFLAGS} -c ${.ALLSRC} \ 97 -o ${.TARGET} 98 .endif 99 100 # if no machine specific strrchr(3), build one out of rindex(3). 101 .if empty(SRCS:Mstrrchr.S) 102 OBJS+= strrchr.o 103 strrchr.o: rindex.c 104 ${CC} -DSTRRCHR ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET} 105 @${LD} -x -r ${.TARGET} 106 @mv a.out ${.TARGET} 107 108 strrchr.po: rindex.c 109 ${CC} -DSTRRCHR ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET} 110 @${LD} -X -r ${.TARGET} 111 @mv a.out ${.TARGET} 112 113 strrchr.so: rindex.c 114 ${CC} ${PICFLAG} -DPIC -DSTRRCHR ${CFLAGS} -c ${.ALLSRC} \ 115 -o ${.TARGET} 116 .endif 117 118 MAN3+= bcmp.0 bcopy.0 bstring.0 bzero.0 ffs.0 index.0 memccpy.0 memchr.0 \ 119 memcmp.0 memcpy.0 memmove.0 memset.0 rindex.0 strcasecmp.0 strcat.0 \ 120 strchr.0 strcmp.0 strcoll.0 strcpy.0 strcspn.0 strerror.0 strftime.0 string.0 \ 121 strlen.0 strmode.0 strdup.0 strpbrk.0 strrchr.0 strsep.0 strspn.0 \ 122 strstr.0 strtok.0 strxfrm.0 swab.0 123 124 MLINKS+=strcasecmp.3 strncasecmp.3 125 MLINKS+=strcat.3 strncat.3 126 MLINKS+=strcmp.3 strncmp.3 127 MLINKS+=strcpy.3 strncpy.3 128