LIB=lthread .if defined(LINUXTHREADS_WRAP_API) .if defined(USING_GCC4) SHLIB_MAJOR= 7 .elif defined(USING_GCC3) SHLIB_MAJOR= 5 .else SHLIB_MAJOR= 4 .endif .else .if defined(USING_GCC4) SHLIB_MAJOR= 6 .elif defined(USING_GCC3) SHLIB_MAJOR= 3 .else SHLIB_MAJOR= 2 .endif .endif SHLIB_MINOR= 2 .if defined(INSTALL_LIBLTHREAD_PIC_ARCHIVE) INSTALL_PIC_ARCHIVE= yes .endif .if !defined(MACHINE_ARCH) MACHINE_ARCH != /usr/bin/uname -m .endif .if !defined(LIBSRC_BASE) LIBSRC_BASE = /usr/src/lib .endif .if !defined(PREFIX) PREFIX= ${DESTDIR}/usr/local .endif LIBDIR= ${PREFIX:S,^${DESTDIR},,}/lib CFLAGS +=-g -O2 -Wall #CFLAGS +=-g -O0 -Wall -DDEBUG CFLAGS +=-DCOMPILING_LINUXTHREADS #CFLAGS += -D__NO_WEAK_PTHREAD_ALIASES CFLAGS += -I${.CURDIR} CFLAGS += -I${.CURDIR}/sysdeps/${MACHINE_ARCH} CFLAGS += -I${.CURDIR}/sysdeps/pthread CFLAGS += -I${.CURDIR}/sysdeps/unix/sysv/linux CFLAGS += -I${LIBSRC_BASE}/libc/stdtime #CFLAGS += -I${LIBSRC_BASE}/libc/${MACHINE_ARCH} CFLAGS += -DLIBC_RCS CFLAGS += -DLINUXTHREADS CFLAGS += -D__USE_UNIX98 CFLAGS += -D__USE_XOPEN2K -D_STACK_GROWS_DOWN -DNEWLIBC -D_THREAD_SAFE .if defined(LINUXTHREADS_MAX_STACK_SIZE) CFLAGS += -DSTACK_SIZE=$(LINUXTHREADS_MAX_STACK_SIZE) .endif .if defined(LINUXTHREADS_MAX_THREADS) CFLAGS += -DPTHREAD_THREADS_MAX=$(LINUXTHREADS_MAX_THREADS) .endif .if defined(LINUXTHREADS_DETECT_UNSAFE_EXIT) CFLAGS += -DLINUXTHREADS_DETECT_UNSAFE_EXIT .endif .if defined(LINUXTHREADS_WRAP_API) CFLAGS += -DLINUXTHREADS_WRAP_API LD=${LINUXTHREADS_WRAP_LD} .endif .if defined(LINUXTHREADS_NO_POSIX_PRIORITY_SCHEDULING) CFLAGS += -DLINUXTHREADS_NO_POSIX_PRIORITY_SCHEDULING .endif .if defined(LINUXTHREADS_ALT_RESTARTSIG) CFLAGS += -DLINUXTHREADS_ALT_RESTARTSIG=${LINUXTHREADS_ALT_RESTARTSIG} .endif CFLAGS += -I${LIBSRC_BASE}/libc/${MACHINE_ARCH} -I${.CURDIR}/sysdeps/${MACHINE_ARCH} # Contents of the library. SRCS := attr.c cancel.c clone.S condvar.c errno.c getgr_r.c gethostby_r.c \ getnetby_r.c getprotoby_r.c getpw_r.c getservby_r.c join.c lclone.c \ libc_calls.c libc_thread.c manager.c mutex.c pt-machine.c ptfork.c \ pthread.c ptlongjmp.c rwlock.c sched.c semaphore.c signals.c \ specific.c spinlock.c uthread_file.c wraputhread.c wrapsyscall.c \ barrier.c localtime.c getlogin.c telldir.c ttyname.c strptime.c .if defined(USING_GCC4) SOBJS += libgcc_r/unwind-sjlj.o libgcc_r/unwind-dw2.o libgcc_r/unwind-dw2-fde-glibc.o .elif defined(USING_GCC3) SOBJS += libgcc_r/unwind-sjlj.o libgcc_r/unwind-dw2.o libgcc_r/unwind-dw2-fde.o .else SOBJS += libgcc_r/frame.o libgcc_r/_eh.o .endif beforeinstall: ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 0755 \ ${PREFIX}/include/pthread/linuxthreads ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ ${.CURDIR}/sysdeps/pthread/pthread.h \ ${PREFIX}/include/pthread/linuxthreads/pthread.h ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ ${.CURDIR}/semaphore.h \ ${PREFIX}/include/pthread/linuxthreads/semaphore.h ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 0755 \ ${PREFIX}/include/pthread/linuxthreads/bits .for hdr in libc-lock.h libc-tsd.h pthreadtypes.h stdio-lock.h initspin.h ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ ${.CURDIR}/sysdeps/pthread/bits/$(hdr) \ ${PREFIX}/include/pthread/linuxthreads/bits/$(hdr) .endfor .for hdr in local_lim.h posix_opt.h sigthread.h ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ ${.CURDIR}/sysdeps/unix/sysv/linux/bits/$(hdr) \ ${PREFIX}/include/pthread/linuxthreads/bits/$(hdr) .endfor ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 0755 \ ${PREFIX}/include/pthread/linuxthreads/sys .for hdr in _pthreadtypes.h ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ ${.CURDIR}/sys/$(hdr) \ ${PREFIX}/include/pthread/linuxthreads/sys/$(hdr) .endfor .for hdr in pt-machine.h useldt.h ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ ${.CURDIR}/sysdeps/i386/$(hdr) \ ${PREFIX}/include/pthread/linuxthreads/$(hdr) .endfor ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 0755 ${PREFIX}/lib .include .if defined(LINUXTHREADS_WRAP_API) .c.o: ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} @mv ${.TARGET}.tmp ${.TARGET} .c.po: ${CC} -pg ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -X -r ${.TARGET} @mv ${.TARGET}.tmp ${.TARGET} .c.So: ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} @${LD} ${LDFLAGS} -o ${.TARGET}.tmp -x -r ${.TARGET} @mv ${.TARGET}.tmp ${.TARGET} .endif