# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # PROTOCOL_DIR= $(ROOTHDRDIR)/rpcsvc PROTOCOL_SRCDIR= $(SRC)/head/rpcsvc PROTOCOL_UTS_SRCDIR= $(SRC)/uts/common/rpc SUBDIRS = $(MACH) $(BUILD64)SUBDIRS += $(MACH64) # objects are listed by source directory # common utility code used in more than one directory RPC_DERIVED_FILES= GEN_DERIVED_FILES= \ nis/gen/nis_clnt.h PROTOCOL_FILES= \ $(PROTOCOL_DIR)/daemon_utils.h \ $(PROTOCOL_DIR)/nis.x \ $(PROTOCOL_DIR)/nis.h \ $(PROTOCOL_DIR)/nis_object.x PROTOCOL_FILES_UTS= \ $(PROTOCOL_DIR)/key_prot.x DERIVED_FILES= $(GEN_DERIVED_FILES) $(RPC_DERIVED_FILES) # # Make sure they get cleaned when necessary # CLEANFILES += $(DERIVED_FILES) # include library definitions include ../Makefile.lib # header file delivered to /usr/include; internal to ON build process HDRS = nss.h HDRDIR = nss LIBRARY= libnsl.a TEXT_DOMAIN= SUNW_OST_NETRPC POFILE= $(LIBRARY:.a=.po) POFILES= generic.po _errlst.po all := TARGET= all clean := TARGET= clean clobber := TARGET= clobber delete := TARGET= delete install := TARGET= install _msg := TARGET= _msg package := TARGET= package .KEEP_STATE: all: $(PROTOCOL_DIR) $(DERIVED_FILES) .WAIT $(SUBDIRS) headers: $(PROTOCOL_DIR) .WAIT $(PROTOCOL_FILES) $(PROTOCOL_FILES_UTS) \ $(DERIVED_FILES) install: all .WAIT $(SUBDIRS) install_h: $(ROOTHDRS) # nss.h isn't delivered; no reason to check check: clean clobber delete package: $(SUBDIRS) $(PROTOCOL_DIR): $(INS.dir) $(PROTOCOL_DIR)/%.h: $(PROTOCOL_SRCDIR)/%.h $(INS.file) $(PROTOCOL_DIR)/nis.h: $(PROTOCOL_SRCDIR)/nis.x $(PROTOCOL_SRCDIR)/nis_object.x $(RPCGEN) -C -h $(PROTOCOL_SRCDIR)/nis.x > nis-tmp.h $(SED) -e '/EDIT_START/,$$ d' < nis-tmp.h > nis.h $(RM) $@ $(INS) -s -m $(FILEMODE) -f $(@D) nis.h $(RM) nis.h nis-tmp.h $(PROTOCOL_DIR)/%.x: $(PROTOCOL_SRCDIR)/%.x $(INS.file) $(PROTOCOL_DIR)/%.x: $(PROTOCOL_UTS_SRCDIR)/%.x $(INS.file) # # Rules for building the derived files # # Derived header files # nis/gen/nis_clnt.h: $(PROTOCOL_DIR)/nis.x $(PROTOCOL_DIR)/nis_object.x $(RPCGEN) -C -h $(PROTOCOL_DIR)/nis.x > nis_clnt-gen.h $(SED) -n -e '/EDIT_START/,$$ p' < nis_clnt-gen.h |\ $(SED) -e 's/_3_svc/_svc/' |\ $(SED) -e 's/_3/_clnt/' > $@ $(RM) nis_clnt-gen.h # # Derived source files # # include library targets include ../Makefile.targ _msg: $(MSGDOMAIN) $(POFILE) $(RM) $(MSGDOMAIN)/$(POFILE) $(CP) $(POFILE) $(MSGDOMAIN) $(POFILE): $(DERIVED_FILES) .WAIT $(POFILES) $(RM) $@ $(CAT) $(POFILES) > $@ _errlst.po: $(RM) messages.po $(XGETTEXT) -a nsl/_errlst.c $(SED) -e '/^# msg/d' -e '/^domain/d' messages.po > $@ $(RM) messages.po generic.po: $(RM) messages.po $(XGETTEXT) $(XGETFLAGS) `$(GREP) -l gettext */*.[ch] nis/*/*.[ch]*` $(SED) -e '/^# msg/d' -e '/^domain/d' messages.po > $@ $(RM) messages.po $(MSGDOMAIN): $(INS.dir) $(SUBDIRS): FRC @cd $@; pwd; $(MAKE) $(TARGET) FRC: