3 # Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
5 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
10 CFLAGS-librt
:= -DNOT_IN_libc
-DIS_IN_librt
$(SSP_ALL_CFLAGS
)
12 LDFLAGS-
$(UCLIBC_FORMAT_DSBT_ELF
)-librt.so
:= -Wl
,--dsbt-index
=9
13 LDFLAGS-librt.so
:= $(LDFLAGS
)
14 LIBS-librt.so
:= $(LIBS
)
15 ifeq ($(UCLIBC_HAS_THREADS_NATIVE
),y
)
16 LIBS-librt.so
+= $(top_builddir
)lib
/libpthread.so \
17 $(CC_FLAG_ASNEEDED
) $(top_builddir
)lib
/libdl.so
$(CC_FLAG_NO_ASNEEDED
)
20 librt_FULL_NAME
:= librt-
$(VERSION
).so
22 librt_DIR
:= $(top_srcdir
)librt
23 librt_OUT
:= $(top_builddir
)librt
25 librt_SRC
:= $(notdir $(wildcard $(librt_DIR
)/*.c
))
27 ifeq ($(UCLIBC_HAS_THREADS_NATIVE
),y
)
28 librt_filter_SRC
+= mq_notify.c timer_create.c timer_delete.c \
29 timer_getoverr.c timer_gettime.c timer_settime.c
30 # these should really be guarded by ADVANCED_REALTIME, we use them in mq_send.c/mq_receive.c
31 librt_SSRC
:= $(wildcard $(librt_DIR
)/*.S
)
33 librt_filter_SRC
+= clock_nanosleep.c clock_getcpuclockid.c clock_gettime.c
37 librt_filter_SRC
+= $(if
$(UCLIBC_HAS_ADVANCED_REALTIME
),, \
39 spawn_faction_addclose.c \
40 spawn_faction_adddup2.c \
41 spawn_faction_addopen.c \
44 librt_filter_SRC
+= $(if
$(UCLIBC_HAS_STUBS
),,rt_stubs.c
)
45 librt_filter_SRC
+= $(if
$(HAS_NO_THREADS
),dso_handle.c
)
47 librt_SRC
:= $(filter-out $(librt_filter_SRC
),$(librt_SRC
))
48 librt_OBJ
:= $(patsubst %.c
,$(librt_OUT
)/%.o
,$(librt_SRC
))
49 librt_OBJ
+= $(patsubst $(librt_DIR
)/%.S
,$(librt_OUT
)/%.o
,$(librt_SSRC
))
51 ASFLAGS-mq_timedreceive.S
= -D_LIBC_REENTRANT
52 ASFLAGS-mq_timedsend.S
= -D_LIBC_REENTRANT
55 librt-a-y
+= $(librt_OBJ
:.o
=.os
)
57 librt-a-y
+= $(librt_OBJ
)
59 librt-so-y
+= $(librt_OBJ
:.o
=.oS
)
61 ifeq ($(UCLIBC_HAS_REALTIME
),y
)
62 lib-a-y
+= $(top_builddir
)lib
/librt.a
63 lib-so-y
+= $(top_builddir
)lib
/librt.so
66 librt-dep-y
:= $(libc.depend
)
67 librt-dep-
$(UCLIBC_HAS_THREADS_NATIVE
) += $(libpthread.depend
) $(libdl.depend
)
69 # for NPTL we need SHARED regardless of DOPIC
70 ifeq ($(if
$(UCLIBC_HAS_THREADS_NATIVE
),,$(DOPIC
)),y
)
71 $(top_builddir
)lib
/librt.so
: $(top_builddir
)lib
/librt.a
$(librt-dep-y
)
73 $(top_builddir
)lib
/librt.so
: $(librt_OUT
)/librt_so.a
$(librt-dep-y
)
75 $(call link.so
,$(librt_FULL_NAME
),$(ABI_VERSION
))
77 $(librt_OUT
)/librt_so.a
: $(librt-so-y
)
81 $(top_builddir
)lib
/librt.a
: $(librt-a-y
)
85 objclean-y
+= CLEAN_librt
88 $(do_rm
) $(addprefix $(librt_OUT
)/*.
, o os oS a
)