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) 59JFLAGS += -source 7 -target 7 -Xlint:-options 60 61# The default make rule for Java files 62COMPILE.java=$(JAVAC) $(JFLAGS) 63 64$(CLASSES)/$(PKGPATH)/%.class: $(SLPJAVASRC)/$(PKGPATH)/%.java 65 $(COMPILE.java) $< 66 67# Where to put the message files 68MSGDIR = $(ROOT)/usr/share/lib/locale/$(PKGPATH) 69MSGDIRS = $(ROOT)/usr/share/lib/locale \ 70 $(ROOT)/usr/share/lib/locale/com \ 71 $(ROOT)/usr/share/lib/locale/com/sun \ 72 $(MSGDIR) 73CLIENT_MSGS=ClientLib_en.properties 74SERVER_MSGS=Server_en.properties 75MSGFILES=$(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. 85SLP_CLASSES=\ 86UARequester.class SARequester.class slpd.class \ 87SunServerDATable.class AttributeVerifier.class \ 88SunDATable.class SLPHeaderV2.class SLPServerHeaderV2.class \ 89SLPHeaderV1.class SLPV1Manager.class Syslog.class \ 90StderrLog.class SLPDgui.class \ 91ServiceLocationException.class ServiceLocationEnumeration.class \ 92ServiceLocationEnumerator.class Assert.class \ 93ServiceType.class ServiceURL.class \ 94ServiceLocationAttribute.class ServerAttribute.class \ 95AttributeString.class AttributePattern.class \ 96Opaque.class AuthBlock.class \ 97Defaults.class SLPConfig.class \ 98SrvLocMsg.class SrvLocHeader.class\ 99SrvLocMsgImpl.class CAttrMsg.class \ 100SAttrMsg.class CDAAdvert.class \ 101SDAAdvert.class CSAAdvert.class \ 102SSAAdvert.class CSrvMsg.class \ 103SSrvMsg.class CSrvTypeMsg.class \ 104SSrvTypeMsg.class CSrvReg.class \ 105SSrvReg.class CSrvDereg.class \ 106SSrvDereg.class DATable.class \ 107ServiceStore.class ServiceStoreFactory.class \ 108ServiceTable.class ServiceStoreInMemory.class \ 109Advertiser.class Locator.class \ 110ServiceLocationManager.class PermSARegTable.class \ 111DAAdvertiser.class ServerDATable.class \ 112Listener.class StreamListener.class \ 113RequestHandler.class Transact.class \ 114SLPV1SAttrMsg.class SLPV1SDAAdvert.class \ 115SLPV1SSrvDereg.class SLPV1SSrvMsg.class \ 116SLPV1SSrvReg.class SLPV1SSrvTypeMsg.class \ 117ServiceLocationAttributeV1.class ServiceURLV1.class \ 118SLPTemplateRegistry.class ActiveDiscoverer.class \ 119AttributeDescriptor.class ClientMsgManager.class \ 120IANACharCode.class Parser.class \ 121ServiceLocationAttributeVerifier.class SLPV1CDAAdvert.class \ 122URLAttributeVerifier.class TemplateRegistry.class \ 123ServiceLocationAttributeDescriptor.class \ 124SLPTokenizer.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. 130UA_SA_SUBSET_CLASSES_ORIG=\ 131Advertiser.class Assert.class AttributeString.class \ 132AuthBlock.class CAttrMsg.class CDAAdvert.class \ 133CSAAdvert.class CSrvDereg.class CSrvMsg.class \ 134CSrvReg.class CSrvTypeMsg.class DATable\$$DARecord.class \ 135SLPHeaderV2.class SrvLocHeader.class SrvLocMsgImpl.class \ 136DATable.class Defaults.class \ 137Locator.class Opaque.class PermSARegTable.class \ 138SARequester.class SLPConfig.class Syslog.class \ 139ServiceURL.class SrvLocMsg.class Transact.class \ 140ServerAttribute.class ServiceLocationAttribute.class \ 141ServiceLocationEnumeration.class ServiceLocationEnumerator.class \ 142ServiceLocationException.class ServiceType.class \ 143UARequester.class ServiceLocationManager.class \ 144SunDATable.class TemplateRegistry.class SLPTemplateRegistry.class \ 145ServiceLocationAttributeVerifier.class AttributeVerifier.class \ 146ServiceLocationAttributeDescriptor.class AttributeDescriptor.class \ 147URLAttributeVerifier.class StderrLog.class \ 148StderrLog.class SLPConfig\$$SLPProperties.class \ 149SLPHeaderV2\$$OptionParser.class SLPHeaderV2\$$SLPOption.class \ 150SLPTokenizer.class 151 152ALL_SLP_CLASSES=${SLP_CLASSES:%=$(CLASSES)/$(PKGPATH)/%} 153UA_SA_SUBSET_CLASSES=${UA_SA_SUBSET_CLASSES_ORIG:%=$(PKGPATH)/%} 154