# Makefile for uClibc
#
# Copyright (C) 2003 Paul Mundt <lethal@linux-sh.org>
# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#

CFLAGS+=$(SSP_ALL_CFLAGS)

# This stuff will not compile without at least -O1
CFLAGS:=$(CFLAGS:-O0=-O1)

LDFLAGS:=$(LDFLAGS_NOSTRIP)

ifeq ($(UCLIBC_CTOR_DTOR),y)
SHARED_START_FILES:=$(top_builddir)lib/crti.o $(LIBGCC_DIR)crtbeginS.o
SHARED_END_FILES:=$(LIBGCC_DIR)crtendS.o $(top_builddir)lib/crtn.o
endif

ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
STRIP_FLAGS:=-X --strip-debug -R .note -R .comment
endif

DOMULTI=n

LIB_NAME:=libpthread

libpthread_DIR:=$(top_srcdir)libpthread/linuxthreads
libpthread_OUT:=$(top_builddir)libpthread/linuxthreads

ARCH_CFLAGS:=$(CFLAGS)
-include $(libpthread_DIR)/sysdeps/$(TARGET_ARCH)/Makefile.arch
CFLAGS:=$(ARCH_CFLAGS)

libpthread_SRC:=$(wildcard $(libpthread_DIR)/*.c)
ifneq ($(UCLIBC_HAS_XLOCALE),y)
libpthread_SRC:=$(filter-out $(libpthread_DIR)/locale.c,$(libpthread_SRC))
endif

ifneq ($(DOMULTI),n)
libpthread_NO_MULTI:=manager.c pt-machine.c
libpthread_SRC:=$(filter-out $(patsubst %.c,$(libpthread_DIR)/%.c,$(libpthread_NO_MULTI)),$(libpthread_SRC))
endif

# remove generic sources, if arch specific version is present
ifneq ($(strip $(libpthread_ARCH_SRC)),)
libpthread_SRC:=$(filter-out $(patsubst %.c,$(libpthread_DIR)/%.c,$(notdir $(libpthread_ARCH_SRC))),$(libpthread_SRC))
endif

libpthread_OBJ:=$(patsubst $(libpthread_DIR)/%.c,$(libpthread_OUT)/%.o,$(libpthread_SRC))

libpthread-a-$(UCLIBC_HAS_THREADS)+=$(libpthread_OBJ)
libpthread-so-$(UCLIBC_HAS_THREADS)+=$(libpthread_OBJ:.o=.os)

libpthread-multi-$(UCLIBC_HAS_THREADS)+=$(libpthread_SRC)
libpthread-nomulti-$(UCLIBC_HAS_THREADS)+=$(patsubst %.c,$(libpthread_OUT)/%.o,$(libpthread_NO_MULTI))

objclean-y+=libpthread_clean

lib-a-$(UCLIBC_HAS_THREADS)+=$(top_builddir)lib/libpthread.a
lib-so-$(UCLIBC_HAS_THREADS)+=$(top_builddir)lib/libpthread.so