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, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23#ident	"%Z%%M%	%I%	%E% SMI"
24#
25# Copyright 1999-2002 Sun Microsystems, Inc.  All rights reserved.
26# Use is subject to license terms.
27#
28# Makefile configuration for SLP.
29
30# The SLP Java package
31
32PKGPATH=com/sun/slp
33PKGNAME=com.sun.slp
34
35# The SLP directories.
36
37SLPDIR=$(SRC)/lib/libslp
38DOC=$(SLPDIR)/javadoc
39CLASSES=$(SLPDIR)/classes
40SLPJAVASRC=$(SLPDIR)/javalib
41
42# SLP jar file, its ultimate destination, and packaging details
43SLPJAR=slp.jar
44SLPDJAR=slpd.jar
45JARDESTDIR=$(ROOT)/usr/share/lib/slp
46INSJARS=$(JARDESTDIR)/$(SLPJAR) $(JARDESTDIR)/$(SLPDJAR)
47
48$(JARDESTDIR)/%: $(CLASSES)/%
49	$(INS.file)
50
51# Manifest files
52SLPMANI= $(CLASSES)/manifest.slp
53SLPDMANI= $(CLASSES)/manifest.slpd
54
55MANIFESTS= $(SLPMANI) $(SLPDMANI)
56
57# Controlled CLASSPATH for making
58SLPCLASSPATH=$(CLASSES):$(SLPJAVASRC)
59
60# javac flags
61JFLAGS= -O -d $(CLASSES) -sourcepath $(SLPCLASSPATH) -deprecation
62
63# The default make rule for Java files
64COMPILE.java=$(JAVAC) $(JFLAGS)
65
66$(CLASSES)/$(PKGPATH)/%.class:	$(SLPJAVASRC)/$(PKGPATH)/%.java
67				$(COMPILE.java) $<
68
69# Where to put the message files
70MSGDIR =        $(ROOT)/usr/share/lib/locale/$(PKGPATH)
71MSGDIRS =       $(ROOT)/usr/share/lib/locale \
72                $(ROOT)/usr/share/lib/locale/com \
73                $(ROOT)/usr/share/lib/locale/com/sun \
74		$(MSGDIR)
75CLIENT_MSGS=ClientLib_en.properties
76SERVER_MSGS=Server_en.properties
77MSGFILES=$(MSGDIR)/$(CLIENT_MSGS) $(MSGDIR)/$(SERVER_MSGS)
78
79$(MSGFILES) := OWNER = root
80$(MSGFILES) := GROUP = sys
81
82$(JARDESTDIR)/$(SLPJAR) := OWNER = root
83$(JARDESTDIR)/$(SLPJAR) := GROUP = sys
84
85$(JARDESTDIR)/$(SLPDJAR) := OWNER = root
86$(JARDESTDIR)/$(SLPDJAR) := GROUP = sys
87$(JARDESTDIR)/$(SLPDJAR) := FILEMODE = 600
88
89
90# All SLP classes, not including internal classes (since these are
91# generated and packaged automatically buy this Makefile). Since
92# we take advantage of -Xdepend, the strategy is to place trigger
93# classes at the beginning of the list; these will trigger javac to
94# compile all other classes.
95SLP_CLASSES=\
96UARequester.class	SARequester.class	slpd.class \
97SunServerDATable.class	AttributeVerifier.class	\
98SunDATable.class	SLPHeaderV2.class	SLPServerHeaderV2.class \
99SLPHeaderV1.class 	SLPV1Manager.class	Syslog.class \
100StderrLog.class				SLPDgui.class \
101ServiceLocationException.class		ServiceLocationEnumeration.class \
102ServiceLocationEnumerator.class		Assert.class \
103ServiceType.class			ServiceURL.class \
104ServiceLocationAttribute.class		ServerAttribute.class \
105AttributeString.class			AttributePattern.class \
106Opaque.class				AuthBlock.class \
107Defaults.class				SLPConfig.class \
108SrvLocMsg.class				SrvLocHeader.class\
109SrvLocMsgImpl.class			CAttrMsg.class \
110SAttrMsg.class				CDAAdvert.class \
111SDAAdvert.class				CSAAdvert.class \
112SSAAdvert.class				CSrvMsg.class \
113SSrvMsg.class				CSrvTypeMsg.class  \
114SSrvTypeMsg.class			CSrvReg.class \
115SSrvReg.class				CSrvDereg.class \
116SSrvDereg.class				DATable.class \
117ServiceStore.class			ServiceStoreFactory.class \
118ServiceTable.class			ServiceStoreInMemory.class \
119Advertiser.class			Locator.class \
120ServiceLocationManager.class		PermSARegTable.class \
121DAAdvertiser.class			ServerDATable.class \
122Listener.class				StreamListener.class \
123RequestHandler.class			Transact.class \
124SLPV1SAttrMsg.class			SLPV1SDAAdvert.class \
125SLPV1SSrvDereg.class			SLPV1SSrvMsg.class \
126SLPV1SSrvReg.class			SLPV1SSrvTypeMsg.class \
127ServiceLocationAttributeV1.class	ServiceURLV1.class \
128SLPTemplateRegistry.class		ActiveDiscoverer.class \
129AttributeDescriptor.class		ClientMsgManager.class \
130IANACharCode.class			Parser.class \
131ServiceLocationAttributeVerifier.class	SLPV1CDAAdvert.class \
132URLAttributeVerifier.class		TemplateRegistry.class \
133ServiceLocationAttributeDescriptor.class \
134SLPTokenizer.class
135
136# This is a hand-crafted subset of classes that are needed for slp.jar.
137# We take the extra effort here so that customers don't need to pull
138# in slpd.jar, which is more than double the size of slp.jar, when
139# they will only need these classes.
140UA_SA_SUBSET_CLASSES_ORIG=\
141Advertiser.class	Assert.class		AttributeString.class \
142AuthBlock.class		CAttrMsg.class		CDAAdvert.class \
143CSAAdvert.class		CSrvDereg.class		CSrvMsg.class \
144CSrvReg.class		CSrvTypeMsg.class	DATable\$$DARecord.class \
145SLPHeaderV2.class	SrvLocHeader.class	SrvLocMsgImpl.class \
146DATable.class		Defaults.class \
147Locator.class		Opaque.class		PermSARegTable.class \
148SARequester.class	SLPConfig.class		Syslog.class \
149ServiceURL.class	SrvLocMsg.class		Transact.class \
150ServerAttribute.class			ServiceLocationAttribute.class \
151ServiceLocationEnumeration.class	ServiceLocationEnumerator.class \
152ServiceLocationException.class		ServiceType.class \
153UARequester.class			ServiceLocationManager.class \
154SunDATable.class	TemplateRegistry.class 	SLPTemplateRegistry.class \
155ServiceLocationAttributeVerifier.class		AttributeVerifier.class \
156ServiceLocationAttributeDescriptor.class	AttributeDescriptor.class \
157URLAttributeVerifier.class			StderrLog.class \
158StderrLog.class		SLPConfig\$$SLPProperties.class \
159SLPHeaderV2\$$OptionParser.class	SLPHeaderV2\$$SLPOption.class \
160SLPTokenizer.class
161
162ALL_SLP_CLASSES=${SLP_CLASSES:%=$(CLASSES)/$(PKGPATH)/%}
163UA_SA_SUBSET_CLASSES=${UA_SA_SUBSET_CLASSES_ORIG:%=$(PKGPATH)/%}
164