Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/nss/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'nss/Makefile.am')
-rw-r--r--nss/Makefile.am36
1 files changed, 27 insertions, 9 deletions
diff --git a/nss/Makefile.am b/nss/Makefile.am
index b149a46..c73eccf 100644
--- a/nss/Makefile.am
+++ b/nss/Makefile.am
@@ -1,5 +1,6 @@
# Makefile.am - use automake to generate Makefile.in
#
+# Copyright (C) 2006 Luke Howard
# Copyright (C) 2006 West consulting
# Copyright (C) 2006 Arthur de Jong
#
@@ -18,16 +19,33 @@
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
# MA 02110-1301 USA
-noinst_LIBRARIES = libnss.a
noinst_PROGRAMS = nss_ldap.so
+AM_CFLAGS = -fPIC
-libnss_a_SOURCES = common.c common.h prototypes.h \
- ../nslcd.h ../nslcd-common.h \
- aliases.c ethers.c group.c hosts.c netgroup.c \
- networks.c passwd.c protocols.c rpc.c services.c \
- shadow.c
+# determin version numbers to use in installed files
+LIBC_VERS = `ls /lib/libc-*.so | tail -n 1 |sed -e 's/\/lib\/libc-\(.*\)\.so/\1/'`
+NSS_VERS = $(shell ls /lib/libnss_files.so.? | tail -n 1 | sed -e 's/\/lib\/libnss_files\.so\.\(.*\)/\1/')
+NSS_LDAP_LIBC_VERSIONED = libnss_ldap-$(LIBC_VERS).so
+NSS_LDAP_NSS_VERSIONED = libnss_ldap.so.$(NSS_VERS)
-nss_ldap_so_SOURCES = ../nslcd.h
-nss_ldap_so_LDADD = libnss.a
-nss_ldap_so_LDFLAGS = @nss_ldap_so_LDFLAGS@
+nss_ldap_so_SOURCES = common.c common.h prototypes.h \
+ ../nslcd.h ../nslcd-common.h \
+ aliases.c ethers.c group.c hosts.c netgroup.c \
+ networks.c passwd.c protocols.c rpc.c services.c \
+ shadow.c
+nss_ldap_so_LDFLAGS = -shared -Wl,-soname,$(NSS_LDAP_NSS_VERSIONED) \
+ -Wl,--version-script,\$(srcdir)/exports.linux
+nss_ldap_so_LDADD = @nss_ldap_so_LIBS@
+EXTRA_DIST = exports.linux
+
+install-exec-local: install-nss_ldap_so
+
+# install /lib/libnss_ldap.so.2 and create
+# /lib/libnss_ldap-2.3.6.so and /usr/lib/libnss_ldap.so symlinks
+# (skip the last one for now and see what breaks)
+install-nss_ldap_so: nss_ldap.so
+ $(INSTALL_PROGRAM) -D nss_ldap.so $(DESTDIR)$(libdir)/$(NSS_LDAP_LIBC_VERSIONED)
+ (cd $(DESTDIR)$(libdir); ln -sf $(NSS_LDAP_LIBC_VERSIONED) $(NSS_LDAP_NSS_VERSIONED))
+# $(mkinstalldirs) $(DESTDIR)/usr$(libdir)
+# (cd $(DESTDIR)/usr$(libdir); ln -sf ../..$(libdir)/$(NSS_LDAP_NSS_VERSIONED) libnss_ldap.so)