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 27 PROTOCOL_DIR= $(ROOTHDRDIR)/rpcsvc 28 PROTOCOL_SRCDIR= $(SRC)/head/rpcsvc 29 PROTOCOL_UTS_SRCDIR= $(SRC)/uts/common/rpc 30 31 SUBDIRS = $(MACH) 32 $(BUILD64)SUBDIRS += $(MACH64) 33 34 # objects are listed by source directory 35 36 # common utility code used in more than one directory 37 RPC_DERIVED_FILES= 38 39 GEN_DERIVED_FILES= \ 40 nis/gen/nis_clnt.h 41 42 43 PROTOCOL_FILES= \ 44 $(PROTOCOL_DIR)/daemon_utils.h \ 45 $(PROTOCOL_DIR)/nis.x \ 46 $(PROTOCOL_DIR)/nis.h \ 47 $(PROTOCOL_DIR)/nis_object.x 48 49 PROTOCOL_FILES_UTS= \ 50 $(PROTOCOL_DIR)/key_prot.x 51 52 DERIVED_FILES= $(GEN_DERIVED_FILES) $(RPC_DERIVED_FILES) 53 54 # 55 # Make sure they get cleaned when necessary 56 # 57 CLEANFILES += $(DERIVED_FILES) 58 59 # include library definitions 60 include ../Makefile.lib 61 62 # header file delivered to /usr/include; internal to ON build process 63 HDRS = nss.h 64 HDRDIR = nss 65 66 LIBRARY= libnsl.a 67 TEXT_DOMAIN= SUNW_OST_NETRPC 68 POFILE= $(LIBRARY:.a=.po) 69 POFILES= generic.po _errlst.po 70 71 all := TARGET= all 72 clean := TARGET= clean 73 clobber := TARGET= clobber 74 delete := TARGET= delete 75 install := TARGET= install 76 lint := TARGET= lint 77 _msg := TARGET= _msg 78 package := TARGET= package 79 80 81 .KEEP_STATE: 82 83 all: $(PROTOCOL_DIR) $(DERIVED_FILES) .WAIT $(SUBDIRS) 84 85 headers: $(PROTOCOL_DIR) .WAIT $(PROTOCOL_FILES) $(PROTOCOL_FILES_UTS) \ 86 $(DERIVED_FILES) 87 88 install: all .WAIT $(SUBDIRS) 89 90 install_h: $(ROOTHDRS) 91 92 # nss.h isn't delivered; no reason to check 93 check: 94 95 clean 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 # 121 nis/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 133 include ../Makefile.targ 134 135 _msg: $(MSGDOMAIN) $(POFILE) 136 $(RM) $(MSGDOMAIN)/$(POFILE) 137 $(CP) $(POFILE) $(MSGDOMAIN) 138 139 $(POFILE): $(DERIVED_FILES) .WAIT $(POFILES) 140 $(RM) $@ 141 $(CAT) $(POFILES) > $@ 142 143 _errlst.po: 144 $(RM) messages.po 145 $(XGETTEXT) -a nsl/_errlst.c 146 $(SED) -e '/^# msg/d' -e '/^domain/d' messages.po > $@ 147 $(RM) messages.po 148 149 generic.po: 150 $(RM) messages.po 151 $(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext */*.[ch] nis/*/*.[ch]*` 152 $(SED) -e '/^# msg/d' -e '/^domain/d' messages.po > $@ 153 $(RM) messages.po 154 155 $(MSGDOMAIN): 156 $(INS.dir) 157 158 $(SUBDIRS): FRC 159 @cd $@; pwd; $(MAKE) $(TARGET) 160 161 FRC: