
PREFIX=	/www/scope
INSTALL = install
INSTALL_PROGRAM=${INSTALL} -m 755
INSTALL_DATA=	${INSTALL} -m 644

JYTHON=		jython
JYTHONC=	jythonc
JAR=		/usr/local/java/bin/jar
JAVACC = 	/usr/local/java/bin/javac -deprecation

# Classes that need to be compiled from Java source code
JAVA_OBJS = ButtonBar.class \
	Client.class ClientInterface.class CollapsingPanel.class \
	gui_util.class  \
	ImageCommentDialog.class \
	ImageEmailDialog.class 

PY_FILES = ChatWindow.py ImageDisplay.py ScopeConnection.py \
    ClientWindowListener.py  LoginDialog.py        SettingsPanel.py \
    MatisseMicroscope.py  \
    FocusDisplay.py          MicroscopeApplet.py   __init__.py \
    ImageButton.py           PyClient.py

ADDED_CLASSES=$$HOME/src:/usr/local/java/jre/lib/rt.jar:.

# Version for Matisse
#ADDED_CLASSES=/usr/lib/netscape/477/netscape/java/classes/java40.jar:/home/akuchlin/src/matisse/matisse2/java/:/usr/local/java/jre/lib/rt.jar:.


# Rules for compiling class files from Java or Python code
%.class : %.java
	$(JAVACC) -classpath $(ADDED_CLASSES):$$CLASSPATH  $<
%.class : %.py
	CLASSPATH=$(ADDED_CLASSES):$$CLASSPATH $(JYTHONC) $<

# Default target will be to build just a JAR file containing the 
# microscope client

all: microscope.jar JVMTest.class


# Compile the client code into an unsigned .jar file
microscope.jar: $(JAVA_OBJS) $(PY_FILES) #MatisseMicroscope.class
	CLASSPATH=$(ADDED_CLASSES) \
	$(JYTHONC) --core --deep -J -g --jar microscope.jar MicroscopeApplet.py
	for file in $(JAVA_OBJS) ; do \
          $(JAR) -uvf microscope.jar $$file ; \
        done
#	$(JAR) -uvf microscope.jar MatisseMicroscope.class

Client.class: ClientInterface.class
MatisseMicroscope.class: MatisseMicroscope.py

# Install the client code
install: microscope.jar JVMTest.class
	$(INSTALL_DATA) JVMTest.class /www/www-docroot/java/
	$(INSTALL_DATA) $< /www/scope/docroot/ 

# Clean out generated files
clean:
	rm -f *.jar 
	rm -f *.class *.pyc *~
	rm -f out err diff	
