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