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 # Makefile configuration for SLP. 26 27 # The SLP Java package 28 29 PKGPATH=com/sun/slp 30 PKGNAME=com.sun.slp 31 32 # The SLP directories. 33 34 SLPDIR=$(SRC)/lib/libslp 35 DOC=$(SLPDIR)/javadoc 36 CLASSES=$(SLPDIR)/classes 37 SLPJAVASRC=$(SLPDIR)/javalib 38 39 # SLP jar file, its ultimate destination, and packaging details 40 SLPJAR=slp.jar 41 SLPDJAR=slpd.jar 42 JARDESTDIR=$(ROOT)/usr/share/lib/slp 43 INSJARS=$(JARDESTDIR)/$(SLPJAR) $(JARDESTDIR)/$(SLPDJAR) 44 45 $(JARDESTDIR)/%: $(CLASSES)/% 46 $(INS.file) 47 48 # Manifest files 49 SLPMANI= $(CLASSES)/manifest.slp 50 SLPDMANI= $(CLASSES)/manifest.slpd 51 52 MANIFESTS= $(SLPMANI) $(SLPDMANI) 53 54 # Controlled CLASSPATH for making 55 SLPCLASSPATH=$(CLASSES):$(SLPJAVASRC) 56 57 # javac flags 58 JFLAGS= -O -d $(CLASSES) -sourcepath $(SLPCLASSPATH) -deprecation 59 60 # The default make rule for Java files 61 COMPILE.java=$(JAVAC) $(JFLAGS) 62 63 $(CLASSES)/$(PKGPATH)/%.class: $(SLPJAVASRC)/$(PKGPATH)/%.java 64 $(COMPILE.java) $< 65 66 # Where to put the message files 67 MSGDIR = $(ROOT)/usr/share/lib/locale/$(PKGPATH) 68 MSGDIRS = $(ROOT)/usr/share/lib/locale \ 69 $(ROOT)/usr/share/lib/locale/com \ 70 $(ROOT)/usr/share/lib/locale/com/sun \ 71 $(MSGDIR) 72 CLIENT_MSGS=ClientLib_en.properties 73 SERVER_MSGS=Server_en.properties 74 MSGFILES=$(MSGDIR)/$(CLIENT_MSGS) $(MSGDIR)/$(SERVER_MSGS) 75 76 $(JARDESTDIR)/$(SLPDJAR) := FILEMODE = 600 77 78 79 # All SLP classes, not including internal classes (since these are 80 # generated and packaged automatically buy this Makefile). Since 81 # we take advantage of -Xdepend, the strategy is to place trigger 82 # classes at the beginning of the list; these will trigger javac to 83 # compile all other classes. 84 SLP_CLASSES=\ 85 UARequester.class SARequester.class slpd.class \ 86 SunServerDATable.class AttributeVerifier.class \ 87 SunDATable.class SLPHeaderV2.class SLPServerHeaderV2.class \ 88 SLPHeaderV1.class SLPV1Manager.class Syslog.class \ 89 StderrLog.class SLPDgui.class \ 90 ServiceLocationException.class ServiceLocationEnumeration.class \ 91 ServiceLocationEnumerator.class Assert.class \ 92 ServiceType.class ServiceURL.class \ 93 ServiceLocationAttribute.class ServerAttribute.class \ 94 AttributeString.class AttributePattern.class \ 95 Opaque.class AuthBlock.class \ 96 Defaults.class SLPConfig.class \ 97 SrvLocMsg.class SrvLocHeader.class\ 98 SrvLocMsgImpl.class CAttrMsg.class \ 99 SAttrMsg.class CDAAdvert.class \ 100 SDAAdvert.class CSAAdvert.class \ 101 SSAAdvert.class CSrvMsg.class \ 102 SSrvMsg.class CSrvTypeMsg.class \ 103 SSrvTypeMsg.class CSrvReg.class \ 104 SSrvReg.class CSrvDereg.class \ 105 SSrvDereg.class DATable.class \ 106 ServiceStore.class ServiceStoreFactory.class \ 107 ServiceTable.class ServiceStoreInMemory.class \ 108 Advertiser.class Locator.class \ 109 ServiceLocationManager.class PermSARegTable.class \ 110 DAAdvertiser.class ServerDATable.class \ 111 Listener.class StreamListener.class \ 112 RequestHandler.class Transact.class \ 113 SLPV1SAttrMsg.class SLPV1SDAAdvert.class \ 114 SLPV1SSrvDereg.class SLPV1SSrvMsg.class \ 115 SLPV1SSrvReg.class SLPV1SSrvTypeMsg.class \ 116 ServiceLocationAttributeV1.class ServiceURLV1.class \ 117 SLPTemplateRegistry.class ActiveDiscoverer.class \ 118 AttributeDescriptor.class ClientMsgManager.class \ 119 IANACharCode.class Parser.class \ 120 ServiceLocationAttributeVerifier.class SLPV1CDAAdvert.class \ 121 URLAttributeVerifier.class TemplateRegistry.class \ 122 ServiceLocationAttributeDescriptor.class \ 123 SLPTokenizer.class 124 125 # This is a hand-crafted subset of classes that are needed for slp.jar. 126 # We take the extra effort here so that customers don't need to pull 127 # in slpd.jar, which is more than double the size of slp.jar, when 128 # they will only need these classes. 129 UA_SA_SUBSET_CLASSES_ORIG=\ 130 Advertiser.class Assert.class AttributeString.class \ 131 AuthBlock.class CAttrMsg.class CDAAdvert.class \ 132 CSAAdvert.class CSrvDereg.class CSrvMsg.class \ 133 CSrvReg.class CSrvTypeMsg.class DATable\$$DARecord.class \ 134 SLPHeaderV2.class SrvLocHeader.class SrvLocMsgImpl.class \ 135 DATable.class Defaults.class \ 136 Locator.class Opaque.class PermSARegTable.class \ 137 SARequester.class SLPConfig.class Syslog.class \ 138 ServiceURL.class SrvLocMsg.class Transact.class \ 139 ServerAttribute.class ServiceLocationAttribute.class \ 140 ServiceLocationEnumeration.class ServiceLocationEnumerator.class \ 141 ServiceLocationException.class ServiceType.class \ 142 UARequester.class ServiceLocationManager.class \ 143 SunDATable.class TemplateRegistry.class SLPTemplateRegistry.class \ 144 ServiceLocationAttributeVerifier.class AttributeVerifier.class \ 145 ServiceLocationAttributeDescriptor.class AttributeDescriptor.class \ 146 URLAttributeVerifier.class StderrLog.class \ 147 StderrLog.class SLPConfig\$$SLPProperties.class \ 148 SLPHeaderV2\$$OptionParser.class SLPHeaderV2\$$SLPOption.class \ 149 SLPTokenizer.class 150 151 ALL_SLP_CLASSES=${SLP_CLASSES:%=$(CLASSES)/$(PKGPATH)/%} 152 UA_SA_SUBSET_CLASSES=${UA_SA_SUBSET_CLASSES_ORIG:%=$(PKGPATH)/%}