#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
include ../Makefile.com
DNSSD_PKG = com.apple.dnssd
TOP = $(SRC)/lib/libdns_sd/java
JAVASRCDIR = $(TOP)/com/apple/dnssd
CLASSPATH = $(TOP):com/apple/dnssd
JAVAFLAGS += -source 1.4 -target 1.4
SOURCE:sh = ls *.java
CLASSES = $(SOURCE:java=class)
JNIH = DNSSD.java.h
JAR_FILE = dnssd.jar
DOCDIR = $(JAVASRCDIR)/docs
DOCAPIDIR = $(JAVASRCDIR)/docs/api
DOCDESTDIR = $(ROOTDNSSDJAVAHOME)/javadoc/dnssd
DOCAPIDESTDIR = $(DOCDESTDIR)/api
DOCEXAMPLESDESTDIR = $(DOCDESTDIR)/examples
EXAMPLESDIR = $(JAVASRCDIR)/docs/examples
EXAMPLESSRC = $(JAVASRCDIR)/docs/examples/src
SIMPLECHATOBJ = $(EXAMPLESDIR)/SwingBrowseListener.class \
$(EXAMPLESDIR)/SwingQueryListener.class \
$(EXAMPLESDIR)/SimpleChat.class
BROWSERAPPOBJ = $(EXAMPLESDIR)/SwingResolveListener.class \
$(EXAMPLESDIR)/SwingDomainListener.class \
$(EXAMPLESDIR)/BrowserApp.class
EXAMPLEOBJS = $(SIMPLECHATOBJ) $(BROWSERAPPOBJ)
EXAMPLEJARS = SimpleChat.jar BrowserApp.jar
INSTALL_JAR = $(ROOTDNSSDJAVAHOME)/$(JAR_FILE)
INSTALL_EXAMPLEJARS = $(DOCEXAMPLESDESTDIR)/SimpleChat.jar \
$(DOCEXAMPLESDESTDIR)/BrowserApp.jar
CLEAN_FILES = *.class $(JNIH) *.jar $(EXAMPLESDIR)/*.class $(EXAMPLESDIR)/*.jar
DEFINES=
INCLUDES= -I${JAVA_HOME}/include \
-I${JAVA_HOME}/include/solaris
.KEEP_STATE:
all: $(JNIH) $(CLASSES) $(EXAMPLEOBJS) doc
install: $(CLASSES) $(ROOTDNSSDJAVAHOME) \
$(DOCEXAMPLESDESTDIR) $(DOCEXAMPLESSRCDESTDIR) \
$(JAR_FILE) $(INSTALL_JAR) $(JNIH) \
$(EXAMPLEJARS) $(INSTALL_EXAMPLEJARS) \
install_doc
$(JNIH): $(CLASSES)
class="com.apple.dnssd.AppleDNSSD \
com.apple.dnssd.AppleBrowser \
com.apple.dnssd.AppleResolver \
com.apple.dnssd.AppleRegistration \
com.apple.dnssd.AppleQuery \
com.apple.dnssd.AppleDomainEnum \
com.apple.dnssd.AppleService"; \
$(JAVAH) -classpath $(CLASSPATH) -jni -o $(JNIH) $$class
clean clobber:
$(RM) $(CLEAN_FILES)
$(JAR_FILE): $(CLASSES)
cd $(TOP); \
$(JAR) -cvf $(TOP)/com/apple/dnssd/$(JAR_FILE) com/apple/dnssd/*.class
$(EXAMPLESDIR)/%.class: $(EXAMPLESSRC)/%.java
$(JAVAC) $(JAVAFLAGS) $< -classpath $(CLASSPATH):$(EXAMPLESDIR) -d $(EXAMPLESDIR)
SIMPLECHATMAN = $(EXAMPLESSRC)/SimpleChat.manifest
SimpleChat.jar: $(SIMPLECHATOBJ) $(SIMPLECHATMAN)
cd $(EXAMPLESDIR); $(JAR) -cvfm $@ $(SIMPLECHATMAN) \
SwingBrowseListener.class SwingQueryListener.class \
SimpleChat.class SimpleChat\$$1.class \
ListenerThread.class TargetListElem.class \
TargetListModel.class src/SimpleChat.java \
src/SimpleChat.manifest src/SwingBrowseListener.java \
src/SwingQueryListener.java
BROWSERAPPMAN = $(EXAMPLESSRC)/BrowserApp.manifest
BrowserApp.jar: $(BROWSERAPPOBJ) $(BROWSERAPPMAN)
cd $(EXAMPLESDIR); $(JAR) -cvfm $@ $(BROWSERAPPMAN) \
BrowserApp\$$1.class BrowserApp.class \
BrowserListModel\$$BrowserListElem.class \
BrowserListModel.class DomainListModel.class \
ServicesBrowserListModel.class \
SwingResolveListener.class SwingDomainListener.class \
src/BrowserApp.java src/SwingResolveListener.java \
src/SwingDomainListener.java src/BrowserApp.manifest
$(ROOTDNSSDJAVAHOME):
$(INS.dir)
$(ROOTDNSSDJAVAHOME)/%: %
$(INS.file)
$(DOCDESTDIR):
$(INS.dir)
$(DOCAPIDESTDIR): $(DOCDESTDIR)
$(INS.dir)
$(DOCEXAMPLESDESTDIR): $(DOCDESTDIR)
$(INS.dir)
$(DOCEXAMPLESDESTDIR)/%: %
$(RM) $@; $(INS) -s -m $(FILEMODE) -f $(@D) $(EXAMPLESDIR)/$<
install_doc: $(CLASSES) $(DOCAPIDESTDIR)
-$(RM) -r $(DOCAPIDESTDIR)/*
cd $(TOP); umask 022; \
$(JAVADOC) $(JAVASRCDIR)/*.java -notimestamp -classpath \
$(CLASSPATH) -d $(DOCAPIDESTDIR) -public $(DNSSD_PKG)
doc:
-@mkdir -p $(DOCAPIDIR)
cd $(TOP); umask 022; \
$(JAVADOC) $(JAVASRCDIR)/*.java -notimestamp -classpath \
$(CLASSPATH) -d $(DOCAPIDIR) -public $(DNSSD_PKG)