6b8821515d
Move setjmp and strnlen to common/lib to allow libddekit to use them.
142 lines
4.1 KiB
Makefile
142 lines
4.1 KiB
Makefile
#
|
|
# Minimal libc for servers and drivers.
|
|
#
|
|
|
|
.include <bsd.own.mk>
|
|
|
|
LIB= minc
|
|
|
|
CPPFLAGS.sched_start.c+= -I${MINIXSRCDIR}
|
|
|
|
LIBCSRCDIR=${MINIXSRCDIR}/lib/libc
|
|
|
|
MACHINE_ARCH=${MACHINE}
|
|
|
|
#
|
|
# Shared libc with userspace (/common/lib/libc)
|
|
#
|
|
.include "${MINIXSRCDIR}/common/lib/libc/Makefile.inc"
|
|
.include "${.CURDIR}/arch/${MACHINE}/Makefile.libc.inc"
|
|
.if empty(SRCS:Mbyte_swap_8.*)
|
|
SRCS+= bswap64.c
|
|
.endif
|
|
|
|
.if (${MACHINE_ARCH} != "alpha") && \
|
|
(${MACHINE_ARCH} != "mips64eb") && \
|
|
(${MACHINE_ARCH} != "mips64el") && \
|
|
(${MACHINE_ARCH} != "powerpc64") && \
|
|
(${MACHINE_ARCH} != "sparc64") && \
|
|
(${MACHINE_ARCH} != "x86_64")
|
|
# Quad support
|
|
SRCS+= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c \
|
|
iordi3.c lshldi3.c lshrdi3.c moddi3.c muldi3.c negdi2.c \
|
|
notdi2.c qdivrem.c subdi3.c ucmpdi2.c udivdi3.c umoddi3.c \
|
|
xordi3.c
|
|
.endif
|
|
.for i in \
|
|
random.c strtoll.c strtoul.c strtoull.c strtoumax.c \
|
|
memchr.c memcmp.c memcpy.c memmove.c popcount32.c popcount64.c \
|
|
strcasecmp.c strcat.c strchr.c strcmp.c strcpy.c strlcat.c \
|
|
strlcpy.c strlen.c strncasecmp.c strncmp.c strncpy.c strnlen.c \
|
|
strrchr.c strsep.c strstr.c ptree.c rb.c sha1.c sha2.c
|
|
SRCS+= ${i}
|
|
CPPFLAGS.${i}+= -D_LIBC -I${LIBCSRCDIR}/include
|
|
.endfor
|
|
.if empty(SRCS:Mmemset2.*)
|
|
SRCS+= memset.c
|
|
.endif
|
|
|
|
#
|
|
# Customized versions of libc functions.
|
|
#
|
|
SRCS+= calloc.c malloc.c
|
|
SRCS+= fputs.c _stdfile.c
|
|
CPPFLAGS.fputs.c+= -I${LIBCSRCDIR}/include
|
|
|
|
|
|
#
|
|
# Functions imported directly from the libc.
|
|
#
|
|
|
|
# Import from stdio
|
|
.for i in sprintf.c fprintf.c perror.c vsnprintf.c snprintf.c \
|
|
_rand48.c lrand48.c srand48.c
|
|
.PATH.c: ${LIBCSRCDIR}/stdio
|
|
CPPFLAGS.${i}= -I${LIBCSRCDIR}/stdio -I${LIBCSRCDIR}/include
|
|
SRCS+= ${i}
|
|
.endfor
|
|
# Import from stdlib
|
|
.for i in abort.c atexit.c atoi.c exit.c getenv.c \
|
|
getopt.c ldiv.c
|
|
.PATH.c: ${LIBCSRCDIR}/stdlib
|
|
SRCS+= ${i}
|
|
CPPFLAGS.${i}+= -I${LIBCSRCDIR}/stdlib -I${LIBCSRCDIR}/include
|
|
.endfor
|
|
# Import from gen
|
|
|
|
errlist.c: ${LIBCSRCDIR}/gen/errlist.awk \
|
|
${MINIXSRCDIR}/include/sys/errno.h
|
|
cat ${MINIXSRCDIR}/include/sys/errno.h | ${TOOL_SED} 's/(_SIGN//' | ${TOOL_AWK} -f ${LIBCSRCDIR}/gen/errlist.awk > ${.TARGET}
|
|
|
|
.for i in assert.c _errno.c errno.c _env.c errlist.c \
|
|
execle.c getprogname.c sleep.c time.c \
|
|
ctype_.c isctype.c tolower_.c toupper_.c usleep.c \
|
|
infinityf_ieee754.c infinity_ieee754.c \
|
|
fpclassifyf_ieee754.c fpclassifyd_ieee754.c \
|
|
isinff_ieee754.c isinfd_ieee754.c \
|
|
isnanf_ieee754.c isnand_ieee754.c \
|
|
isfinitef_ieee754.c isfinited_ieee754.c \
|
|
signbitf_ieee754.c signbitd_ieee754.c \
|
|
nanf.c infinityl.c
|
|
.PATH.c: ${LIBCSRCDIR}/arch/${MACHINE}/gen ${LIBCSRCDIR}/gen/minix \
|
|
${LIBCSRCDIR}/gen ${LIBCSRCDIR}
|
|
SRCS+= ${i}
|
|
CPPFLAGS.${i}+= -I${LIBCSRCDIR}/include
|
|
.endfor
|
|
CPPFLAGS.ctype_.c+= -I${LIBCSRCDIR}/locale
|
|
CPPFLAGS.isctype.c+= -I${LIBCSRCDIR}/locale
|
|
CPPFLAGS.tolower_.c+= -I${LIBCSRCDIR}/locale
|
|
CPPFLAGS.toupper_.c+= -I${LIBCSRCDIR}/locale
|
|
# Import from regex
|
|
.for i in regcomp.c regerror.c regexec.c regfree.c
|
|
.PATH.c: ${LIBCSRCDIR}/regex
|
|
SRCS+= ${i}
|
|
CPPFLAGS.${i}+= -I${LIBCSRCDIR}/include
|
|
.endfor
|
|
# Import from string
|
|
.for i in strcspn.c strerror.c strerror_r.c strtol.c \
|
|
bcmp.S bcopy.S bzero.S
|
|
.PATH.S: ${LIBCSRCDIR}/arch/${MACHINE}/string
|
|
.PATH.c: ${LIBCSRCDIR}/string
|
|
SRCS+= ${i}
|
|
CPPFLAGS.${i}+= -D_LIBC -I${LIBCSRCDIR}/include
|
|
.endfor
|
|
CPPFLAGS.strtol.c+= -I${LIBCSRCDIR}/../../common/lib/libc/stdlib
|
|
# Import from time
|
|
.for i in asctime.c localtime.c strftime.c
|
|
.PATH.c: ${LIBCSRCDIR}/time
|
|
SRCS+= ${i}
|
|
CPPFLAGS.${i}+= -I${LIBCSRCDIR}/include
|
|
.endfor
|
|
# Import from locale
|
|
.for i in _def_time.c
|
|
.PATH.c: ${LIBCSRCDIR}/locale
|
|
SRCS+= ${i}
|
|
CPPFLAGS.${i}+= -I${LIBCSRCDIR}/include -I${LIBCSRCDIR}/locale
|
|
.endfor
|
|
# Import from sys-minix
|
|
.for i in access.c brk.c close.c environ.c execve.c fork.c \
|
|
getgid.c getpid.c getuid.c gettimeofday.c loadname.c \
|
|
link.c _mcontext.c mknod.c mmap.c nanosleep.c open.c \
|
|
read.c sbrk.c select.c setuid.c sigprocmask.c stat.c \
|
|
stime.c syscall.c _ucontext.c umask.c unlink.c waitpid.c \
|
|
brksize.S _ipc.S _senda.S ucontext.S mmap.c
|
|
.PATH.c: ${LIBCSRCDIR}/sys-minix
|
|
.PATH.S: ${LIBCSRCDIR}/arch/${MACHINE}/sys-minix
|
|
SRCS+= ${i}
|
|
CPPFLAGS.${i}+= -I${LIBCSRCDIR}/include
|
|
.endfor
|
|
|
|
CPPFLAGS+= -D_LIBSYS
|
|
|
|
.include <bsd.lib.mk>
|