summaryrefslogtreecommitdiff
path: root/nss/Makefile
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-07-02 19:35:40 +0000
committerRoland McGrath <roland@gnu.org>1996-07-02 19:35:40 +0000
commit96bda0ea44eb94e0284e91f20ba9733ae63f26a5 (patch)
treed588be55a83c556ac5e617a680fbf53186c9bbb1 /nss/Makefile
parentffee131630368bc2600747346d0b03025cbca6ee (diff)
* nss/nss_files/files-network.c: Pass empty for new DB_LOOKUP args.
(DATABASE): Define this instead of DATAFILE. * nss/nss_files/files-hosts.c: Likewise. (hostbyname): Use LOOKUP_NAME macro. * nss/nss_db/db-XXX.c: New file. * nss/Makefile (services): Add db. (libnss_db-inhibit-o): New variable. (libnss_db-routines): New variable. (distribute): Append db-XXX.c. (libnss_db.so): Depend on libdb.so and libnss_files.so. ($(libnss_db-routines:%=$(objpfx)%.c)): New static pattern rule. * nss/nss_files/files-XXX.c (DB_LOOKUP): Add KEYSIZE and KEYPATTERN args, ignored. (DATAFILE): New macro. * nss/nss_files/files-parse.c (GENERIC): If undefined, define to "files-XXX.c". * nss/nss_files/files-rpc.c: Include GENERIC instead of "files-XXX.c". Pass db key args to DB_LOOKUP. (DATAFILE): Macro removed. (DATABASE): New macro replaces it, lacks "/etc/" prefix. * nss/nss_files/files-service.c: Likewise. * nss/nss_files/files-pwd.c: Likewise. * nss/nss_files/files-proto.c: Likewise. * nss/nss_files/files-grp.c: Likewise. * nss/nss_files/files-ethers.c: Likewise. * elf/linux-compat.c: File removed. * elf/Makefile (distribute): Remove linux-compat.c. (ld-linux.so.1): Remove target and associated variables. * sunrpc/xdr.c: Remove malloc decl. * sunrpc/portmap.c: Likewise. * sunrpc/svc_tcp.c (abort): Don't declare. Instead define as macro casting abort to fn returning bool_t. * nss/nss_files/files-parse.c [EXTERN_PARSER]: Do an extern decl of the parser function. [EXTERN_PARSER] (LINE_PARSER): Define to empty. * nss/nss_files/files-pwd.c (EXTERN_PARSER): Define it. * nss/nss_files/files-grp.c: Likewise. * Makeconfig (BUILD_CC): If undefined, define to $(CC). * sunrpc/rpc/types.h: Include stdlib.h instead of declaring malloc. * Makeconfig (built-program-cmd): Use $(rtld-installed-name) in place of ld.so so lookups for that soname find it. * nss/Makefile (libnss_dns.so): Depend on libresolv.so. (resobjdir, LDLIBS-nss_dns.so): Variables removed.
Diffstat (limited to 'nss/Makefile')
-rw-r--r--nss/Makefile20
1 files changed, 17 insertions, 3 deletions
diff --git a/nss/Makefile b/nss/Makefile
index 8e7a242344..4ab774a809 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -31,7 +31,7 @@ routines = nsswitch $(addsuffix -lookup,$(databases))
databases = proto service hosts network grp pwd rpc ethers
# Specify rules for the nss_* modules. We have some services.
-services := files dns
+services := files dns db
extra-libs = $(services:%=libnss_%)
@@ -45,12 +45,26 @@ distribute += files-XXX.c files-parse.c
libnss_dns-routines := dns-host dns-network
+libnss_db-routines := $(addprefix db-,$(filter-out hosts network,\
+ $(databases)))
+distribute += db-XXX.c
+
libnss_files-inhibit-o = $(filter-out .so,$(object-suffixes))
libnss_dns-inhibit-o = $(filter-out .so,$(object-suffixes))
+libnss_db-inhibit-o = $(filter-out .so,$(object-suffixes))
include ../Rules
-resobjdir := $(firstword $(objdir) $(patsubst ../$(subdir),.,$(..)resolv))
-LDLIBS-nss_dns.so = -L$(resobjdir) -Wl,-rpath-link=$(resobjdir) -lresolv
+$(objpfx)libnss_dns.so: $(firstword $(objdir) $(..)resolv)/libresolv.so
+
+$(objpfx)libnss_db.so: $(firstword $(objdir) $(..)db)/libdb.so \
+ $(objpfx)libnss_files.so
+
+$(libnss_db-routines:%=$(objpfx)%.c): $(objpfx)db-%.c: nss_files/files-%.c
+ @rm -f $@.new
+ (echo '#define EXTERN_PARSER';\
+ echo '#define GENERIC "../nss_db/db-XXX.c"';\
+ echo '#include <$<>') > $@.new
+ mv -f $@.new $@