#

SECOBJS = security/Cipher.class \
	security/RSACipher.class \
	security/RSAKey.class \
	security/RSAPrivateKey.class \
	security/RSAPublicKey.class \
	security/SecureRandom.class \
	security/Spinner.class \
	security/MessageDigest.class \
	security/NativeHashState.class \
	security/MD5.class \
	security/SHA1.class \
	security/Key.class \
	security/PublicKey.class \
	security/PrivateKey.class \
	security/KeyPair.class

CIPHEROBJS = 	security/IDEA.class \
	security/Blowfish.class \
	security/DES.class \
	security/DES3.class \
	security/RC4.class \
	security/NoEncrypt.class \
	security/AccessDeniedException.class

LITECIPHER = security/IDEA.class

SSHSOCKOBJS = ssh/SSHSocket.class \
	ssh/SSHServerSocket.class \
	ssh/SSHSocketFactory.class \
	ssh/SSHSocketImpl.class \
	ssh/SSHSocketTunnel.class \
	ssh/SSHPasswordAuthenticator.class \
	ssh/SSHRSAAuthenticator.class

SSHSRVOBJS = ssh/SSHServer.class

SSHCLIOBJS = ssh/SSHInteractiveClient.class \
	ssh/SSHClient.class \
	ssh/SSHStdIO.class \
	ssh/SSHCommandShell.class \
	ssh/SSHMenuHandler.class

SSHTUNLCLIOBJS = ssh/SSHClient.class \
	ssh/SSHTunnelingClient.class


SSHOBJS =  ssh/SSH.class \
	ssh/SSHChannel.class \
	ssh/SSHChannelController.class \
	ssh/SSHChannelListener.class \
	ssh/SSHConnectChannel.class \
	ssh/SSHListenChannel.class \
	ssh/SSHRxChannel.class \
	ssh/SSHTxChannel.class \
	ssh/SSHTunnel.class \
	ssh/SSHProtocolPlugin.class \
	ssh/SSHPdu.class \
	ssh/SSHDataInputStream.class \
	ssh/SSHDataOutputStream.class \
	ssh/SSHPduInputStream.class \
	ssh/SSHPduOutputStream.class \
	ssh/SSHPduQueue.class \
	ssh/SSHFtpListenChannel.class \
	ssh/SSHFtpTunnel.class \
	ssh/SSHFtpPlugin.class \
	ssh/SSHRSAKeyFile.class \
	ssh/SSHRSAPublicKeyFile.class \
	ssh/SSHRSAPublicKeyString.class \
	ssh/SSHAuthenticator.class \
	ssh/SSHClientUser.class \
	ssh/SSHClientUserAdaptor.class \
	ssh/SSHConsole.class \
	ssh/SSHInteractor.class \
	ssh/SSHPropertyHandler.class \
	ssh/SSHProxyDialog.class \
	ssh/SSHSCPDialog.class \
	ssh/SSHMiscDialogs.class \
	util/CRC32.class \
	util/Base64.class \
	util/EncryptedProperties.class \
	util/AWTConvenience.class \
	net/WebProxyTunnelSocket.class \
	net/SocksProxySocket.class \
	net/HttpHeader.class \
	gui/ProgressBar.class

SSH2OBJS = ssh2/SSH2.class \
	ssh2/SSH2Transport.class \
	ssh2/SSH2UserAuth.class \
	ssh2/SSH2Connection.class \
	ssh2/SSH2Connector.class \
	ssh2/SSH2TransportPDU.class \
	ssh2/SSH2Authenticator.class \
	ssh2/SSH2AuthModule.class \
	ssh2/SSH2AuthPassword.class \
	ssh2/SSH2AuthPublicKey.class \
	ssh2/SSH2AuthKbdInteract.class \
	ssh2/SSH2Interactor.class \
	ssh2/SSH2Signature.class \
	ssh2/SSH2DSS.class \
	ssh2/SSH2TransportPreferences.class \
	ssh2/SSH2Listener.class \
	ssh2/SSH2Channel.class \
	ssh2/SSH2StreamChannel.class \
	ssh2/SSH2TCPChannel.class \
	ssh2/SSH2SessionChannel.class \
	ssh2/SSH2SFTP.class \
	ssh2/SSH2SFTPClient.class \
	ssh2/SSH2SimpleSFTPShell.class \
	ssh2/SSH2ListUtil.class \
	ssh2/SSH2TerminalAdapter.class

