]> git.ipfire.org Git - thirdparty/glibc.git/blame - nss/Makefile
Wed Jul 3 11:26:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
[thirdparty/glibc.git] / nss / Makefile
CommitLineData
5f0e6fc7
RM
1# Copyright (C) 1996 Free Software Foundation, Inc.
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
5# modify it under the terms of the GNU Library General Public License as
6# published by the Free Software Foundation; either version 2 of the
7# License, or (at your option) any later version.
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
12# Library General Public License for more details.
13
14# You should have received a copy of the GNU Library General Public
15# License along with the GNU C Library; see the file COPYING.LIB. If
16# not, write to the Free Software Foundation, Inc.,
17# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19#
20# Makefile for name service switch.
21#
22subdir := nss
23
24distribute := nsswitch.h XXX-lookup.c getXXbyYY.c getXXbyYY_r.c \
25 getXXent.c getXXent_r.c
26
27# This is the trivial part which goes into libc itself.
6dbe2837 28routines = nsswitch $(addsuffix -lookup,$(databases))
5f0e6fc7 29
6dbe2837 30# These are the databases that go through nss dispatch.
3776d592 31databases = proto service hosts network grp pwd rpc ethers
5f0e6fc7
RM
32
33# Specify rules for the nss_* modules. We have some services.
96bda0ea 34services := files dns db
5f0e6fc7
RM
35
36extra-libs = $(services:%=libnss_%)
37
38# The sources are found in the appropriate subdir.
6dbe2837 39subdir-dirs = $(services:%=nss_%)
5f0e6fc7
RM
40vpath %.c $(subdir-dirs)
41
42
6dbe2837 43libnss_files-routines := $(addprefix files-,$(databases))
5f0e6fc7
RM
44distribute += files-XXX.c files-parse.c
45
46libnss_dns-routines := dns-host dns-network
47
96bda0ea
RM
48libnss_db-routines := $(addprefix db-,$(filter-out hosts network,\
49 $(databases)))
50distribute += db-XXX.c
51
5f0e6fc7
RM
52libnss_files-inhibit-o = $(filter-out .so,$(object-suffixes))
53libnss_dns-inhibit-o = $(filter-out .so,$(object-suffixes))
96bda0ea 54libnss_db-inhibit-o = $(filter-out .so,$(object-suffixes))
5f0e6fc7
RM
55
56
57include ../Rules
58
59
96bda0ea
RM
60$(objpfx)libnss_dns.so: $(firstword $(objdir) $(..)resolv)/libresolv.so
61
62$(objpfx)libnss_db.so: $(firstword $(objdir) $(..)db)/libdb.so \
63 $(objpfx)libnss_files.so
64
65$(libnss_db-routines:%=$(objpfx)%.c): $(objpfx)db-%.c: nss_files/files-%.c
66 @rm -f $@.new
67 (echo '#define EXTERN_PARSER';\
68 echo '#define GENERIC "../nss_db/db-XXX.c"';\
69 echo '#include <$<>') > $@.new
70 mv -f $@.new $@
8a594e3c
RM
71
72# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
73# This ensures they will load libc.so for needed symbols if loaded by
74# a statically-linked program that hasn't already loaded it.
75$(services:%=$(objpfx)libnss_%.so): $(common-objpfx)libc.so