1bb535300SJeff Roberson# $FreeBSD$ 2bb535300SJeff Roberson# 3bb535300SJeff Roberson# All library objects contain FreeBSD revision strings by default; they may be 4bb535300SJeff Roberson# excluded as a space-saving measure. To produce a library that does 5bb535300SJeff Roberson# not contain these strings, add -DSTRIP_FBSDID (see <sys/cdefs.h>) to CFLAGS 6bb535300SJeff Roberson# below. Note, there are no IDs for syscall stubs whose sources are generated. 7bb535300SJeff Roberson# To included legacy CSRG sccsid strings, add -DLIBC_SCCS and -DSYSLIBC_SCCS 8bb535300SJeff Roberson# (for system call stubs) to CFLAGS below. -DSYSLIBC_SCCS affects just the 9bb535300SJeff Roberson# system call stubs. 105740a2b6SRuslan Ermilov 1118b2ee82SBaptiste DaroussinSHLIBDIR?= /lib 12241715e7SRuslan Ermilov 13c6063d0dSWarner Losh.include <src.opts.mk> 14d9ca85fcSRuslan ErmilovMK_SSP= no 1500fb440cSDaniel Eischen 16bb535300SJeff RobersonLIB=thr 17419ecd5dSDaniel EischenSHLIB_MAJOR= 3 18e03efb02SRuslan ErmilovWARNS?= 3 19a091d823SDavid XuCFLAGS+=-DPTHREAD_KERNEL 20bb535300SJeff RobersonCFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \ 21bb535300SJeff Roberson -I${.CURDIR}/../../include 22f4fbf9c8SNathan WhitehornCFLAGS+=-I${.CURDIR}/arch/${MACHINE_CPUARCH}/include 23a091d823SDavid XuCFLAGS+=-I${.CURDIR}/sys 24e6f19330SDoug RabsonCFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf 2510f3ae58SWarner LoshCFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_CPUARCH} 26d245d9e1SDavid XuCFLAGS+=-I${.CURDIR}/../libthread_db 27a091d823SDavid XuCFLAGS+=-Winline 283832fd24SDavid Xu 29f4213b90SDavid Xu.ifndef NO_THREAD_UNWIND_STACK 300935fc89SDavid XuCFLAGS+=-fexceptions 313832fd24SDavid XuCFLAGS+=-D_PTHREAD_FORCED_UNWIND 323832fd24SDavid Xu.endif 333832fd24SDavid Xu 346d772c3bSKonstantin BelousovLDFLAGS+=-Wl,-znodelete 35a091d823SDavid Xu 36a9b9744fSDag-Erling SmørgravVERSION_DEF=${.CURDIR}/../libc/Versions.def 37a9b9744fSDag-Erling SmørgravSYMBOL_MAPS=${.CURDIR}/pthread.map 38bb535300SJeff Roberson 395335c6bcSRobert WatsonMAN= libthr.3 405335c6bcSRobert Watson 41*e13c6045SKonstantin Belousov# enable extra internal consistency checks 4244a31c2dSDavid XuCFLAGS+=-D_PTHREADS_INVARIANTS 43bb535300SJeff Roberson 44a35d8893SRuslan ErmilovPRECIOUSLIB= 45bb535300SJeff Roberson 4610f3ae58SWarner Losh.PATH: ${.CURDIR}/arch/${MACHINE_CPUARCH}/${MACHINE_CPUARCH} 4710f3ae58SWarner Losh 4820fe2c94SAndrew Turner.if exists(${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc) 49f4fbf9c8SNathan Whitehorn.include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc" 5020fe2c94SAndrew Turner.endif 51a091d823SDavid Xu.include "${.CURDIR}/sys/Makefile.inc" 52a091d823SDavid Xu.include "${.CURDIR}/thread/Makefile.inc" 53bb535300SJeff Roberson 54455cc6ecSJung-uk Kim.if ${MK_INSTALLLIB} != "no" 5555ac4c35SDavid XuSYMLINKS+=lib${LIB}.a ${LIBDIR}/libpthread.a 56455cc6ecSJung-uk Kim.endif 5755ac4c35SDavid Xu.if !defined(NO_PIC) 5884e709f1SRuslan ErmilovSYMLINKS+=lib${LIB}.so ${LIBDIR}/libpthread.so 5955ac4c35SDavid Xu.endif 605740a2b6SRuslan Ermilov.if ${MK_PROFILE} != "no" 6155ac4c35SDavid XuSYMLINKS+=lib${LIB}_p.a ${LIBDIR}/libpthread_p.a 6255ac4c35SDavid Xu.endif 6355ac4c35SDavid Xu 641119ece4SEnji Cooper.if ${MK_TESTS} != "no" 651119ece4SEnji CooperSUBDIR+= tests 661119ece4SEnji Cooper.endif 673eee258dSEnji Cooper 68bb535300SJeff Roberson.include <bsd.lib.mk> 69