1# Makefile for uClibc 2# 3# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org> 4# 5# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. 6# 7 8subdirs += libpthread/nptl_db 9 10# Get the thread include dependencies and shared object name 11CFLAGS-libpthread/nptl_db := -DNOT_IN_libc \ 12 -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\"" \ 13 -std=gnu99 -D_GNU_SOURCE \ 14 -I$(top_srcdir)libpthread/nptl \ 15 -I$(top_srcdir)ldso/include 16 17LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols) 18LIBS-libthread_db.so := $(LIBS) 19 20libthread_db_FULL_NAME := libthread_db-$(VERSION).so 21 22libthread_db_DIR := $(top_srcdir)libpthread/nptl_db 23libthread_db_OUT := $(top_builddir)libpthread/nptl_db 24 25libthread_db_SRC := $(notdir $(wildcard $(libthread_db_DIR)/td_*.c) \ 26 $(libthread_db_DIR)/fetch-value.c) 27ifeq ($(UCLIBC_SUSV4_LEGACY),) 28libthread_db_SRC := $(filter-out td_ta_setconcurrency.c,$(libthread_db_SRC)) 29endif 30 31libthread_db_OBJ := $(addprefix $(libthread_db_OUT)/,$(libthread_db_SRC:.c=.o)) 32 33libthread_db-so-y := $(libthread_db_OBJ:.o=.oS) 34ifeq ($(DOPIC),y) 35libthread_db-a-y := $(libthread_db-so-y) 36else 37libthread_db-a-y := $(libthread_db_OBJ) 38endif 39 40libthread_db-multi-y := $(addprefix $(libthread_db_DIR)/,$(libthread_db_SRC)) 41 42lib-a-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.a 43lib-so-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.so 44objclean-y += CLEAN_libpthread/nptl_db 45headers-$(PTHREADS_DEBUG_SUPPORT) += $(nptl_db_headers) 46headers_clean-y += HEADERCLEAN_libpthread/nptl_db 47 48ifeq ($(DOPIC),y) 49$(top_builddir)lib/libthread_db.so: $(top_builddir)lib/libthread_db.a $(libc.depend) 50else 51$(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db_so.a $(libc.depend) 52endif 53 $(call link.so,$(libthread_db_FULL_NAME),1) 54 55$(libthread_db_OUT)/libthread_db_so.a: $(libthread_db-so-y) 56 $(Q)$(RM) $@ 57 $(do_strip) 58 $(do_ar) 59 60$(top_builddir)lib/libthread_db.a: $(libthread_db-a-y) | $(top_builddir)lib 61 $(Q)$(RM) $@ 62 $(do_strip) 63 $(do_ar) 64 65$(top_builddir)include/thread_db.h: 66 $(do_ln) $(call rel_srcdir)$(PTDIR)_db/$(@F) $@ 67 68nptl_db_headers:= $(top_builddir)include/thread_db.h 69 70HEADERCLEAN_libpthread/nptl_db: 71 $(do_rm) $(nptl_db_headers) 72 73CLEAN_libpthread/nptl_db: 74 $(do_rm) $(addprefix $(libthread_db_OUT)/*., o oS a) 75