#
# 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.
#
# Makefile configuration for SLP.
# The SLP Java package
PKGPATH=com/sun/slp
PKGNAME=com.sun.slp
# The SLP directories.
SLPDIR=$(SRC)/lib/libslp
DOC=$(SLPDIR)/javadoc
CLASSES=$(SLPDIR)/classes
SLPJAVASRC=$(SLPDIR)/javalib
# SLP jar file, its ultimate destination, and packaging details
SLPJAR=slp.jar
SLPDJAR=slpd.jar
JARDESTDIR=$(ROOT)/usr/share/lib/slp
INSJARS=$(JARDESTDIR)/$(SLPJAR) $(JARDESTDIR)/$(SLPDJAR)
$(JARDESTDIR)/%: $(CLASSES)/%
$(INS.file)
# Manifest files
SLPMANI= $(CLASSES)/manifest.slp
SLPDMANI= $(CLASSES)/manifest.slpd
MANIFESTS= $(SLPMANI) $(SLPDMANI)
# Controlled CLASSPATH for making
SLPCLASSPATH=$(CLASSES):$(SLPJAVASRC)
# javac flags
JFLAGS= -O -d $(CLASSES) -sourcepath $(SLPCLASSPATH)
JFLAGS += -source 1.6 -target 1.6 -Xlint:deprecation,-options
# The default make rule for Java files
COMPILE.java=$(JAVAC) $(JFLAGS)
$(CLASSES)/$(PKGPATH)/%.class: $(SLPJAVASRC)/$(PKGPATH)/%.java
$(COMPILE.java) $<
# Where to put the message files
MSGDIR = $(ROOT)/usr/share/lib/locale/$(PKGPATH)
MSGDIRS = $(ROOT)/usr/share/lib/locale \
$(ROOT)/usr/share/lib/locale/com \
$(ROOT)/usr/share/lib/locale/com/sun \
$(MSGDIR)
CLIENT_MSGS=ClientLib_en.properties
SERVER_MSGS=Server_en.properties
MSGFILES=$(MSGDIR)/$(CLIENT_MSGS) $(MSGDIR)/$(SERVER_MSGS)
$(JARDESTDIR)/$(SLPDJAR) := FILEMODE = 600
# All SLP classes, not including internal classes (since these are
# generated and packaged automatically buy this Makefile). Since
# we take advantage of -Xdepend, the strategy is to place trigger
# classes at the beginning of the list; these will trigger javac to
# compile all other classes.
SLP_CLASSES=\
UARequester.class SARequester.class slpd.class \
SunServerDATable.class AttributeVerifier.class \
SunDATable.class SLPHeaderV2.class SLPServerHeaderV2.class \
SLPHeaderV1.class SLPV1Manager.class Syslog.class \
StderrLog.class SLPDgui.class \
ServiceLocationException.class ServiceLocationEnumeration.class \
ServiceLocationEnumerator.class Assert.class \
ServiceType.class ServiceURL.class \
ServiceLocationAttribute.class ServerAttribute.class \
AttributeString.class AttributePattern.class \
Opaque.class AuthBlock.class \
Defaults.class SLPConfig.class \
SrvLocMsg.class SrvLocHeader.class\
SrvLocMsgImpl.class CAttrMsg.class \
SAttrMsg.class CDAAdvert.class \
SDAAdvert.class CSAAdvert.class \
SSAAdvert.class CSrvMsg.class \
SSrvMsg.class CSrvTypeMsg.class \
SSrvTypeMsg.class CSrvReg.class \
SSrvReg.class CSrvDereg.class \
SSrvDereg.class DATable.class \
ServiceStore.class ServiceStoreFactory.class \
ServiceTable.class ServiceStoreInMemory.class \
Advertiser.class Locator.class \
ServiceLocationManager.class PermSARegTable.class \
DAAdvertiser.class ServerDATable.class \
Listener.class StreamListener.class \
RequestHandler.class Transact.class \
SLPV1SAttrMsg.class SLPV1SDAAdvert.class \
SLPV1SSrvDereg.class SLPV1SSrvMsg.class \
SLPV1SSrvReg.class SLPV1SSrvTypeMsg.class \
ServiceLocationAttributeV1.class ServiceURLV1.class \
SLPTemplateRegistry.class ActiveDiscoverer.class \
AttributeDescriptor.class ClientMsgManager.class \
IANACharCode.class Parser.class \
ServiceLocationAttributeVerifier.class SLPV1CDAAdvert.class \
URLAttributeVerifier.class TemplateRegistry.class \
ServiceLocationAttributeDescriptor.class \
SLPTokenizer.class
# This is a hand-crafted subset of classes that are needed for slp.jar.
# We take the extra effort here so that customers don't need to pull
# in slpd.jar, which is more than double the size of slp.jar, when
# they will only need these classes.
UA_SA_SUBSET_CLASSES_ORIG=\
Advertiser.class Assert.class AttributeString.class \
AuthBlock.class CAttrMsg.class CDAAdvert.class \
CSAAdvert.class CSrvDereg.class CSrvMsg.class \
CSrvReg.class CSrvTypeMsg.class DATable\$$DARecord.class \
SLPHeaderV2.class SrvLocHeader.class SrvLocMsgImpl.class \
DATable.class Defaults.class \
Locator.class Opaque.class PermSARegTable.class \
SARequester.class SLPConfig.class Syslog.class \
ServiceURL.class SrvLocMsg.class Transact.class \
ServerAttribute.class ServiceLocationAttribute.class \
ServiceLocationEnumeration.class ServiceLocationEnumerator.class \
ServiceLocationException.class ServiceType.class \
UARequester.class ServiceLocationManager.class \
SunDATable.class TemplateRegistry.class SLPTemplateRegistry.class \
ServiceLocationAttributeVerifier.class AttributeVerifier.class \
ServiceLocationAttributeDescriptor.class AttributeDescriptor.class \
URLAttributeVerifier.class StderrLog.class \
StderrLog.class SLPConfig\$$SLPProperties.class \
SLPHeaderV2\$$OptionParser.class SLPHeaderV2\$$SLPOption.class \
SLPTokenizer.class
ALL_SLP_CLASSES=${SLP_CLASSES:%=$(CLASSES)/$(PKGPATH)/%}
UA_SA_SUBSET_CLASSES=${UA_SA_SUBSET_CLASSES_ORIG:%=$(PKGPATH)/%}