mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-04 23:50:27 +00:00
Handle machine-dependent (m-d) (string) sources more automatically.
The names of m-d variants are now added (manually) to MDSRCS instead of to SRCS, and the names of all machine-independent (m-i) variants that can reasonably be replaced by an m-d variant are now added (manually) to MISRCS instead of to SRCS, so that a simple substitution can be used to discard the unused m-i variants. MISRCS is potentially all m-i sources, but the substitution is too simple to be fast, so MISRCS should be kept reasonably small. libc/Makefile.inc: Do the substitution. libc/i386/string/Makefile.inc: Add to MDSRCS instead of to SRCS. Add the names of all sources in this directory, but no others. libc/string/Makefile.inc Add to MISRCS instead of to SRCS. Add the names of all sources in this directory. Don't use (broken) explicit rules for special cases.
This commit is contained in:
parent
74dcc37aef
commit
ae80efa54f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=30481
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.inc,v 1.1 1997/05/03 03:49:51 jb Exp $
|
||||
# $Id: Makefile.inc,v 1.2 1997/10/15 16:29:08 bde Exp $
|
||||
#
|
||||
# This file contains make rules that are shared by libc and libc_r.
|
||||
#
|
||||
|
@ -22,3 +22,14 @@
|
|||
CFLAGS+= -DYP
|
||||
.include "${.CURDIR}/../libc/yp/Makefile.inc"
|
||||
.endif
|
||||
|
||||
# Append machine-dependent sources, then append machine-independent sources
|
||||
# for which there is no machine-dependent variant.
|
||||
.if !empty(MDSRCS)
|
||||
SRCS+= ${MDSRCS}
|
||||
.for _src in ${MISRCS}
|
||||
.if ${MDSRCS:R:M${_src:R}} == ""
|
||||
SRCS+= ${_src}
|
||||
.endif
|
||||
.endfor
|
||||
.endif
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
# @(#)Makefile.inc 8.1 (Berkeley) 6/4/93
|
||||
# $Id: Makefile.inc,v 1.6 1997/02/22 14:59:02 peter Exp $
|
||||
# $Id: Makefile.inc,v 1.7 1997/04/20 12:46:11 bde Exp $
|
||||
|
||||
SRCS+= bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S \
|
||||
memmove.S memcpy.S memset.S \
|
||||
rindex.S strcat.S strchr.S strcmp.S strcpy.S strcspn.c \
|
||||
strlen.S strncat.c strncmp.S strncpy.c strpbrk.c strsep.c \
|
||||
strspn.c strrchr.S strstr.c swab.S
|
||||
MDSRCS+=bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S memcpy.S \
|
||||
memmove.S memset.S rindex.S strcat.S strchr.S strcmp.S strcpy.S \
|
||||
strlen.S strncmp.S strrchr.S swab.S
|
||||
|
|
|
@ -1,86 +1,20 @@
|
|||
# @(#)Makefile.inc 8.1 (Berkeley) 6/4/93
|
||||
# $Id: Makefile.inc,v 1.10 1997/05/03 03:50:05 jb Exp $
|
||||
# $Id: Makefile.inc,v 1.11 1997/10/15 16:16:26 bde Exp $
|
||||
|
||||
.PATH: ${.CURDIR}/../libc/${MACHINE}/string ${.CURDIR}/../libc/string
|
||||
|
||||
CFLAGS += -I${.CURDIR}/../libc/locale
|
||||
|
||||
# machine-independent string sources
|
||||
SRCS+= memccpy.c strcasecmp.c strcoll.c strdup.c strerror.c \
|
||||
strmode.c strtok.c strxfrm.c
|
||||
MISRCS+=bcmp.c bcopy.c bzero.c ffs.c index.c memccpy.c memchr.c memcmp.c \
|
||||
memcpy.c memmove.c memset.c rindex.c strcasecmp.c strcat.c strchr.c \
|
||||
strcmp.c strcoll.c strcpy.c strcspn.c strdup.c strerror.c strlen.c \
|
||||
strmode.c strncat.c strncmp.c strncpy.c strpbrk.c strrchr.c strsep.c \
|
||||
strspn.c strstr.c strtok.c strxfrm.c swab.c
|
||||
|
||||
# machine-dependent string sources
|
||||
.include "${.CURDIR}/../libc/${MACHINE}/string/Makefile.inc"
|
||||
|
||||
# If no machine specific bzero(3), build one out of memset(3).
|
||||
.if empty(SRCS:Mbzero.S)
|
||||
OBJS+= bzero.o
|
||||
bzero.o: memset.c
|
||||
${CC} -DBZERO ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -x -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
|
||||
bzero.po: memset.c
|
||||
${CC} -DBZERO ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -X -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
.endif
|
||||
|
||||
# If no machine specific memmove(3), build one out of bcopy(3).
|
||||
.if empty(SRCS:Mmemmove.S)
|
||||
OBJS+= memmove.o
|
||||
memmove.o: bcopy.c
|
||||
${CC} -DMEMMOVE ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -x -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
|
||||
memmove.po: bcopy.c
|
||||
${CC} -DMEMMOVE ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -X -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
.endif
|
||||
|
||||
# If no machine specific memcpy(3), build one out of bcopy(3).
|
||||
.if empty(SRCS:Mmemmove.S)
|
||||
OBJS+= memcpy.o
|
||||
memcpy.o: bcopy.c
|
||||
${CC} -DMEMCOPY ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -x -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
|
||||
memcpy.po: bcopy.c
|
||||
${CC} -DMEMCOPY ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -X -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
.endif
|
||||
|
||||
# If no machine specific strchr(3), build one out of index(3).
|
||||
.if empty(SRCS:Mstrchr.S)
|
||||
OBJS+= strchr.o
|
||||
strchr.o: index.c
|
||||
${CC} -DSTRCHR ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -x -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
|
||||
strchr.po: index.c
|
||||
${CC} -DSTRCHR ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -X -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
.endif
|
||||
|
||||
# If no machine specific strrchr(3), build one out of rindex(3).
|
||||
.if empty(SRCS:Mstrrchr.S)
|
||||
OBJS+= strrchr.o
|
||||
strrchr.o: rindex.c
|
||||
${CC} -DSTRRCHR ${CFLAGS} -c ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -x -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
|
||||
strrchr.po: rindex.c
|
||||
${CC} -DSTRRCHR ${CFLAGS} -c -p ${.ALLSRC} -o ${.TARGET}
|
||||
@${LD} -X -r ${.TARGET}
|
||||
@mv -f a.out ${.TARGET}
|
||||
.endif
|
||||
#
|
||||
.if ${LIB} == "c"
|
||||
MAN3+= bcmp.3 bcopy.3 bstring.3 bzero.3 ffs.3 index.3 memccpy.3 memchr.3 \
|
||||
memcmp.3 memcpy.3 memmove.3 memset.3 rindex.3 strcasecmp.3 strcat.3 \
|
||||
|
|
Loading…
Reference in a new issue