GNUmakefile.inc
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:2k
- # from: @(#)Makefile.inc 5.6 (Berkeley) 6/4/91
- # pthread sources
- VPATH := $(VPATH):${srcdir}/pthreads
- SRCS:= cleanup.c cond.c fd.c fd_kern.c fd_pipe.c fd_sysv.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 stat.c readv.c writev.c condattr.c
- pthread_cancel.c panic.c $(SRCS)
- ifeq ($(HAVE_SYSCALL_TEMPLATE),yes)
- SYSCALL_FILTER_RULE= for s in $(AVAILABLE_SYSCALLS) ; do
- case " $(SYSCALL_EXCEPTIONS) " in
- *" "$$s" "*) ;;
- *) echo $$s ;;
- esac ;
- done
- STD_SYSCALLS:=$(shell $(SYSCALL_FILTER_RULE))
- STD_SYSCALL_FILES:= $(addprefix S,$(addsuffix .o,$(STD_SYSCALLS)))
- EXTRA_OBJS := $(EXTRA_OBJS) syscalls.o
- # EXTRA_OBJS := $(EXTRA_OBJS) $(STD_SYSCALL_FILES)
- ifndef SYSCALL_PIC_COMPILE
- SYSCALL_PIC_COMPILE=true
- endif
- obj/syscalls.o: syscall-template.S
- -rm -rf obj/syscalls
- mkdir obj/syscalls
- for syscall in $(STD_SYSCALLS) ; do
- echo $$syscall ;
- $(CC) $(CFLAGS) -DSYSCALL_NAME=$$syscall -c syscall-template.S -o obj/syscalls/S$$syscall.o ;
- $(SYSCALL_PIC_COMPILE) ;
- done
- x=`pwd` && cd obj/syscalls && ld -r -o ../syscalls.o S*.o && cd $$x
- rm -r obj/syscalls
- endif
- syscall.o: ${.CURDIR}/pthreads/syscall.S
- cpp ${CPPFLAGS} ${.CURDIR}/pthreads/syscall.S > syscall.i
- as syscall.i
- rm syscall.i
- mv a.out syscall.o