################################################################################
# Makefile for mxMail and mxFtp applications
#
# Creates 'mxmail'/'mxftp' binaries in ../bin/ directory
#                                or in ../bin/static/ directory
#
################################################################################
CCC=g++
CPPFLAGS=

XHOME=/usr/X11R6

LIBRARIES=\
		-L../lib \
		-L$(XHOME)/lib \
		-lAppKit -lXm -lXt -lXext -lX11 -lSM -lICE -lXpm -lXp -lXmu

LIBRARIES_STATIC=-static\
		-L../lib \
		-L$(XHOME)/lib \
		-lAppKit -lXm -lXt -lXext -lX11 -lSM -lICE -lXpm -lXp -lXmu

INCLUDES=  -I. -I../AppKit -I../icons -I$(XHOME)/include

DEBUG=

MAIL_OBJECTS= \
	mxMailApp.o\
	mxSetup.o\
	mxSetupModify.o\
	mxMail.o\
	mxMailLogo.o\
	mxMailBoxDisplay.o\
	mxMailBoxControl.o\
	mxMailBoxSelector.o\
	mxMailBox.o\
	mxMailMsgDisplay.o\
	mxMsgSummary.o\
	mxMailMsg.o\
	mxMailCompose.o\
	mxMailSpamBook.o\
	mxMailAddressBook.o\
	mxMailAddressView.o\
	mxMailAddressSelect.o\
	mxMailAttachment.o\
	mxMailAttachmentSpecify.o\
	mxFileViewer.o\
	mxMailMsgViewer.o\
	mxBase64String.o\
	mxQuotedPrintableString.o

FTP_OBJECTS= \
	mxFtpApp.o\
	mxSetup.o\
	mxSetupModify.o\
	mxFtp.o\
	mxFtpMonitor.o\
	mxDirView.o

.SUFFIXES: .C
################################################################################
# Make rules
################################################################################

default: all

static: all_static

all:	mail ftp

all_static:	mail_static ftp_static

clean:
	rm *.o

mail:	$(MAIL_OBJECTS)
	@echo
	@echo "*** Making mxMail ***"
	@echo
	${CCC} $(DEBUG) $(MAIL_OBJECTS) -o ../bin/mxmail $(LIBRARIES)
	@echo

mail_static:	$(MAIL_OBJECTS)
	@echo
	@echo "*** Making mxMail (Statically linked) ***"
	@echo
	${CCC} $(DEBUG) $(MAIL_OBJECTS) -o ../bin/static/mxmail $(LIBRARIES_STATIC)
	@echo

ftp:	$(FTP_OBJECTS)
	@echo
	@echo "*** Making mxFtp ***"
	@echo
	${CCC} $(DEBUG) $(FTP_OBJECTS) -o ../bin/mxftp $(LIBRARIES)
	@echo

ftp_static:	$(FTP_OBJECTS)
	@echo
	@echo "*** Making mxFtp (Statically linked) ***"
	@echo
	${CCC} $(DEBUG) $(FTP_OBJECTS) -o ../bin/static/mxftp $(LIBRARIES_STATIC)
	@echo

.C.o:	
	${CCC} $(DEBUG) -c $(INCLUDES) $(CPPFLAGS) $*.C
################################################################################
# Object dependencies
################################################################################
mxNetApp.o:			mxNetApp.C\
				mxSetup.h

mxMailApp.o:			mxMailApp.C\
				mxSetup.h

mxFtpApp.o:			mxFtpApp.C\
				mxSetup.h

mxSetup.o:			mxSetup.C mxSetup.h

mxSetupModify.o:		mxSetupModify.C mxSetupModify.h\
				mxSetup.h

mxNet.o:			mxNet.C mxNet.h\
				mxSetup.h\
				mxSetupModify.h

mxFtp.o:			mxFtp.C mxFtp.h\
				mxSetup.h\
				mxSetupModify.h\
				mxFtpMonitor.h\
				mxDirView.h

mxFtpMonitor.o:			mxFtpMonitor.C mxFtpMonitor.h

mxDirView.o:			mxDirView.C mxDirView.h\
				mxSetup.h

mxMail.o:			mxMail.C mxMail.h\
				mxMailBoxSelector.h \
				mxMailBoxControl.h\
				mxMailBoxDisplay.h\
				mxSetup.h\
				mxSetupModify.h\
				mxMailCompose.h\
				mxMailMsgDisplay.h\
				mxMailLogo.h

mxMailLogo.o:			mxMailLogo.C mxMailLogo.h

mxMailBox.o:			mxMailBox.C mxMailBox.h\
				mxMsgSummary.h

mxMailBoxSelector.o:		mxMailBoxSelector.C mxMailBoxSelector.h\
				mxSetup.h

mxMailBoxControl.o:		mxMailBoxControl.C mxMailBoxControl.h\
				mxMailBoxDisplay.h\
				mxMailBox.h\
				mxMsgSummary.h\
				mxSetup.h

mxMailBoxDisplay.o:		mxMailBoxDisplay.C mxMailBoxDisplay.h\
				mxMailBox.h\
				mxMailMsg.h\
				mxMsgSummary.h\
				mxMailBoxSelector.h\
				mxMailCompose.h\
				mxSetup.h\
				mxMailMsgDisplay.h

mxMailMsgDisplay.o:		mxMailMsgDisplay.C mxMailMsgDisplay.h\
				mxMailMsg.h\
				mxMsgSummary.h\
				mxMailAttachment.h\
				mxSetup.h\
				mxFileViewer.h\
				mxMailMsgViewer.h

mxMsgSummary.o:			mxMsgSummary.C mxMsgSummary.h

mxMailMsg.o:			mxMailMsg.C mxMailMsg.h\
				mxMsgSummary.h\
				mxMailAttachment.h

mxMailCompose.o:		mxMailCompose.C mxMailCompose.h\
				mxSetup.h\
				mxMailAddressBook.h\
				mxMailAddressSelect.h\
				mxMailMsg.h\
				mxMsgSummary.h\
				mxMailAttachment.h\
				mxMailAttachmentSpecify.h\
				mxMailMsgDisplay.h\
				mxMsgSummary.h

mxMailSpamBook.o:		mxMailSpamBook.C mxMailSpamBook.h

mxMailAddressBook.o:		mxMailAddressBook.C mxMailAddressBook.h\
				mxMailAddress.h

mxMailAddressView.o:		mxMailAddressView.C mxMailAddressView.h\
				mxMailAddressBook.h\
				mxMailAddress.h

mxMailAddressSelect.o:		mxMailAddressSelect.C mxMailAddressSelect.h\
				mxMailAddressBook.h\
				mxMailAddress.h

mxMailAttachment.o:		mxMailAttachment.C mxMailAttachment.h\
				mxMailMsg.h\
				mxMsgSummary.h

mxMailAttachmentSpecify.o:	mxMailAttachmentSpecify.C mxMailAttachmentSpecify.h\
				mxMailAttachment.h\
				mxMailMsg.h\
				mxMsgSummary.h

mxFileViewer.o:			mxFileViewer.C mxFileViewer.h

mxMailMsgViewer.o:		mxMailMsgViewer.C mxMailMsgViewer.h\
				mxMailMsgDisplay.h\
				mxMailMsg.h\
				mxMsgSummary.h\
				mxMailAttachment.h\
				mxSetup.h\
				mxFileViewer.h

mxBase64String.o:		mxBase64String.C mxBase64String.h

mxQuotedPrintableString.o:	mxQuotedPrintableString.C mxQuotedPrintableString.h

################################################################################
