1 # Makefile for uClibc (libubacktrace)
3 # Copyright (C) 2010 STMicroelectronics Ltd
4 # Author: Carmelo Amoroso <carmelo.amoroso@st.com>
6 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
9 subdirs
+= libubacktrace libubacktrace
/$(TARGET_ARCH
)
11 CFLAGS-libubacktrace
:= -DNOT_IN_libc
-DIS_IN_libubacktrace
$(SSP_ALL_CFLAGS
)
13 libubacktrace_DIR
:= $(top_srcdir
)libubacktrace
14 libubacktrace_OUT
:= $(top_builddir
)libubacktrace
16 libubacktrace_ARCH_DIR
:=$(libubacktrace_DIR
)/$(TARGET_ARCH
)
17 libubacktrace_ARCH_OUT
:=$(libubacktrace_OUT
)/$(TARGET_ARCH
)
19 -include $(libubacktrace_ARCH_DIR
)/Makefile.arch
21 libubacktrace_SRC-y
:=
22 libubacktrace_SRC-
$(UCLIBC_HAS_BACKTRACE
) := backtracesyms.c backtracesymsfd.c
23 libubacktrace_SRC_SHARED-
$(UCLIBC_HAS_BACKTRACE
) := backtrace.c
25 # remove generic sources, if arch specific version is present
26 ifneq ($(strip $(libubacktrace_ARCH_SRC-y
)),)
27 libubacktrace_SRC-y
:= $(filter-out $(notdir $(libubacktrace_ARCH_SRC-y
)),$(libubacktrace_SRC-y
))
28 libubacktrace_SRC_SHARED-y
:= $(filter-out $(notdir $(libubacktrace_ARCH_SRC-y
)),$(libubacktrace_SRC_SHARED-y
))
31 # -fasynchronous-unwind-tables is required for backtrace to work using dwarf2
32 CFLAGS-backtrace.c
:= -fasynchronous-unwind-tables
34 libubacktrace_SRCS
:= $(patsubst %.c
,$(libubacktrace_DIR
)/%.c
,$(libubacktrace_SRC-y
))
35 libubacktrace_OBJS
:= $(patsubst $(libubacktrace_DIR
)/%.c
,$(libubacktrace_OUT
)/%.o
,$(libubacktrace_SRCS
))
37 libubacktrace_SHARED_SRCS
:= $(patsubst %.c
,$(libubacktrace_DIR
)/%.c
,$(libubacktrace_SRC_SHARED-y
))
38 libubacktrace_SHARED_OBJS
:= $(patsubst $(libubacktrace_DIR
)/%.c
,$(libubacktrace_OUT
)/%.o
,$(libubacktrace_SHARED_SRCS
))
40 libubacktrace-shared-y
:= $(libubacktrace_SHARED_OBJS
:.o
=.oS
)
41 libubacktrace-static-y
:= $(libubacktrace_SHARED_OBJS
)
44 libubacktrace-a-y
+= $(libubacktrace_OBJS
:.o
=.os
) $(libubacktrace-static-y
:.o
=.os
)
46 libubacktrace-a-y
+= $(libubacktrace_OBJS
) $(libubacktrace-static-y
)
48 libubacktrace-so-y
+= $(libubacktrace_OBJS
:.o
=.os
) $(libubacktrace-shared-y
)
51 objclean-y
+= CLEAN_libubacktrace
53 $(libubacktrace_OUT
)/libubacktrace.oS
: $(libubacktrace_SRCS
) $(libubacktrace_ARCH_SRCS
) $(libubacktrace_SHARED_SRCS
)
58 $(do_rm
) $(addprefix $(libubacktrace_OUT
)/*.
, o os oS a
)