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 29PKGPATH=com/sun/slp 30PKGNAME=com.sun.slp 31 32# The SLP directories. 33 34SLPDIR=$(SRC)/lib/libslp 35DOC=$(SLPDIR)/javadoc 36CLASSES=$(SLPDIR)/classes 37SLPJAVASRC=$(SLPDIR)/javalib 38 39# SLP jar file, its ultimate destination, and packaging details 40SLPJAR=slp.jar 41SLPDJAR=slpd.jar 42JARDESTDIR=$(ROOT)/usr/share/lib/slp 43INSJARS=$(JARDESTDIR)/$(SLPJAR) $(JARDESTDIR)/$(SLPDJAR) 44 45$(JARDESTDIR)/%: $(CLASSES)/% 46 $(INS.file) 47 48# Manifest files 49SLPMANI= $(CLASSES)/manifest.slp 50SLPDMANI= $(CLASSES)/manifest.slpd 51 52MANIFESTS= $(SLPMANI) $(SLPDMANI) 53 54# Controlled CLASSPATH for making 55SLPCLASSPATH=$(CLASSES):$(SLPJAVASRC) 56 57# javac flags 58JFLAGS= -O -d $(CLASSES) -sourcepath $(SLPCLASSPATH) -deprecation 59 60# The default make rule for Java files 61COMPILE.java=$(JAVAC) $(JFLAGS) 62 63$(CLASSES)/$(PKGPATH)/%.class: $(SLPJAVASRC)/$(PKGPATH)/%.java 64 $(COMPILE.java) $< 65 66# Where to put the message files 67MSGDIR = $(ROOT)/usr/share/lib/locale/$(PKGPATH) 68MSGDIRS = $(ROOT)/usr/share/lib/locale \ 69 $(ROOT)/usr/share/lib/locale/com \ 70 $(ROOT)/usr/share/lib/locale/com/sun \ 71 $(MSGDIR) 72CLIENT_MSGS=ClientLib_en.properties 73SERVER_MSGS=Server_en.properties 74MSGFILES=$(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. 84SLP_CLASSES=\ 85UARequester.class SARequester.class slpd.class \ 86SunServerDATable.class AttributeVerifier.class \ 87SunDATable.class SLPHeaderV2.class SLPServerHeaderV2.class \ 88SLPHeaderV1.class SLPV1Manager.class Syslog.class \ 89StderrLog.class SLPDgui.class \ 90ServiceLocationException.class ServiceLocationEnumeration.class \ 91ServiceLocationEnumerator.class Assert.class \ 92ServiceType.class ServiceURL.class \ 93ServiceLocationAttribute.class ServerAttribute.class \ 94AttributeString.class AttributePattern.class \ 95Opaque.class AuthBlock.class \ 96Defaults.class SLPConfig.class \ 97SrvLocMsg.class SrvLocHeader.class\ 98SrvLocMsgImpl.class CAttrMsg.class \ 99SAttrMsg.class CDAAdvert.class \ 100SDAAdvert.class CSAAdvert.class \ 101SSAAdvert.class CSrvMsg.class \ 102SSrvMsg.class CSrvTypeMsg.class \ 103SSrvTypeMsg.class CSrvReg.class \ 104SSrvReg.class CSrvDereg.class \ 105SSrvDereg.class DATable.class \ 106ServiceStore.class ServiceStoreFactory.class \ 107ServiceTable.class ServiceStoreInMemory.class \ 108Advertiser.class Locator.class \ 109ServiceLocationManager.class PermSARegTable.class \ 110DAAdvertiser.class ServerDATable.class \ 111Listener.class StreamListener.class \ 112RequestHandler.class Transact.class \ 113SLPV1SAttrMsg.class SLPV1SDAAdvert.class \ 114SLPV1SSrvDereg.class SLPV1SSrvMsg.class \ 115SLPV1SSrvReg.class SLPV1SSrvTypeMsg.class \ 116ServiceLocationAttributeV1.class ServiceURLV1.class \ 117SLPTemplateRegistry.class ActiveDiscoverer.class \ 118AttributeDescriptor.class ClientMsgManager.class \ 119IANACharCode.class Parser.class \ 120ServiceLocationAttributeVerifier.class SLPV1CDAAdvert.class \ 121URLAttributeVerifier.class TemplateRegistry.class \ 122ServiceLocationAttributeDescriptor.class \ 123SLPTokenizer.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. 129UA_SA_SUBSET_CLASSES_ORIG=\ 130Advertiser.class Assert.class AttributeString.class \ 131AuthBlock.class CAttrMsg.class CDAAdvert.class \ 132CSAAdvert.class CSrvDereg.class CSrvMsg.class \ 133CSrvReg.class CSrvTypeMsg.class DATable\$$DARecord.class \ 134SLPHeaderV2.class SrvLocHeader.class SrvLocMsgImpl.class \ 135DATable.class Defaults.class \ 136Locator.class Opaque.class PermSARegTable.class \ 137SARequester.class SLPConfig.class Syslog.class \ 138ServiceURL.class SrvLocMsg.class Transact.class \ 139ServerAttribute.class ServiceLocationAttribute.class \ 140ServiceLocationEnumeration.class ServiceLocationEnumerator.class \ 141ServiceLocationException.class ServiceType.class \ 142UARequester.class ServiceLocationManager.class \ 143SunDATable.class TemplateRegistry.class SLPTemplateRegistry.class \ 144ServiceLocationAttributeVerifier.class AttributeVerifier.class \ 145ServiceLocationAttributeDescriptor.class AttributeDescriptor.class \ 146URLAttributeVerifier.class StderrLog.class \ 147StderrLog.class SLPConfig\$$SLPProperties.class \ 148SLPHeaderV2\$$OptionParser.class SLPHeaderV2\$$SLPOption.class \ 149SLPTokenizer.class 150 151ALL_SLP_CLASSES=${SLP_CLASSES:%=$(CLASSES)/$(PKGPATH)/%} 152UA_SA_SUBSET_CLASSES=${UA_SA_SUBSET_CLASSES_ORIG:%=$(PKGPATH)/%} 153