1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21# 22# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25# 26 27PROTOCOL_DIR= $(ROOTHDRDIR)/rpcsvc 28PROTOCOL_SRCDIR= $(SRC)/head/rpcsvc 29PROTOCOL_UTS_SRCDIR= $(SRC)/uts/common/rpc 30 31SUBDIRS = $(MACH) 32$(BUILD64)SUBDIRS += $(MACH64) 33 34# objects are listed by source directory 35 36# common utility code used in more than one directory 37RPC_DERIVED_FILES= 38 39GEN_DERIVED_FILES= \ 40 nis/gen/nis_clnt.h 41 42 43PROTOCOL_FILES= \ 44 $(PROTOCOL_DIR)/daemon_utils.h \ 45 $(PROTOCOL_DIR)/nis.x \ 46 $(PROTOCOL_DIR)/nis.h \ 47 $(PROTOCOL_DIR)/nis_object.x 48 49PROTOCOL_FILES_UTS= \ 50 $(PROTOCOL_DIR)/key_prot.x 51 52DERIVED_FILES= $(GEN_DERIVED_FILES) $(RPC_DERIVED_FILES) 53 54# 55# Make sure they get cleaned when necessary 56# 57CLEANFILES += $(DERIVED_FILES) 58 59# include library definitions 60include ../Makefile.lib 61 62# header file delivered to /usr/include; internal to ON build process 63HDRS = nss.h 64HDRDIR = nss 65 66LIBRARY= libnsl.a 67TEXT_DOMAIN= SUNW_OST_NETRPC 68POFILE= $(LIBRARY:.a=.po) 69POFILES= generic.po _errlst.po 70 71all := TARGET= all 72clean := TARGET= clean 73clobber := TARGET= clobber 74delete := TARGET= delete 75install := TARGET= install 76lint := TARGET= lint 77_msg := TARGET= _msg 78package := TARGET= package 79 80 81.KEEP_STATE: 82 83all: $(PROTOCOL_DIR) $(DERIVED_FILES) .WAIT $(SUBDIRS) 84 85headers: $(PROTOCOL_DIR) .WAIT $(PROTOCOL_FILES) $(PROTOCOL_FILES_UTS) \ 86 $(DERIVED_FILES) 87 88install: all .WAIT $(SUBDIRS) 89 90install_h: $(ROOTHDRS) 91 92# nss.h isn't delivered; no reason to check 93check: 94 95clean clobber delete lint package: $(SUBDIRS) 96 97$(PROTOCOL_DIR): 98 $(INS.dir) 99 100$(PROTOCOL_DIR)/%.h: $(PROTOCOL_SRCDIR)/%.h 101 $(INS.file) 102 103$(PROTOCOL_DIR)/nis.h: $(PROTOCOL_SRCDIR)/nis.x $(PROTOCOL_SRCDIR)/nis_object.x 104 $(RPCGEN) -C -h $(PROTOCOL_SRCDIR)/nis.x > nis-tmp.h 105 $(SED) -e '/EDIT_START/,$$ d' < nis-tmp.h > nis.h 106 $(RM) $@ 107 $(INS) -s -m $(FILEMODE) -f $(@D) nis.h 108 $(RM) nis.h nis-tmp.h 109 110$(PROTOCOL_DIR)/%.x: $(PROTOCOL_SRCDIR)/%.x 111 $(INS.file) 112 113$(PROTOCOL_DIR)/%.x: $(PROTOCOL_UTS_SRCDIR)/%.x 114 $(INS.file) 115 116# 117# Rules for building the derived files 118# 119# Derived header files 120# 121nis/gen/nis_clnt.h: $(PROTOCOL_DIR)/nis.x $(PROTOCOL_DIR)/nis_object.x 122 $(RPCGEN) -C -h $(PROTOCOL_DIR)/nis.x > nis_clnt-gen.h 123 $(SED) -n -e '/EDIT_START/,$$ p' < nis_clnt-gen.h |\ 124 $(SED) -e 's/_3_svc/_svc/' |\ 125 $(SED) -e 's/_3/_clnt/' > $@ 126 $(RM) nis_clnt-gen.h 127 128# 129# Derived source files 130# 131 132# include library targets 133include ../Makefile.targ 134 135# EXPORT DELETE START 136# CRYPT DELETE START 137# Special target to clean up the source tree for export distribution 138# Warning: This target changes the source tree 139EXPORT_SRC: 140 $(RM) Makefile+ des/des_crypt.c+ des/des_soft.c+ key/xcrypt.c+ 141 $(SED) -e "/EXPORT DELETE START/,/EXPORT DELETE END/d" \ 142 < des/des_crypt.c > des/des_crypt.c+ 143 $(MV) des/des_crypt.c+ des/des_crypt.c 144 $(SED) -e "/EXPORT DELETE START/,/EXPORT DELETE END/d" \ 145 < des/des_soft.c > des/des_soft.c+ 146 $(MV) des/des_soft.c+ des/des_soft.c 147 $(SED) -e "/EXPORT DELETE START/,/EXPORT DELETE END/d" \ 148 < key/xcrypt.c > key/xcrypt.c+ 149 $(MV) key/xcrypt.c+ key/xcrypt.c 150 $(SED) -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \ 151 < Makefile > Makefile+ 152 $(MV) Makefile+ Makefile 153 $(CHMOD) 444 Makefile des/des_crypt.c des/des_soft.c key/xcrypt.c 154 155CRYPT_SRC: 156 $(RM) Makefile+ 157 $(SED) -e "/^# CRYPT DELETE START/,/^# CRYPT DELETE END/d" \ 158 < Makefile \ 159 | $(SED) -e "/EXPORT DELETE/d" \ 160 > Makefile+ 161 $(MV) Makefile+ Makefile 162 $(CHMOD) 444 Makefile 163 164# CRYPT DELETE END 165# EXPORT DELETE END 166 167_msg: $(MSGDOMAIN) $(POFILE) 168 $(RM) $(MSGDOMAIN)/$(POFILE) 169 $(CP) $(POFILE) $(MSGDOMAIN) 170 171$(POFILE): $(DERIVED_FILES) .WAIT $(POFILES) 172 $(RM) $@ 173 $(CAT) $(POFILES) > $@ 174 175_errlst.po: 176 $(RM) messages.po 177 $(XGETTEXT) -a nsl/_errlst.c 178 $(SED) -e '/^# msg/d' -e '/^domain/d' messages.po > $@ 179 $(RM) messages.po 180 181generic.po: 182 $(RM) messages.po 183 $(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext */*.[ch] nis/*/*.[ch]*` 184 $(SED) -e '/^# msg/d' -e '/^domain/d' messages.po > $@ 185 $(RM) messages.po 186 187$(MSGDOMAIN): 188 $(INS.dir) 189 190$(SUBDIRS): FRC 191 @cd $@; pwd; $(MAKE) $(TARGET) 192 193FRC: 194