1*7c478bd9Sstevel@tonic-gate# 2*7c478bd9Sstevel@tonic-gate# CDDL HEADER START 3*7c478bd9Sstevel@tonic-gate# 4*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 5*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only 6*7c478bd9Sstevel@tonic-gate# (the "License"). You may not use this file except in compliance 7*7c478bd9Sstevel@tonic-gate# with the License. 8*7c478bd9Sstevel@tonic-gate# 9*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 11*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 12*7c478bd9Sstevel@tonic-gate# and limitations under the License. 13*7c478bd9Sstevel@tonic-gate# 14*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 15*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 17*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 18*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 19*7c478bd9Sstevel@tonic-gate# 20*7c478bd9Sstevel@tonic-gate# CDDL HEADER END 21*7c478bd9Sstevel@tonic-gate# 22*7c478bd9Sstevel@tonic-gate# 23*7c478bd9Sstevel@tonic-gate#ident "%Z%%M% %I% %E% SMI" 24*7c478bd9Sstevel@tonic-gate# 25*7c478bd9Sstevel@tonic-gate# Copyright 1999-2002 Sun Microsystems, Inc. All rights reserved. 26*7c478bd9Sstevel@tonic-gate# Use is subject to license terms. 27*7c478bd9Sstevel@tonic-gate# 28*7c478bd9Sstevel@tonic-gate# Makefile configuration for SLP. 29*7c478bd9Sstevel@tonic-gate 30*7c478bd9Sstevel@tonic-gate# The SLP Java package 31*7c478bd9Sstevel@tonic-gate 32*7c478bd9Sstevel@tonic-gatePKGPATH=com/sun/slp 33*7c478bd9Sstevel@tonic-gatePKGNAME=com.sun.slp 34*7c478bd9Sstevel@tonic-gate 35*7c478bd9Sstevel@tonic-gate# The SLP directories. 36*7c478bd9Sstevel@tonic-gate 37*7c478bd9Sstevel@tonic-gateSLPDIR=$(SRC)/lib/libslp 38*7c478bd9Sstevel@tonic-gateDOC=$(SLPDIR)/javadoc 39*7c478bd9Sstevel@tonic-gateCLASSES=$(SLPDIR)/classes 40*7c478bd9Sstevel@tonic-gateSLPJAVASRC=$(SLPDIR)/javalib 41*7c478bd9Sstevel@tonic-gate 42*7c478bd9Sstevel@tonic-gate# SLP jar file, its ultimate destination, and packaging details 43*7c478bd9Sstevel@tonic-gateSLPJAR=slp.jar 44*7c478bd9Sstevel@tonic-gateSLPDJAR=slpd.jar 45*7c478bd9Sstevel@tonic-gateJARDESTDIR=$(ROOT)/usr/share/lib/slp 46*7c478bd9Sstevel@tonic-gateINSJARS=$(JARDESTDIR)/$(SLPJAR) $(JARDESTDIR)/$(SLPDJAR) 47*7c478bd9Sstevel@tonic-gate 48*7c478bd9Sstevel@tonic-gate$(JARDESTDIR)/%: $(CLASSES)/% 49*7c478bd9Sstevel@tonic-gate $(INS.file) 50*7c478bd9Sstevel@tonic-gate 51*7c478bd9Sstevel@tonic-gate# Manifest files 52*7c478bd9Sstevel@tonic-gateSLPMANI= $(CLASSES)/manifest.slp 53*7c478bd9Sstevel@tonic-gateSLPDMANI= $(CLASSES)/manifest.slpd 54*7c478bd9Sstevel@tonic-gate 55*7c478bd9Sstevel@tonic-gateMANIFESTS= $(SLPMANI) $(SLPDMANI) 56*7c478bd9Sstevel@tonic-gate 57*7c478bd9Sstevel@tonic-gate# Controlled CLASSPATH for making 58*7c478bd9Sstevel@tonic-gateSLPCLASSPATH=$(CLASSES):$(SLPJAVASRC) 59*7c478bd9Sstevel@tonic-gate 60*7c478bd9Sstevel@tonic-gate# javac flags 61*7c478bd9Sstevel@tonic-gateJFLAGS= -O -d $(CLASSES) -sourcepath $(SLPCLASSPATH) -deprecation 62*7c478bd9Sstevel@tonic-gate 63*7c478bd9Sstevel@tonic-gate# The default make rule for Java files 64*7c478bd9Sstevel@tonic-gateCOMPILE.java=$(JAVAC) $(JFLAGS) 65*7c478bd9Sstevel@tonic-gate 66*7c478bd9Sstevel@tonic-gate$(CLASSES)/$(PKGPATH)/%.class: $(SLPJAVASRC)/$(PKGPATH)/%.java 67*7c478bd9Sstevel@tonic-gate $(COMPILE.java) $< 68*7c478bd9Sstevel@tonic-gate 69*7c478bd9Sstevel@tonic-gate# Where to put the message files 70*7c478bd9Sstevel@tonic-gateMSGDIR = $(ROOT)/usr/share/lib/locale/$(PKGPATH) 71*7c478bd9Sstevel@tonic-gateMSGDIRS = $(ROOT)/usr/share/lib/locale \ 72*7c478bd9Sstevel@tonic-gate $(ROOT)/usr/share/lib/locale/com \ 73*7c478bd9Sstevel@tonic-gate $(ROOT)/usr/share/lib/locale/com/sun \ 74*7c478bd9Sstevel@tonic-gate $(MSGDIR) 75*7c478bd9Sstevel@tonic-gateCLIENT_MSGS=ClientLib_en.properties 76*7c478bd9Sstevel@tonic-gateSERVER_MSGS=Server_en.properties 77*7c478bd9Sstevel@tonic-gateMSGFILES=$(MSGDIR)/$(CLIENT_MSGS) $(MSGDIR)/$(SERVER_MSGS) 78*7c478bd9Sstevel@tonic-gate 79*7c478bd9Sstevel@tonic-gate$(MSGFILES) := OWNER = root 80*7c478bd9Sstevel@tonic-gate$(MSGFILES) := GROUP = sys 81*7c478bd9Sstevel@tonic-gate 82*7c478bd9Sstevel@tonic-gate$(JARDESTDIR)/$(SLPJAR) := OWNER = root 83*7c478bd9Sstevel@tonic-gate$(JARDESTDIR)/$(SLPJAR) := GROUP = sys 84*7c478bd9Sstevel@tonic-gate 85*7c478bd9Sstevel@tonic-gate$(JARDESTDIR)/$(SLPDJAR) := OWNER = root 86*7c478bd9Sstevel@tonic-gate$(JARDESTDIR)/$(SLPDJAR) := GROUP = sys 87*7c478bd9Sstevel@tonic-gate$(JARDESTDIR)/$(SLPDJAR) := FILEMODE = 600 88*7c478bd9Sstevel@tonic-gate 89*7c478bd9Sstevel@tonic-gate 90*7c478bd9Sstevel@tonic-gate# All SLP classes, not including internal classes (since these are 91*7c478bd9Sstevel@tonic-gate# generated and packaged automatically buy this Makefile). Since 92*7c478bd9Sstevel@tonic-gate# we take advantage of -Xdepend, the strategy is to place trigger 93*7c478bd9Sstevel@tonic-gate# classes at the beginning of the list; these will trigger javac to 94*7c478bd9Sstevel@tonic-gate# compile all other classes. 95*7c478bd9Sstevel@tonic-gateSLP_CLASSES=\ 96*7c478bd9Sstevel@tonic-gateUARequester.class SARequester.class slpd.class \ 97*7c478bd9Sstevel@tonic-gateSunServerDATable.class AttributeVerifier.class \ 98*7c478bd9Sstevel@tonic-gateSunDATable.class SLPHeaderV2.class SLPServerHeaderV2.class \ 99*7c478bd9Sstevel@tonic-gateSLPHeaderV1.class SLPV1Manager.class Syslog.class \ 100*7c478bd9Sstevel@tonic-gateStderrLog.class SLPDgui.class \ 101*7c478bd9Sstevel@tonic-gateServiceLocationException.class ServiceLocationEnumeration.class \ 102*7c478bd9Sstevel@tonic-gateServiceLocationEnumerator.class Assert.class \ 103*7c478bd9Sstevel@tonic-gateServiceType.class ServiceURL.class \ 104*7c478bd9Sstevel@tonic-gateServiceLocationAttribute.class ServerAttribute.class \ 105*7c478bd9Sstevel@tonic-gateAttributeString.class AttributePattern.class \ 106*7c478bd9Sstevel@tonic-gateOpaque.class AuthBlock.class \ 107*7c478bd9Sstevel@tonic-gateDefaults.class SLPConfig.class \ 108*7c478bd9Sstevel@tonic-gateSrvLocMsg.class SrvLocHeader.class\ 109*7c478bd9Sstevel@tonic-gateSrvLocMsgImpl.class CAttrMsg.class \ 110*7c478bd9Sstevel@tonic-gateSAttrMsg.class CDAAdvert.class \ 111*7c478bd9Sstevel@tonic-gateSDAAdvert.class CSAAdvert.class \ 112*7c478bd9Sstevel@tonic-gateSSAAdvert.class CSrvMsg.class \ 113*7c478bd9Sstevel@tonic-gateSSrvMsg.class CSrvTypeMsg.class \ 114*7c478bd9Sstevel@tonic-gateSSrvTypeMsg.class CSrvReg.class \ 115*7c478bd9Sstevel@tonic-gateSSrvReg.class CSrvDereg.class \ 116*7c478bd9Sstevel@tonic-gateSSrvDereg.class DATable.class \ 117*7c478bd9Sstevel@tonic-gateServiceStore.class ServiceStoreFactory.class \ 118*7c478bd9Sstevel@tonic-gateServiceTable.class ServiceStoreInMemory.class \ 119*7c478bd9Sstevel@tonic-gateAdvertiser.class Locator.class \ 120*7c478bd9Sstevel@tonic-gateServiceLocationManager.class PermSARegTable.class \ 121*7c478bd9Sstevel@tonic-gateDAAdvertiser.class ServerDATable.class \ 122*7c478bd9Sstevel@tonic-gateListener.class StreamListener.class \ 123*7c478bd9Sstevel@tonic-gateRequestHandler.class Transact.class \ 124*7c478bd9Sstevel@tonic-gateSLPV1SAttrMsg.class SLPV1SDAAdvert.class \ 125*7c478bd9Sstevel@tonic-gateSLPV1SSrvDereg.class SLPV1SSrvMsg.class \ 126*7c478bd9Sstevel@tonic-gateSLPV1SSrvReg.class SLPV1SSrvTypeMsg.class \ 127*7c478bd9Sstevel@tonic-gateServiceLocationAttributeV1.class ServiceURLV1.class \ 128*7c478bd9Sstevel@tonic-gateSLPTemplateRegistry.class ActiveDiscoverer.class \ 129*7c478bd9Sstevel@tonic-gateAttributeDescriptor.class ClientMsgManager.class \ 130*7c478bd9Sstevel@tonic-gateIANACharCode.class Parser.class \ 131*7c478bd9Sstevel@tonic-gateServiceLocationAttributeVerifier.class SLPV1CDAAdvert.class \ 132*7c478bd9Sstevel@tonic-gateURLAttributeVerifier.class TemplateRegistry.class \ 133*7c478bd9Sstevel@tonic-gateServiceLocationAttributeDescriptor.class \ 134*7c478bd9Sstevel@tonic-gateSLPTokenizer.class 135*7c478bd9Sstevel@tonic-gate 136*7c478bd9Sstevel@tonic-gate# This is a hand-crafted subset of classes that are needed for slp.jar. 137*7c478bd9Sstevel@tonic-gate# We take the extra effort here so that customers don't need to pull 138*7c478bd9Sstevel@tonic-gate# in slpd.jar, which is more than double the size of slp.jar, when 139*7c478bd9Sstevel@tonic-gate# they will only need these classes. 140*7c478bd9Sstevel@tonic-gateUA_SA_SUBSET_CLASSES_ORIG=\ 141*7c478bd9Sstevel@tonic-gateAdvertiser.class Assert.class AttributeString.class \ 142*7c478bd9Sstevel@tonic-gateAuthBlock.class CAttrMsg.class CDAAdvert.class \ 143*7c478bd9Sstevel@tonic-gateCSAAdvert.class CSrvDereg.class CSrvMsg.class \ 144*7c478bd9Sstevel@tonic-gateCSrvReg.class CSrvTypeMsg.class DATable\$$DARecord.class \ 145*7c478bd9Sstevel@tonic-gateSLPHeaderV2.class SrvLocHeader.class SrvLocMsgImpl.class \ 146*7c478bd9Sstevel@tonic-gateDATable.class Defaults.class \ 147*7c478bd9Sstevel@tonic-gateLocator.class Opaque.class PermSARegTable.class \ 148*7c478bd9Sstevel@tonic-gateSARequester.class SLPConfig.class Syslog.class \ 149*7c478bd9Sstevel@tonic-gateServiceURL.class SrvLocMsg.class Transact.class \ 150*7c478bd9Sstevel@tonic-gateServerAttribute.class ServiceLocationAttribute.class \ 151*7c478bd9Sstevel@tonic-gateServiceLocationEnumeration.class ServiceLocationEnumerator.class \ 152*7c478bd9Sstevel@tonic-gateServiceLocationException.class ServiceType.class \ 153*7c478bd9Sstevel@tonic-gateUARequester.class ServiceLocationManager.class \ 154*7c478bd9Sstevel@tonic-gateSunDATable.class TemplateRegistry.class SLPTemplateRegistry.class \ 155*7c478bd9Sstevel@tonic-gateServiceLocationAttributeVerifier.class AttributeVerifier.class \ 156*7c478bd9Sstevel@tonic-gateServiceLocationAttributeDescriptor.class AttributeDescriptor.class \ 157*7c478bd9Sstevel@tonic-gateURLAttributeVerifier.class StderrLog.class \ 158*7c478bd9Sstevel@tonic-gateStderrLog.class SLPConfig\$$SLPProperties.class \ 159*7c478bd9Sstevel@tonic-gateSLPHeaderV2\$$OptionParser.class SLPHeaderV2\$$SLPOption.class \ 160*7c478bd9Sstevel@tonic-gateSLPTokenizer.class 161*7c478bd9Sstevel@tonic-gate 162*7c478bd9Sstevel@tonic-gateALL_SLP_CLASSES=${SLP_CLASSES:%=$(CLASSES)/$(PKGPATH)/%} 163*7c478bd9Sstevel@tonic-gateUA_SA_SUBSET_CLASSES=${UA_SA_SUBSET_CLASSES_ORIG:%=$(PKGPATH)/%} 164