2 L4DIR ?= $(PKGDIR)/../..
4 TARGET = libpthread.a libpthread.so
6 PC_FILENAME = libpthread
7 PC_LIBS_libpthread := -lpthread
9 CONTRIBDIR = $(PKGDIR)/../uclibc/lib/contrib/uclibc
10 LDSODIR = $(CONTRIBDIR)/ldso/ldso
18 SRC_CC = manager.cc l4.cc
19 SRC_C += spinlock.c mutex.c condvar.c rwlock.c errno.c specific.c \
20 semaphore.c attr.c barrier.c join.c pthread.c \
21 cancel.c ptcleanup.c errno-loc.c signals.c \
22 sysdeps/$(DIR_$(ARCH))/pspinlock.c
23 SRC_C_libpthread.a += libc_pthread_init.c
24 SRC_S = tramp-$(ARCH).S
25 SO_INIT = so_init-$(ARCH)
27 vpath %.c $(SRC_DIR)/sysdeps/generic
30 INCDIR-x86 = $(SRC_DIR)/sysdeps/i386/i686 $(SRC_DIR)/sysdeps/i386 \
32 $(LDSODIR)/$(DIR_$(ARCH))
33 INCDIR-amd64 = $(SRC_DIR)/sysdeps/$(DIR_$(ARCH))
34 INCDIR-arm = $(SRC_DIR)/sysdeps/arm
35 INCDIR-ppc32 = $(SRC_DIR)/sysdeps/powerpc \
36 $(CONTRIBDIR)/libpthread/linuxthreads/sysdeps/powerpc
37 INCDIR-sparc = $(SRC_DIR)/sysdeps/sparc \
38 $(CONTRIBDIR)/libpthread/linuxthreads/sysdeps/sparc
40 PRIVATE_INCDIR = $(SRC_DIR) $(INCDIR-$(ARCH)) $(CONTRIBDIR)/ldso/include
42 DEFINES := -DL4_THREAD_SAFE -D__USE_XOPEN2K -D_POSIX_C_SOURCE=200112L \
43 -D_GNU_SOURCE=1 -D__NO_WEAK_PTHREAD_ALIASES=1 \
44 -D_LIBC=1 -DIS_IN_libpthread=1 -DNOT_IN_libc=1
46 DEFINES_x86-l4f := -DUSE___THREAD=1
47 DEFINES_amd64-l4f := -DUSE___THREAD=1
48 DEFINES_arm-l4f := -DUSE___THREAD=1
49 DEFINES_ppc32-l4f := -DUSE___THREAD=1
50 DEFINES_sparc-l4f := -DUSE___THREAD=1
52 CFLAGS += -include $(CONTRIBDIR)/include/libc-symbols.h
53 CXXFLAGS += -include $(CONTRIBDIR)/include/libc-symbols.h
54 CXXFLAGS += -fno-exceptions
56 include $(L4DIR)/mk/lib.mk
57 CRT0 = $(CRTI_so) $(SO_INIT).s.o $(CRTBEGIN_so) $(CRT1_so)
59 CFLAGS := $(filter-out -Wextra,$(CFLAGS))
60 CXXFLAGS := $(filter-out -Wextra,$(CXXFLAGS))
63 libpthread.so: $(SO_INIT).s.o