mariadb/mit-pthreads/pthreads/Makefile.inc
bk@work.mysql.com f4c589ff6c Import changeset
2000-07-31 21:29:14 +02:00

75 lines
2.2 KiB
Makefile

# from: @(#)Makefile.inc 5.6 (Berkeley) 6/4/91
# pthread sources
.PATH: ${srcdir}/pthreads
SRCS+= cleanup.c cond.c fd.c fd_kern.c fd_pipe.c file.c globals.c malloc.c \
mutex.c pthread.c pthread_attr.c queue.c signal.c machdep.c syscall.S \
pthread_join.c pthread_detach.c pthread_once.c sleep.c specific.c \
process.c wait.c errno.c schedparam.c _exit.c prio_queue.c \
pthread_init.c init.cc sig.c info.c mutexattr.c select.c wrapper.c \
dump_state.c pthread_kill.c condattr.c pthread_cancel.c panic.c
.if $(HAVE_SYSCALL_TEMPLATE) == yes
OBJS+= syscalls.o
.if !defined(NOPIC)
SOBJS+= syscalls.so
SYSCALL_PIC_COMPILE= $(CC) $(CFLAGS) -DSYSCALL_NAME=$$syscall -DPIC -c ${.CURDIR}/syscall-template.S -o ${.OBJDIR}/syscalls/S$$syscall.so
.else
SYSCALL_PIC_COMPILE= true
.endif
.if !defined(NOPROFILE)
POBJS+= syscalls.po
SYSCALL_PROF_COMPILE= $(CC) $(CFLAGS) -DSYSCALL_NAME=$$syscall -pg -c ${.CURDIR}/syscall-template.S -o ${.OBJDIR}/syscalls/S$$syscall.po
.else
SYSCALL_PROF_COMPILE= true
.endif
OPSYS!= uname -s
syscalls.o syscalls.so syscalls.po : syscall-template.S
-rm -rf ${.OBJDIR}/syscalls
mkdir ${.OBJDIR}/syscalls
for syscall in $(AVAILABLE_SYSCALLS) ; do \
case " $(SYSCALL_EXCEPTIONS) " in \
*" "$$syscall" "*) ;; \
*) echo $$syscall ; \
$(CC) $(CFLAGS) -DSYSCALL_NAME=$$syscall -c ${.CURDIR}/syscall-template.S -o ${.OBJDIR}/syscalls/S$$syscall.o ; \
$(SYSCALL_PIC_COMPILE) ; \
$(SYSCALL_PROF_COMPILE) ;; \
esac ; \
done
x=`pwd` && cd ${.OBJDIR}/syscalls && ld -r -o ../syscalls.o *.o && cd $$x
.if !defined(NOPIC)
x=`pwd` && cd ${.OBJDIR}/syscalls && ld -r -o ../syscalls.so *.so && cd $$x
.endif
.if !defined(NOPROFILE)
x=`pwd` && cd ${.OBJDIR}/syscalls && ld -r -o ../syscalls.po *.po && cd $$x
.endif
rm -r ${.OBJDIR}/syscalls
.endif
syscall.o: syscall.S
.if (${OPSYS} == "FreeBSD")
$(CC) -c -x assembler-with-cpp -o syscall.o ${.CURDIR}/syscall.S
.else
cpp ${CPPFLAGS} ${.CURDIR}/syscall.S > syscall.i
as syscall.i
rm syscall.i
mv a.out syscall.o
.endif
syscall.po: syscall.S
.if (${OPSYS} == "FreeBSD")
$(CC) -c -x assembler-with-cpp -o syscall.po ${.CURDIR}/syscall.S
.else
cpp ${CPPFLAGS} ${.CURDIR}/syscall.S > syscall.i
as syscall.i
rm syscall.i
mv a.out syscall.po
.endif
MAN2+=
MAN3+=