forked from daveolson53/libnss-tacplus
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile.am
60 lines (46 loc) · 2.61 KB
/
Makefile.am
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
56
57
58
59
###########################################################################
##
## Copyright 2014, 2015, 2016, 2018 Cumulus Networks. All rights reserved.
## Author: Dave Olson <[email protected]>
##
###########################################################################
ACLOCAL_AMFLAGS = -I config
moduledir = @libdir@
module_LTLIBRARIES = libnss_tacplus.la
# we don't want our header installed, so just list it in SOURCES.
libnss_tacplus_la_SOURCES = \
nss_tacplus.c \
nss_tacplus.h
dist_man_MANS = tacplus_nss.conf.5
libnss_tacplus_la_CFLAGS = -Wno-error=address -Wno-error=stringop-truncation $(AM_CFLAGS)
# Version 2.0 because that's the NSS module version, and they must match
libnss_tacplus_la_LDFLAGS = -module -version-info 2:0:0 -shared
libnss_tacplus_la_LIBADD = -ltacplus_map -ltac -laudit
EXTRA_DIST = tacplus_nss.conf README ChangeLog
MAINTAINERCLEANFILES = Makefile.in config.h.in configure aclocal.m4 \
config/config.guess config/config.sub config/depcomp \
config/install-sh config/ltmain.sh config/missing
clean-generic:
rm -rf autom4te*.cache
rm -f *.rej *.orig *.lang
MULTI_OS_DIRECTORY=$(shell $(CC) $(CFLAGS) -print-multiarch)
# This and the install rules using it are copied from libnss-ldap-264
LIBC_VERS = $(shell ls /lib/$(MULTI_OS_DIRECTORY)/libc-*.so | sed -e '1s|.*libc-\(.*\)\.so|\1|')
NSS_TACPLUS_LIBC_VERSIONED = libnss_tacplus-$(LIBC_VERS).so
NSS_VERS = $(shell ls /lib/$(MULTI_OS_DIRECTORY)/libnss_files.so.? | sed -e '1s|.*libnss_files\.so\.\(.*\)|\1|')
NSS_TACPLUS_NSS_VERSIONED = libnss_tacplus.so.$(NSS_VERS)
# strip all but the NSS entry point, to avoid symbol pollution
# nobody will link against this plugin, so no need for .la
# for NSS, we don't need to install the libnss_tacplus.so.2.0.0
# and don't want libnss_tacplus.so either since the library is a plugin.
# libtool installs both automatically, so we remove them.
# Copying debian and installing main copy as file with libc version,
# and the .so.2 version as a symlink to the libc versioned file
install-data-hook:
rm -f $(DESTDIR)$(libdir)/libnss_tacplus.la
rm -f $(DESTDIR)$(libdir)/libnss_tacplus.so $(DESTDIR)$(libdir)/libnss_tacplus.so.2.0.0
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(sysconfdir)
cd .libs && $(INSTALL_PROGRAM) libnss_tacplus.so $(DESTDIR)$(libdir)/$(NSS_TACPLUS_LIBC_VERSIONED)
$(STRIP) --keep-symbol=_nss_tacplus_getpwnam_r --keep-symbol=_nss_tacplus_getpwuid_r $(DESTDIR)$(libdir)/$(NSS_TACPLUS_LIBC_VERSIONED)
cd $(DESTDIR)$(libdir); ln -sf $(NSS_TACPLUS_LIBC_VERSIONED) $(NSS_TACPLUS_NSS_VERSIONED)
${INSTALL} -m 644 tacplus_nss.conf $(DESTDIR)$(sysconfdir)