NEWSECOBJS = security/DiffieHellman.class \
	security/DSASignature.class \
	security/HMAC.class \
	security/SimpleHMAC.class \
	security/RFC2104HMAC.class \
	security/provider/Mindbright.class \
	security/provider/BlockCipher.class \
	security/provider/Blowfish.class \
	security/provider/Twofish.class \
	security/provider/DES.class \
	security/provider/DES3.class \
	security/provider/IDEA.class \
	security/provider/ArcFour.class \
	security/spec/AlgorithmParameterSpec.class \
	security/spec/KeySpec.class \
	crypto/Cipher.class \
	crypto/CipherSpi.class \
	crypto/SecretKey.class \
	crypto/spec/SecretKeySpec.class \
	util/PrimeSieve.class \
	util/Math.class \
	util/Queue.class \
	util/ASCIIArmour.class \
	util/StringUtil.class


EXTRAOBJS = 	ssh/SSHSCP.class \
	ssh/SSHSCPGUIThread.class \
	ssh/SSHSCPIndicator.class \
	ssh/SSHSCPStdoutIndicator.class \
	ssh/SSHCommandShellImpl.class \
	ssh/SSHCaptureConsole.class \
	ssh/SSHMenuHandlerFull.class \
	terminal/TerminalMenuHandlerFull.class

TERMOBJS = terminal/Terminal.class \
	terminal/TerminalXTerm.class \
	terminal/TerminalInterpreter.class \
	terminal/TerminalListener.class \
	terminal/TerminalWin.class \
	terminal/TerminalMenuHandler.class \
	terminal/TerminalMenuListener.class \
	terminal/LineReaderTerminal.class \
	terminal/TerminalDefProps.class

VNCOBJS = vnc/DesCipher.class \
	vnc/animatedMemoryImageSource.class \
	vnc/authenticationPanel.class \
	vnc/clipboardFrame.class \
	vnc/optionsFrame.class \
	vnc/rfbProto.class \
	vnc/vncCanvas.class

# /usr/lib/netscape/java/classes/java40.jar:
# ./dummies/ 
%.class : %.java
	javac -g -classpath /usr/local/java/lib/classes.zip:./dummies/:../ $<

mindterm: application/MindTerm.class $(SECOBJS) $(CIPHEROBJS) $(SSHOBJS) $(SSHCLIOBJS) $(EXTRAOBJS) $(TERMOBJS)

mindtermlite: application/MindTerm.class $(SECOBJS) $(LITECIPHER) $(SSHOBJS) $(SSHCLIOBJS) $(TERMOBJS)

mindvnc: application/MindVNC.class $(SECOBJS) $(CIPHEROBJS) $(SSHSOCKOBJS) $(VNCOBJS)

mindtunnel: application/MindTunnel.class $(SECOBJS) $(CIPHEROBJS) $(SSHOBJS) $(SSHSRVOBJS)

mindtunnelcli: application/MindTunnelCli.class $(SECOBJS) $(CIPHEROBJS) $(SSHOBJS) $(SSHTUNLCLIOBJS)

ssh2: application/MindTerm2.class $(SSH2OBJS) $(NEWSECOBJS) $(SECOBJS)

all: mindterm mindvnc mindtunnel mindtunnelcli ssh2

clean:
	(cd security; rm -f *.class *~)
	(cd security/spec; rm -f *.class *~)
	(cd security/provider; rm -f *.class *~)
	(cd crypto; rm -f *.class *~)
	(cd crypto/spec; rm -f *.class *~)
	(cd ssh; rm -f *.class *~)
	(cd ssh2; rm -f *.class *~)
	(cd terminal; rm -f *.class *~)
	(cd util; rm -f *.class *~)
	(cd application; rm -f *.class *~)
	(cd net; rm -f *.class *~)
	(cd gui; rm -f *.class *~)
	(cd vnc; rm -f *.class *~)

