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