summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads/Makefile.in
blob: 3e705d15c3b811474e67282a34befd409bbe2058 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# 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)
# full list, we added the biggest one to IMA
#libpthread_NO_MULTI:=cancel.c condvar.c join.c manager.c mutex.c oldsemaphore.c pt-machine.c pthread.c rwlock.c semaphore.c specific.c spinlock.c
libpthread_NO_MULTI:=cancel.c condvar.c join.c manager.c mutex.c oldsemaphore.c pt-machine.c rwlock.c semaphore.c specific.c spinlock.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