]> git.ipfire.org Git - thirdparty/glibc.git/blame - nss/Makefile
[BZ #9955]
[thirdparty/glibc.git] / nss / Makefile
CommitLineData
829fea46 1# Copyright (C) 1996-1998,2000-2002,2007,2009 Free Software Foundation, Inc.
5f0e6fc7
RM
2# This file is part of the GNU C Library.
3
4# The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
5# modify it under the terms of the GNU Lesser General Public
6# License as published by the Free Software Foundation; either
7# version 2.1 of the License, or (at your option) any later version.
5f0e6fc7
RM
8
9# The GNU C Library is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 12# Lesser General Public License for more details.
5f0e6fc7 13
41bdb6e2
AJ
14# You should have received a copy of the GNU Lesser General Public
15# License along with the GNU C Library; if not, write to the Free
16# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17# 02111-1307 USA.
5f0e6fc7
RM
18
19#
20# Makefile for name service switch.
21#
22subdir := nss
23
a8874ead 24headers := nss.h
5f0e6fc7 25distribute := nsswitch.h XXX-lookup.c getXXbyYY.c getXXbyYY_r.c \
14bab8de 26 getXXent.c getXXent_r.c databases.def \
7e3399b3 27 nsswitch.conf digits_dots.c function.def
5f0e6fc7
RM
28
29# This is the trivial part which goes into libc itself.
a5fdf99b 30routines = nsswitch getnssent getnssent_r digits_dots \
8b801829 31 $(addsuffix -lookup,$(databases))
5f0e6fc7 32
6dbe2837 33# These are the databases that go through nss dispatch.
a8874ead
UD
34# Caution: if you add a database here, you must add its real name
35# in databases.def, too.
a8922de8 36databases = proto service hosts network grp pwd rpc ethers \
829fea46 37 spwd netgrp key alias sgrp
5f0e6fc7 38
7e3399b3
UD
39others := getent
40install-bin := getent
7d6a8338 41
9a1c21c4
UD
42tests = test-netdb
43xtests = bug-erange
6591c335 44
26b4d766
UD
45include ../Makeconfig
46
6d4752d8
UD
47ifeq (yes,$(build-static-nss))
48otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
49 $(resolvobjdir)/libresolv.a
50endif
51
5f0e6fc7 52# Specify rules for the nss_* modules. We have some services.
7e3399b3 53services := files
5f0e6fc7
RM
54
55extra-libs = $(services:%=libnss_%)
dbe31b9a
RM
56# These libraries will be built in the `others' pass rather than
57# the `lib' pass, because they depend on libc.so being built already.
58extra-libs-others = $(extra-libs)
5f0e6fc7
RM
59
60# The sources are found in the appropriate subdir.
6dbe2837 61subdir-dirs = $(services:%=nss_%)
5f0e6fc7
RM
62vpath %.c $(subdir-dirs)
63
64
aa132749
UD
65libnss_files-routines := $(addprefix files-,$(databases)) \
66 files-have_o_cloexec
5f0e6fc7
RM
67distribute += files-XXX.c files-parse.c
68
1aadea59 69
6ca96fe2 70# Build static module if requested
5107cf1d 71ifneq ($(build-static-nss),yes)
40a55d20 72libnss_files-inhibit-o = $(filter-out .os,$(object-suffixes))
6ca96fe2 73endif
5f0e6fc7
RM
74
75include ../Rules
76
77
6d4752d8
UD
78ifeq (yes,$(build-static-nss))
79$(objpfx)getent: $(objpfx)libnss_files.a
80endif
81
8a594e3c
RM
82# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
83# This ensures they will load libc.so for needed symbols if loaded by
84# a statically-linked program that hasn't already loaded it.
639c3248
UD
85$(services:%=$(objpfx)libnss_%.so): $(common-objpfx)libc.so \
86 $(common-objpfx)libc_nonshared.a