# $FreeBSD$ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does # not contain these strings, add -DSTRIP_FBSDID (see ) to CFLAGS # below. Note, there are no IDs for syscall stubs whose sources are generated. # To included legacy CSRG sccsid strings, add -DLIBC_SCCS and -DSYSLIBC_SCCS # (for system call stubs) to CFLAGS below. -DSYSLIBC_SCCS affects just the # system call stubs. SHLIBDIR?= /lib .include MK_SSP= no LIB=thr SHLIB_MAJOR= 3 WARNS?= 3 CFLAGS+=-DPTHREAD_KERNEL CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \ -I${.CURDIR}/../../include CFLAGS+=-I${.CURDIR}/arch/${MACHINE_CPUARCH}/include CFLAGS+=-I${.CURDIR}/sys CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_CPUARCH} CFLAGS+=-I${.CURDIR}/../libthread_db CFLAGS+=-Winline .ifndef NO_THREAD_UNWIND_STACK CFLAGS+=-fexceptions CFLAGS+=-D_PTHREAD_FORCED_UNWIND .endif LDFLAGS+=-Wl,-znodelete VERSION_DEF=${.CURDIR}/../libc/Versions.def SYMBOL_MAPS=${.CURDIR}/pthread.map MAN= libthr.3 # enable extra internal consistancy checks CFLAGS+=-D_PTHREADS_INVARIANTS #CFLAGS+=-g PRECIOUSLIB= .PATH: ${.CURDIR}/arch/${MACHINE_CPUARCH}/${MACHINE_CPUARCH} .include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc" .include "${.CURDIR}/sys/Makefile.inc" .include "${.CURDIR}/thread/Makefile.inc" .if ${MK_INSTALLLIB} != "no" SYMLINKS+=lib${LIB}.a ${LIBDIR}/libpthread.a .endif .if !defined(NO_PIC) SYMLINKS+=lib${LIB}.so ${LIBDIR}/libpthread.so .endif .if ${MK_PROFILE} != "no" SYMLINKS+=lib${LIB}_p.a ${LIBDIR}/libpthread_p.a .endif .if !defined(WITHOUT_SYSCALL_COMPAT) CFLAGS+=-DSYSCALL_COMPAT .endif .include .SUFFIXES: .pro PRO_FLAGS = -DLOCK_PROFILING _LIBS += libthr_profile.a .c.pro: ${CC} ${PRO_FLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} .S.pro: ${CC} ${PRO_FLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} PROBJS = ${OBJS:.o=.pro} CLEANFILES += ${PROBJS} thr_profile.a thr_profile_p.a libthr_profile.a: ${PROBJS} @${ECHO} building lock profiling library libthr_profile.a @rm -f ${.TARGET} .if !defined(NM) @${AR} cq ${.TARGET} `lorder ${PROBJS} | tsort -q` ${ARADD} .else @${AR} cq ${.TARGET} `NM='${NM}' lorder ${PROBJS} | tsort -q` ${ARADD} .endif ${RANLIB} ${.TARGET} all: libthr_profile.a realinstall: ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${_INSTALLFLAGS} libthr_profile.a ${DESTDIR}${LIBDIR}