17c478bd9Sstevel@tonic-gate# 27c478bd9Sstevel@tonic-gate# CDDL HEADER START 37c478bd9Sstevel@tonic-gate# 47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 524fe0b3bSjmcp# Common Development and Distribution License (the "License"). 624fe0b3bSjmcp# You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate# 87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate# and limitations under the License. 127c478bd9Sstevel@tonic-gate# 137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate# 197c478bd9Sstevel@tonic-gate# CDDL HEADER END 207c478bd9Sstevel@tonic-gate# 217c478bd9Sstevel@tonic-gate# 2224fe0b3bSjmcp# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 237c478bd9Sstevel@tonic-gate# Use is subject to license terms. 247c478bd9Sstevel@tonic-gate# 257c478bd9Sstevel@tonic-gate# Makefile configuration for SLP. 267c478bd9Sstevel@tonic-gate 277c478bd9Sstevel@tonic-gate# The SLP Java package 287c478bd9Sstevel@tonic-gate 297c478bd9Sstevel@tonic-gatePKGPATH=com/sun/slp 307c478bd9Sstevel@tonic-gatePKGNAME=com.sun.slp 317c478bd9Sstevel@tonic-gate 327c478bd9Sstevel@tonic-gate# The SLP directories. 337c478bd9Sstevel@tonic-gate 347c478bd9Sstevel@tonic-gateSLPDIR=$(SRC)/lib/libslp 357c478bd9Sstevel@tonic-gateDOC=$(SLPDIR)/javadoc 367c478bd9Sstevel@tonic-gateCLASSES=$(SLPDIR)/classes 377c478bd9Sstevel@tonic-gateSLPJAVASRC=$(SLPDIR)/javalib 387c478bd9Sstevel@tonic-gate 397c478bd9Sstevel@tonic-gate# SLP jar file, its ultimate destination, and packaging details 407c478bd9Sstevel@tonic-gateSLPJAR=slp.jar 417c478bd9Sstevel@tonic-gateSLPDJAR=slpd.jar 427c478bd9Sstevel@tonic-gateJARDESTDIR=$(ROOT)/usr/share/lib/slp 437c478bd9Sstevel@tonic-gateINSJARS=$(JARDESTDIR)/$(SLPJAR) $(JARDESTDIR)/$(SLPDJAR) 447c478bd9Sstevel@tonic-gate 457c478bd9Sstevel@tonic-gate$(JARDESTDIR)/%: $(CLASSES)/% 467c478bd9Sstevel@tonic-gate $(INS.file) 477c478bd9Sstevel@tonic-gate 487c478bd9Sstevel@tonic-gate# Manifest files 497c478bd9Sstevel@tonic-gateSLPMANI= $(CLASSES)/manifest.slp 507c478bd9Sstevel@tonic-gateSLPDMANI= $(CLASSES)/manifest.slpd 517c478bd9Sstevel@tonic-gate 527c478bd9Sstevel@tonic-gateMANIFESTS= $(SLPMANI) $(SLPDMANI) 537c478bd9Sstevel@tonic-gate 547c478bd9Sstevel@tonic-gate# Controlled CLASSPATH for making 557c478bd9Sstevel@tonic-gateSLPCLASSPATH=$(CLASSES):$(SLPJAVASRC) 567c478bd9Sstevel@tonic-gate 577c478bd9Sstevel@tonic-gate# javac flags 58*4d0eb50eSRichard PALOJFLAGS= -O -d $(CLASSES) -sourcepath $(SLPCLASSPATH) 59*4d0eb50eSRichard PALOJFLAGS += -source 1.6 -target 1.6 -Xlint:deprecation,-options 607c478bd9Sstevel@tonic-gate 617c478bd9Sstevel@tonic-gate# The default make rule for Java files 627c478bd9Sstevel@tonic-gateCOMPILE.java=$(JAVAC) $(JFLAGS) 637c478bd9Sstevel@tonic-gate 647c478bd9Sstevel@tonic-gate$(CLASSES)/$(PKGPATH)/%.class: $(SLPJAVASRC)/$(PKGPATH)/%.java 657c478bd9Sstevel@tonic-gate $(COMPILE.java) $< 667c478bd9Sstevel@tonic-gate 677c478bd9Sstevel@tonic-gate# Where to put the message files 687c478bd9Sstevel@tonic-gateMSGDIR = $(ROOT)/usr/share/lib/locale/$(PKGPATH) 697c478bd9Sstevel@tonic-gateMSGDIRS = $(ROOT)/usr/share/lib/locale \ 707c478bd9Sstevel@tonic-gate $(ROOT)/usr/share/lib/locale/com \ 717c478bd9Sstevel@tonic-gate $(ROOT)/usr/share/lib/locale/com/sun \ 727c478bd9Sstevel@tonic-gate $(MSGDIR) 737c478bd9Sstevel@tonic-gateCLIENT_MSGS=ClientLib_en.properties 747c478bd9Sstevel@tonic-gateSERVER_MSGS=Server_en.properties 757c478bd9Sstevel@tonic-gateMSGFILES=$(MSGDIR)/$(CLIENT_MSGS) $(MSGDIR)/$(SERVER_MSGS) 767c478bd9Sstevel@tonic-gate 777c478bd9Sstevel@tonic-gate$(JARDESTDIR)/$(SLPDJAR) := FILEMODE = 600 787c478bd9Sstevel@tonic-gate 797c478bd9Sstevel@tonic-gate 807c478bd9Sstevel@tonic-gate# All SLP classes, not including internal classes (since these are 817c478bd9Sstevel@tonic-gate# generated and packaged automatically buy this Makefile). Since 827c478bd9Sstevel@tonic-gate# we take advantage of -Xdepend, the strategy is to place trigger 837c478bd9Sstevel@tonic-gate# classes at the beginning of the list; these will trigger javac to 847c478bd9Sstevel@tonic-gate# compile all other classes. 857c478bd9Sstevel@tonic-gateSLP_CLASSES=\ 867c478bd9Sstevel@tonic-gateUARequester.class SARequester.class slpd.class \ 877c478bd9Sstevel@tonic-gateSunServerDATable.class AttributeVerifier.class \ 887c478bd9Sstevel@tonic-gateSunDATable.class SLPHeaderV2.class SLPServerHeaderV2.class \ 897c478bd9Sstevel@tonic-gateSLPHeaderV1.class SLPV1Manager.class Syslog.class \ 907c478bd9Sstevel@tonic-gateStderrLog.class SLPDgui.class \ 917c478bd9Sstevel@tonic-gateServiceLocationException.class ServiceLocationEnumeration.class \ 927c478bd9Sstevel@tonic-gateServiceLocationEnumerator.class Assert.class \ 937c478bd9Sstevel@tonic-gateServiceType.class ServiceURL.class \ 947c478bd9Sstevel@tonic-gateServiceLocationAttribute.class ServerAttribute.class \ 957c478bd9Sstevel@tonic-gateAttributeString.class AttributePattern.class \ 967c478bd9Sstevel@tonic-gateOpaque.class AuthBlock.class \ 977c478bd9Sstevel@tonic-gateDefaults.class SLPConfig.class \ 987c478bd9Sstevel@tonic-gateSrvLocMsg.class SrvLocHeader.class\ 997c478bd9Sstevel@tonic-gateSrvLocMsgImpl.class CAttrMsg.class \ 1007c478bd9Sstevel@tonic-gateSAttrMsg.class CDAAdvert.class \ 1017c478bd9Sstevel@tonic-gateSDAAdvert.class CSAAdvert.class \ 1027c478bd9Sstevel@tonic-gateSSAAdvert.class CSrvMsg.class \ 1037c478bd9Sstevel@tonic-gateSSrvMsg.class CSrvTypeMsg.class \ 1047c478bd9Sstevel@tonic-gateSSrvTypeMsg.class CSrvReg.class \ 1057c478bd9Sstevel@tonic-gateSSrvReg.class CSrvDereg.class \ 1067c478bd9Sstevel@tonic-gateSSrvDereg.class DATable.class \ 1077c478bd9Sstevel@tonic-gateServiceStore.class ServiceStoreFactory.class \ 1087c478bd9Sstevel@tonic-gateServiceTable.class ServiceStoreInMemory.class \ 1097c478bd9Sstevel@tonic-gateAdvertiser.class Locator.class \ 1107c478bd9Sstevel@tonic-gateServiceLocationManager.class PermSARegTable.class \ 1117c478bd9Sstevel@tonic-gateDAAdvertiser.class ServerDATable.class \ 1127c478bd9Sstevel@tonic-gateListener.class StreamListener.class \ 1137c478bd9Sstevel@tonic-gateRequestHandler.class Transact.class \ 1147c478bd9Sstevel@tonic-gateSLPV1SAttrMsg.class SLPV1SDAAdvert.class \ 1157c478bd9Sstevel@tonic-gateSLPV1SSrvDereg.class SLPV1SSrvMsg.class \ 1167c478bd9Sstevel@tonic-gateSLPV1SSrvReg.class SLPV1SSrvTypeMsg.class \ 1177c478bd9Sstevel@tonic-gateServiceLocationAttributeV1.class ServiceURLV1.class \ 1187c478bd9Sstevel@tonic-gateSLPTemplateRegistry.class ActiveDiscoverer.class \ 1197c478bd9Sstevel@tonic-gateAttributeDescriptor.class ClientMsgManager.class \ 1207c478bd9Sstevel@tonic-gateIANACharCode.class Parser.class \ 1217c478bd9Sstevel@tonic-gateServiceLocationAttributeVerifier.class SLPV1CDAAdvert.class \ 1227c478bd9Sstevel@tonic-gateURLAttributeVerifier.class TemplateRegistry.class \ 1237c478bd9Sstevel@tonic-gateServiceLocationAttributeDescriptor.class \ 1247c478bd9Sstevel@tonic-gateSLPTokenizer.class 1257c478bd9Sstevel@tonic-gate 1267c478bd9Sstevel@tonic-gate# This is a hand-crafted subset of classes that are needed for slp.jar. 1277c478bd9Sstevel@tonic-gate# We take the extra effort here so that customers don't need to pull 1287c478bd9Sstevel@tonic-gate# in slpd.jar, which is more than double the size of slp.jar, when 1297c478bd9Sstevel@tonic-gate# they will only need these classes. 1307c478bd9Sstevel@tonic-gateUA_SA_SUBSET_CLASSES_ORIG=\ 1317c478bd9Sstevel@tonic-gateAdvertiser.class Assert.class AttributeString.class \ 1327c478bd9Sstevel@tonic-gateAuthBlock.class CAttrMsg.class CDAAdvert.class \ 1337c478bd9Sstevel@tonic-gateCSAAdvert.class CSrvDereg.class CSrvMsg.class \ 1347c478bd9Sstevel@tonic-gateCSrvReg.class CSrvTypeMsg.class DATable\$$DARecord.class \ 1357c478bd9Sstevel@tonic-gateSLPHeaderV2.class SrvLocHeader.class SrvLocMsgImpl.class \ 1367c478bd9Sstevel@tonic-gateDATable.class Defaults.class \ 1377c478bd9Sstevel@tonic-gateLocator.class Opaque.class PermSARegTable.class \ 1387c478bd9Sstevel@tonic-gateSARequester.class SLPConfig.class Syslog.class \ 1397c478bd9Sstevel@tonic-gateServiceURL.class SrvLocMsg.class Transact.class \ 1407c478bd9Sstevel@tonic-gateServerAttribute.class ServiceLocationAttribute.class \ 1417c478bd9Sstevel@tonic-gateServiceLocationEnumeration.class ServiceLocationEnumerator.class \ 1427c478bd9Sstevel@tonic-gateServiceLocationException.class ServiceType.class \ 1437c478bd9Sstevel@tonic-gateUARequester.class ServiceLocationManager.class \ 1447c478bd9Sstevel@tonic-gateSunDATable.class TemplateRegistry.class SLPTemplateRegistry.class \ 1457c478bd9Sstevel@tonic-gateServiceLocationAttributeVerifier.class AttributeVerifier.class \ 1467c478bd9Sstevel@tonic-gateServiceLocationAttributeDescriptor.class AttributeDescriptor.class \ 1477c478bd9Sstevel@tonic-gateURLAttributeVerifier.class StderrLog.class \ 1487c478bd9Sstevel@tonic-gateStderrLog.class SLPConfig\$$SLPProperties.class \ 1497c478bd9Sstevel@tonic-gateSLPHeaderV2\$$OptionParser.class SLPHeaderV2\$$SLPOption.class \ 1507c478bd9Sstevel@tonic-gateSLPTokenizer.class 1517c478bd9Sstevel@tonic-gate 1527c478bd9Sstevel@tonic-gateALL_SLP_CLASSES=${SLP_CLASSES:%=$(CLASSES)/$(PKGPATH)/%} 1537c478bd9Sstevel@tonic-gateUA_SA_SUBSET_CLASSES=${UA_SA_SUBSET_CLASSES_ORIG:%=$(PKGPATH)/%} 154