From b6cfa5f080db02f4e7426457511278d3e2d96d67 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Wed, 19 Oct 2005 14:34:51 +0000 Subject: 2 more examples that show the handling of different objects in lib*.so and lib*.a, also handle arch specific optimized versions --- ldso/libdl/Makefile.in | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 ldso/libdl/Makefile.in (limited to 'ldso') diff --git a/ldso/libdl/Makefile.in b/ldso/libdl/Makefile.in new file mode 100644 index 000000000..b3dca7d9c --- /dev/null +++ b/ldso/libdl/Makefile.in @@ -0,0 +1,51 @@ +# Makefile.in for uClibc +# +# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details. +# + +CFLAGS+=$(SSP_ALL_CFLAGS) -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" + +ifeq ($(SUPPORT_LD_DEBUG),y) +CFLAGS+=-D__SUPPORT_LD_DEBUG__ +endif + +# BEWARE!!! At least mips* will die if -O0 is used!!! +ifeq ($(TARGET_ARCH),mips) +CFLAGS:=$(CFLAGS:-O0=-O1) +endif + +CFLAGS:=-I$(top_srcdir)ldso/include -I$(top_srcdir)ldso/ldso $(CFLAGS) + +CFLAGS-.os=-DSHARED +# we adapt CFLAGS, because libdl.a has an additional object +ifeq ($(DOPIC),y) +CFLAGS-.o=$(PICFLAG) +resolv:=$(top_builddir)ldso/$(TARGET_ARCH)/resolv.os +else +resolv:=$(top_builddir)ldso/$(TARGET_ARCH)/resolv.o +endif + +EXTRA_LINK_OPTS:=-fini dl_cleanup +#EXTRA_LINK_LIBS:=$(interp) -L$(top_builddir)lib -lc $(LDADD_LIBFLOAT) $(top_builddir)lib/$(UCLIBC_LDSO) $(LIBGCC) + +# we need for all cases a "full" libdl.a the pic version used to build libdl.so misses $(resolv) +# because it is linked against ld.so +DOPIC=n + +LIB_NAME:=libdl +srcdir=$(top_srcdir)ldso/$(LIB_NAME) +$(LIB_NAME)_DIR:=$(top_builddir)ldso/$(LIB_NAME) + +$(LIB_NAME)_SRC:=$(srcdir)/libdl.c + +libso-$(HAVE_SHARED)+=$(top_builddir)lib/$(LIB_NAME).so +liba-$(HAVE_SHARED)+=$(top_builddir)lib/$(LIB_NAME).a +libclean-y+=$(LIB_NAME)_clean + +include $(top_srcdir)Makefile.libs + +# !!! these lines have to come after including Makefile.libs !!! +EXTRA_LINK_LIBS+=$(top_builddir)lib/$(UCLIBC_LDSO) + +# should only go into libdl.a, OBJ_PIC is not modified here +$(LIB_NAME)_OBJ+=$(resolv) -- cgit v1.2.3