
1: # Copyright (C) 1996,1997,1998,2001,2004,2006 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 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. 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: # Lesser General Public License for more details. 13: 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. 18: 19: # 20: # Makefile for NIS/NIS+ part. 21: # 22: subdir := nis 23: 24: aux := nis_hash 25: 26: headers := $(wildcard rpcsvc/*.[hx]) 27: distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ 28: nisplus-parser.h nis_xdr.h nss 29: 30: # These are the databases available for the nis (and perhaps later nisplus) 31: # service. This must be a superset of the services in nss. 32: databases = proto service hosts network grp pwd rpc ethers \ 33: spwd netgrp alias publickey 34: 35: # Specify rules for the nss_* modules. 36: services := nis nisplus compat 37: 38: extra-libs = libnsl $(services:%=libnss_%) 39: # These libraries will be built in the `others' pass rather than 40: # the `lib' pass, because they depend on libc.so being built already. 41: extra-libs-others = $(extra-libs) 42: 43: # The sources are found in the appropriate subdir. 44: subdir-dirs = $(services:%=nss_%) 45: vpath %.c $(subdir-dirs) 46: 47: libnsl-routines = yp_xdr ypclnt ypupdate_xdr \ 48: nis_subr nis_local_names nis_free nis_file \ 49: nis_print nis_error nis_call nis_lookup\ 50: nis_table nis_xdr nis_server nis_ping \ 51: nis_checkpoint nis_mkdir nis_rmdir nis_getservlist\ 52: nis_verifygroup nis_ismember nis_addmember nis_util\ 53: nis_removemember nis_creategroup nis_destroygroup\ 54: nis_print_group_entry nis_domain_of nis_domain_of_r\ 55: nis_modify nis_remove nis_add nis_defaults\ 56: nis_findserv nis_callback nis_clone_dir nis_clone_obj\ 57: nis_clone_res nss-default 58: 59: libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) 60: libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes)) 61: 62: libnss_nis-routines := $(addprefix nis-,$(databases)) nis-initgroups \ 63: nss-nis 64: libnss_nis-inhibit-o = $(filter-out .os,$(object-suffixes)) 65: 66: libnss_nisplus-routines := $(addprefix nisplus-,$(databases)) nisplus-parser \ 67: nss-nisplus nisplus-initgroups 68: libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes)) 69: 70: include ../Rules 71: 72: 73: $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version) 74: $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \ 75: $(common-objpfx)nss/libnss_files.so 76: $(objpfx)libnss_nisplus.so: $(objpfx)libnsl.so$(libnsl.so-version) 77: 78: # Depend on libc.so so a DT_NEEDED is generated in the shared objects. 79: # This ensures they will load libc.so for needed symbols if loaded by 80: # a statically-linked program that hasn't already loaded it. 81: $(services:%=$(objpfx)libnss_%.so) $(objpfx)libnsl.so: $(common-objpfx)libc.so\ 82: $(common-objpfx)libc_nonshared.a 83: 84: 85: ifeq ($(build-shared),yes) 86: $(others:%=$(objpfx)%): $(objpfx)libnsl.so$(libnsl.so-version) 87: else 88: $(others:%=$(objpfx)%): $(objpfx)libnsl.a 89: endif