# Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the
# \"Software\"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions: The above copyright notice and this
# permission notice shall be included in all copies or substantial
# portions of the Software.
# 
# 
# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE OPEN GROUP OR SUN MICROSYSTEMS, INC. BE LIABLE
# FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
# THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE EVEN IF
# ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.
# 
# 
# Except as contained in this notice, the names of The Open Group and/or
# Sun Microsystems, Inc. shall not be used in advertising or otherwise to
# promote the sale, use or other dealings in this Software without prior
# written authorization from The Open Group and/or Sun Microsystems,
# Inc., as applicable.
# 
# 
# X Window System is a trademark of The Open Group
# 
# OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF
# logo, LBX, X Window System, and Xinerama are trademarks of the Open
# Group. All other trademarks and registered trademarks mentioned herein
# are the property of their respective owners. No right, title or
# interest in or to any trademark, service mark, logo or trade name of
# Sun Microsystems, Inc. or its licensors is granted.

ifdef ALT_JDK12_HOME
    JDK12_HOME = $(ALT_JDK12_HOME)
else
    JDK12_HOME = /usr/local/java/jdk1.2/solaris
endif

TOPDIR = $(shell cd ../../../..; pwd)

SHARE_SRC = $(TOPDIR)/src/client/jdk12_iiimf_adapter
IIIMP_SRC = $(shell cd $(SHARE_SRC)/classes; pwd)
SOURCES = $(shell cd $(IIIMP_SRC); ls sun/awt/im/iiimp/*.java com/sun/iiim/*.java)

SAMPLEJA_SOURCES = $(shell cd $(IIIMP_SRC)/../sample_classes; ls com/sun/iiim/sample/sampleja/*.java)
NEWPY_SOURCES = $(shell cd $(IIIMP_SRC)/../sample_classes; ls com/sun/iiim/sample/newpy/*.java)
SAMPLELWE_SOURCES = $(shell cd $(IIIMP_SRC)/../sample_classes; ls com/sun/iiim/sample/lwe/*.java)

CLASSDESTDIR = $(shell pwd)/classes
SAMPLE_CLASSDESTDIR = $(shell pwd)/sample_classes

SAMPLEJA_IMAGES = $(shell cd $(SHARE_SRC)/sample_classes/com/sun/iiim/sample/sampleja; ls images/*.gif)
SAMPLEJA_HTML = $(shell cd $(SHARE_SRC)/sample_classes/com/sun/iiim/sample/sampleja; ls html/*.html)
NEWPY_IMAGES = $(shell cd $(SHARE_SRC)/sample_classes/com/sun/iiim/sample/newpy; ls images/*.gif)
NEWPY_HTML = $(shell cd $(SHARE_SRC)/sample_classes/com/sun/iiim/sample/newpy; ls html/*.html)

JARLIBDIR = $(shell pwd)/lib

VPATH.java = $(SHARE_SRC)/classes

vpath %.java $(VPATH.java)

vpath %.class $(CLASSDSTDIR)

SOURCEPATH = $(VPATH.java)

JAVAC = $(JDK12_HOME)/bin/javac -deprecation
JAR = $(JDK12_HOME)/bin/jar

FILES_java = $(SOURCES)
SAMPLEJA_FILES_java = $(SAMPLEJA_SOURCES)
NEWPY_FILES_java = $(NEWPY_SOURCES)
SAMPLELWE_FILES_java = $(SAMPLELWE_SOURCES)

all: iiimp.jar

FILES_class = $(FILES_java:%.java=$(CLASSDESTDIR)/%.class)
SAMPLEJA_FILES_class = $(SAMPLEJA_FILES_java:%.java=$(SAMPLE_CLASSDESTDIR)/%.class)
NEWPY_FILES_class = $(NEWPY_FILES_java:%.java=$(SAMPLE_CLASSDESTDIR)/%.class)
SAMPLELWE_FILES_class = $(SAMPLELWE_FILES_java:%.java=$(SAMPLE_CLASSDESTDIR)/%.class)

LWE_SYNTAX = $(shell cd $(IIIMP_SRC); ls sun/awt/im/iiimp/*.lwesyntax)

$(CLASSDESTDIR) $(JARLIBDIR) $(SAMPLE_CLASSDESTDIR) :
	mkdir -p $@

$(CLASSDESTDIR)/%.class: $(SHARE_SRC)/classes/%.java
	@echo $? >> .classes.list

$(SAMPLE_CLASSDESTDIR)/%.class: $(SHARE_SRC)/sample_classes/%.java
	@echo $? >> .classes.list

.delete.classlist:
	$(RM) .classes.list

.compile.classlist:
	if [ -s .classes.list ] ; \
	then $(JAVAC) -d $(CLASSDESTDIR) -classpath \
	$(CLASSDESTDIR):$(JDK12_HOME)/jre/lib/rt.jar \
	$(shell if [ -s .classes.list ] ; then cat .classes.list; fi) ; \
	fi

.compile.sampleja_classlist:
	if [ -s .classes.list ] ; \
	then $(JAVAC) -d $(SAMPLE_CLASSDESTDIR) -classpath \
	$(SAMPLE_CLASSDESTDIR):$(JDK12_HOME)/jre/lib/rt.jar \
	$(shell if [ -s .classes.list ] ; then cat .classes.list; fi) ; \
	fi
.compile.newpy_classlist:
	if [ -s .classes.list ] ; \
	then $(JAVAC) -d $(SAMPLE_CLASSDESTDIR) -classpath \
	$(SAMPLE_CLASSDESTDIR):$(JDK12_HOME)/jre/lib/rt.jar \
	$(shell if [ -s .classes.list ] ; then cat .classes.list; fi) ; \
	fi

.compile.samplelwe_classlist:
	if [ -s .classes.list ] ; \
	then $(JAVAC) -d $(SAMPLE_CLASSDESTDIR) -classpath \
	$(SAMPLE_CLASSDESTDIR):$(JDK12_HOME)/jre/lib/rt.jar \
	$(shell if [ -s .classes.list ] ; then cat .classes.list; fi) ; \
	fi

.add.syntaxlist:
	cd $(CLASSDESTDIR); rm -f $(LWE_SYNTAX) ; \
	cd $(SHARE_SRC)/classes ; cp $(LWE_SYNTAX) \
	$(CLASSDESTDIR)/sun/awt/im/iiimp

.jar.classes:
	cd classes; $(JAR) cvf ../lib/iiimp.jar sun com

classes: $(CLASSDESTDIR) .delete.classlist $(FILES_class) .compile.classlist \
	.add.syntaxlist

.sampleja_cp_image_html:
	rm -rf $(SAMPLE_CLASSDESTDIR)/images $(SAMPLE_CLASSDESTDIR)/html ; \
	mkdir $(SAMPLE_CLASSDESTDIR)/images $(SAMPLE_CLASSDESTDIR)/html; \
	cd $(SHARE_SRC)/sample_classes/com/sun/iiim/sample/sampleja; \
	cp $(SAMPLEJA_IMAGES) $(SAMPLE_CLASSDESTDIR)/images; \
	cp $(SAMPLEJA_HTML) $(SAMPLE_CLASSDESTDIR)/html
.newpy_cp_image_html:
	rm -rf $(SAMPLE_CLASSDESTDIR)/images $(SAMPLE_CLASSDESTDIR)/html ; \
	mkdir $(SAMPLE_CLASSDESTDIR)/images $(SAMPLE_CLASSDESTDIR)/html; \
	cd $(SHARE_SRC)/sample_classes/com/sun/iiim/sample/newpy; \
	cp $(NEWPY_IMAGES) $(SAMPLE_CLASSDESTDIR)/images; \
	cp $(NEWPY_HTML) $(SAMPLE_CLASSDESTDIR)/html

sampleja_classes: $(SAMPLE_CLASSDESTDIR) .delete.classlist $(SAMPLEJA_FILES_class) \
	.compile.sampleja_classlist .sampleja_cp_image_html
newpy_classes: $(SAMPLE_CLASSDESTDIR) .delete.classlist $(NEWPY_FILES_class) \
	.compile.newpy_classlist .newpy_cp_image_html
samplelwe_classes: $(SAMPLE_CLASSDESTDIR) .delete.classlist $(SAMPLELWE_FILES_class) \
	.compile.samplelwe_classlist

.jar.sampleja_obj:
	cd sample_classes; $(JAR) cvf ../lib/sampleja_obj.jar com/sun/iiim/sample/sampleja/* html images
.jar.newpy_obj:
	cd sample_classes; $(JAR) cvf ../lib/newpy_obj.jar com/sun/iiim/sample/newpy/* html images
.jar.samplelwe:
	cd sample_classes; $(JAR) cvf ../lib/samplelwe.jar com/sun/iiim/sample/lwe/*

iiimp.jar: classes $(JARLIBDIR) .jar.classes

sampleja: sampleja_classes $(JARLIBDIR) .jar.sampleja_obj
newpy: newpy_classes $(JARLIBDIR) .jar.newpy_obj
samplelwe: samplelwe_classes $(JARLIBDIR) .jar.samplelwe

clean:
	$(RM) -rf classes sample_classes .classes.* lib
