summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads/Makefile.in
blob: ed24d3f5cd54192d9dd6d33e762defc5e5a39de1 (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
# Makefile.in for uClibc
#
# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
#

CFLAGS+=$(SSP_ALL_CFLAGS)

# Get the thread include dependencies
CFLAGS+=$(PTINC)

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

ARCH_CFLAGS:=$(CFLAGS)

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

LIB_NAME:=libpthread
srcdir=$(top_srcdir)$(LIB_NAME)/linuxthreads
$(LIB_NAME)_DIR:=$(top_builddir)$(LIB_NAME)/linuxthreads

$(LIB_NAME)_SRC:=$(wildcard $(srcdir)/*.c)
ifneq ($(UCLIBC_HAS_XLOCALE),y)
$(LIB_NAME)_SRC:=$(filter-out $(srcdir)/locale.c,$($(LIB_NAME)_SRC))
endif

ARCH_DIR:=sysdeps/$(TARGET_ARCH)
-include $(srcdir)/$(ARCH_DIR)/Makefile.in

$(LIB_NAME)_ARCH_SRC:=$(wildcard $(srcdir)/$(ARCH_DIR)/*.c)
$(LIB_NAME)_ARCH_OBJ:=$(patsubst $(srcdir)/$(ARCH_DIR)/%.c,$($(LIB_NAME)_DIR)/$(ARCH_DIR)/%.o,$($(LIB_NAME)_ARCH_SRC))

# remove generic sources, if arch specific version is present
$(LIB_NAME)_NO_SRC:=$(patsubst $(srcdir)/$(ARCH_DIR)/%.c,$(srcdir)/%.c,$($(LIB_NAME)_ARCH_SRC))
$(LIB_NAME)_SRC:=$(filter-out $($(LIB_NAME)_NO_SRC),$($(LIB_NAME)_SRC))
# add arch specific sources (assumed that these are not multi-sources)
$(LIB_NAME)_SRC+=$($(LIB_NAME)_ARCH_SRC)

$(LIB_NAME)_arch_clean:
	$(RM) $($(LIB_NAME)_DIR)/sysdeps/*/*.{o,os}

libso-$(UCLIBC_HAS_THREADS)+=$(top_builddir)lib/$(LIB_NAME).so
liba-$(UCLIBC_HAS_THREADS)+=$(top_builddir)lib/$(LIB_NAME).a
libclean-y+=$(LIB_NAME)_clean $(LIB_NAME)_arch_clean

include $(top_srcdir)Makefile.libs