Make a special libc version for RTLD which doesn't use TLS as it will
[dragonfly.git] / lib / libc / Makefile
1 #       @(#)Makefile    8.2 (Berkeley) 2/3/94
2 # $FreeBSD: src/lib/libc/Makefile,v 1.24 1999/09/29 15:18:29 marcel Exp $
3 # $DragonFly: src/lib/libc/Makefile,v 1.9 2005/04/29 21:46:41 joerg Exp $
4 #
5 # All library objects contain rcsid strings by default; they may be
6 # excluded as a space-saving measure.  To produce a library that does
7 # not contain these strings, delete -DLIBC_RCS and -DSYSLIBC_RCS
8 # from CFLAGS below.  To remove these strings from just the system call
9 # stubs, remove just -DSYSLIBC_RCS from CFLAGS.
10 LIB=c
11 SHLIB_MAJOR= 5
12 CFLAGS+=-DLIBC_RCS -DSYSLIBC_RCS -I${.CURDIR}/include
13 AINC=   -I${.CURDIR}/${MACHINE_ARCH}
14 CLEANFILES+=tags
15 PRECIOUSLIB=    yes
16
17 #
18 # Don't bother hiding any syscalls (like libc_r does).
19 #
20 HIDDEN_SYSCALLS= _exit.o accept.o aio_suspend.o bind.o close.o connect.o \
21         dup.o dup2.o execve.o fchflags.o fchmod.o fchown.o fcntl.o \
22         flock.o fpathconf.o fstat.o fstatfs.o fsync.o getdirentries.o \
23         getpeername.o getsockname.o getsockopt.o ioctl.o \
24         kevent.o kqueue.o listen.o \
25         msync.o nanosleep.o nfssvc.o open.o poll.o read.o readv.o recvfrom.o \
26         recvmsg.o sched_yield.o select.o sendfile.o sendmsg.o sendto.o \
27         setsockopt.o shutdown.o sigaction.o sigaltstack.o \
28         sigpending.o sigprocmask.o sigreturn.o \
29         sigsuspend.o sigtimedwait.o sigwaitinfo.o socket.o \
30         socketpair.o wait4.o write.o writev.o
31
32 #
33 # Include make rules that are shared with libc_r.
34 #
35 .include "${.CURDIR}/Makefile.inc"
36
37 KQSRCS= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c iordi3.c \
38         lshldi3.c lshrdi3.c moddi3.c muldi3.c negdi2.c notdi2.c qdivrem.c \
39         subdi3.c ucmpdi2.c udivdi3.c umoddi3.c xordi3.c
40 KSRCS=  bcmp.c ffs.c index.c mcount.c rindex.c strcat.c strcmp.c strcpy.c \
41         strlen.c strncpy.c
42
43 libkern: libkern.gen libkern.${MACHINE_ARCH}
44
45 libkern.gen: ${KQSRCS} ${KSRCS}
46         cp -p ${.CURDIR}/quad/quad.h ${.ALLSRC} ${DESTDIR}/sys/libkern
47
48 libkern.${MACHINE_ARCH}:: ${KMSRCS}
49 .if defined(KMSRCS) && !empty(KMSRCS)
50         cp -p ${.ALLSRC} ${DESTDIR}/sys/libkern/${MACHINE_ARCH}
51 .endif
52
53 .include <bsd.lib.mk>