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.
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.
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]
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
25 # Makefile configuration for SLP.
27 # The SLP Java package
32 # The SLP directories.
34 SLPDIR=$(SRC)/lib/libslp
36 CLASSES=$(SLPDIR)/classes
37 SLPJAVASRC=$(SLPDIR)/javalib
39 # SLP jar file, its ultimate destination, and packaging details
42 JARDESTDIR=$(ROOT)/usr/share/lib/slp
43 INSJARS=$(JARDESTDIR)/$(SLPJAR) $(JARDESTDIR)/$(SLPDJAR)
45 $(JARDESTDIR)/%: $(CLASSES)/%
49 SLPMANI= $(CLASSES)/manifest.slp
50 SLPDMANI= $(CLASSES)/manifest.slpd
52 MANIFESTS= $(SLPMANI) $(SLPDMANI)
54 # Controlled CLASSPATH for making
55 SLPCLASSPATH=$(CLASSES):$(SLPJAVASRC)
58 JFLAGS= -O -d $(CLASSES) -sourcepath $(SLPCLASSPATH)
59 JFLAGS += -source 1.6 -target 1.6 -Xlint:deprecation,-options
61 # The default make rule for Java files
62 COMPILE.java=$(JAVAC) $(JFLAGS)
64 $(CLASSES)/$(PKGPATH)/%.class: $(SLPJAVASRC)/$(PKGPATH)/%.java
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 \
73 CLIENT_MSGS=ClientLib_en.properties
74 SERVER_MSGS=Server_en.properties
75 MSGFILES=$(MSGDIR)/$(CLIENT_MSGS) $(MSGDIR)/$(SERVER_MSGS)
77 $(JARDESTDIR)/$(SLPDJAR) := FILEMODE = 600
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.
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 \
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 \
152 ALL_SLP_CLASSES=${SLP_CLASSES:%=$(CLASSES)/$(PKGPATH)/%}
153 UA_SA_SUBSET_CLASSES=${UA_SA_SUBSET_CLASSES_ORIG:%=$(PKGPATH)/%}