lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 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 | |
| 8 | subdirs += libpthread/nptl_db |
| 9 | |
| 10 | # Get the thread include dependencies and shared object name |
| 11 | CFLAGS-nptl_db := -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\"" |
| 12 | CFLAGS-nptl_db += -I$(top_srcdir)libpthread/nptl -D_GNU_SOURCE |
| 13 | CFLAGS-nptl_db += -DIS_IN_libthread_db=1 -DNOT_IN_libc -std=gnu99 -I$(top_srcdir)ldso/include |
| 14 | |
| 15 | LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols) |
| 16 | LIBS-libthread_db.so := $(LIBS) |
| 17 | |
| 18 | libthread_db_FULL_NAME := libthread_db-$(VERSION).so |
| 19 | |
| 20 | libthread_db_DIR := $(top_srcdir)libpthread/nptl_db |
| 21 | libthread_db_OUT := $(top_builddir)libpthread/nptl_db |
| 22 | |
| 23 | libthread_db_SRC := $(wildcard $(libthread_db_DIR)/td_*.c) \ |
| 24 | $(libthread_db_DIR)/fetch-value.c |
| 25 | ifeq ($(UCLIBC_SUSV4_LEGACY),) |
| 26 | libthread_db_SRC := $(filter-out td_ta_setconcurrency.c,$(libthread_db_SRC)) |
| 27 | endif |
| 28 | |
| 29 | libthread_db_OBJ := $(patsubst $(libthread_db_DIR)/%.c,$(libthread_db_OUT)/%.o,$(libthread_db_SRC)) |
| 30 | |
| 31 | libthread_db-so-y := $(libthread_db_OBJ:.o=.oS) |
| 32 | ifeq ($(DOPIC),y) |
| 33 | libthread_db-a-y := $(libthread_db-so-y) |
| 34 | else |
| 35 | libthread_db-a-y := $(libthread_db_OBJ) |
| 36 | endif |
| 37 | |
| 38 | libthread_db-multi-y := $(libthread_db_SRC) |
| 39 | |
| 40 | lib-a-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.a |
| 41 | lib-so-$(PTHREADS_DEBUG_SUPPORT) += $(top_builddir)lib/libthread_db.so |
| 42 | objclean-y += CLEAN_libpthread/nptl_db |
| 43 | headers-$(PTHREADS_DEBUG_SUPPORT) += $(nptl_db_headers) |
| 44 | headers_clean-y += HEADERCLEAN_libpthread/nptl_db |
| 45 | |
| 46 | ifeq ($(DOPIC),y) |
| 47 | $(top_builddir)lib/libthread_db.so: $(top_builddir)lib/libthread_db.a $(libc.depend) |
| 48 | else |
| 49 | $(top_builddir)lib/libthread_db.so: $(libthread_db_OUT)/libthread_db_so.a $(libc.depend) |
| 50 | endif |
| 51 | $(call link.so,$(libthread_db_FULL_NAME),1) |
| 52 | |
| 53 | $(libthread_db_OUT)/libthread_db_so.a: $(libthread_db-so-y) |
| 54 | $(Q)$(RM) $@ |
| 55 | $(do_strip) |
| 56 | $(do_ar) |
| 57 | |
| 58 | $(top_builddir)lib/libthread_db.a: $(libthread_db-a-y) | $(top_builddir)lib |
| 59 | $(Q)$(RM) $@ |
| 60 | $(do_strip) |
| 61 | $(do_ar) |
| 62 | |
| 63 | $(top_builddir)include/thread_db.h: |
| 64 | $(do_ln) $(call rel_srcdir)$(PTDIR)_db/$(@F) $@ |
| 65 | |
| 66 | nptl_db_headers:= $(top_builddir)include/thread_db.h |
| 67 | |
| 68 | HEADERCLEAN_libpthread/nptl_db: |
| 69 | $(do_rm) $(nptl_db_headers) |
| 70 | |
| 71 | CLEAN_libpthread/nptl_db: |
| 72 | $(do_rm) $(addprefix $(libthread_db_OUT)/*., o oS a) |