################################################################################
#
# Makefile for AppKit class library
#
# It will create libAppKit.a  in the ../lib directory (make static)
#             or libAppKit.so in the ../lib directory (make)
#
# Currently tried the following compilers successfully :-
#		Linux 2.0.33	'egcs'
#
# Really ought to put a version no on libAppKit, but I don't intend on
# much more work on it. Instead the effort will go into the Java version.
#
################################################################################
CCC=g++
CPPFLAGS=-shared -fPIC -DPIC

XHOME=/usr/X11R6

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

DEBUG=

OBJECTS= \
	 akComponent.o\
	 akApp.o\
	 akWindow.o\
	 akDialog.o\
	 akMain.o\
	 akProcess.o\
	 akSound.o\
	 akMessageDialog.o\
	 akMessageDialogMgr.o\
	 akFileDialog.o\
	 akFileDialogMgr.o\
	 akDoc.o\
	 akDocView.o\
	 akClock.o\
	 akCopyright.o\
	 akMessageArea.o\
	 akMessageLine.o\
	 akOptionMenu.o\
	 akCheckBox.o\
	 akRadioBox.o\
	 akComboBox.o\
	 akButton.o\
	 akLabel.o\
	 akPixmap.o\
	 akPrompt.o\
	 akPromptDble.o\
	 akPromptDbles.o\
	 akPromptDbleRange.o\
	 akPromptInt.o\
	 akPromptInts.o\
	 akPromptIntRange.o\
	 akPromptFile.o\
	 akPromptPassword.o\
	 akPromptString.o\
	 akPromptDialog.o\
	 akList.o

LIB_ARCHIVE = ../lib/libAppKit.a
LIB_SHARED  = ../lib/libAppKit.so

.SUFFIXES: .C
################################################################################
# Make rules
################################################################################
default:	$(OBJECTS)
		@echo
		@echo "===== Making Linux AppKit shared library ====="
		@echo
		g++ -shared -o $(LIB_SHARED) $(OBJECTS) -L$(XHOME)/lib -lXm -lXt -lXext -lX11 -lSM -lICE -lXpm -lXp -lXmu

static:		$(OBJECTS)
		@echo
		@echo "===== Making Linux AppKit static library ====="
		@echo
		ar ruv $(LIB_ARCHIVE) $(OBJECTS)
		ranlib $(LIB_ARCHIVE)

clean:
		rm *.o

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

akApp.o:		akApp.C akApp.h \
			akWindow.h \
			akComponent.h

akWindow.o:		akWindow.C akWindow.h \
			akApp.h akComponent.h

akDialog.o:		akDialog.C akDialog.h \
			akComponent.h

akFileDialog.o:		akFileDialog.C akFileDialog.h \
			akDialogCallbackData.h akComponent.h

akFileDialogMgr.o:	akFileDialogMgr.C akFileDialogMgr.h \
			akDialogCallbackData.h akApp.h \
			akComponent.h

akMessageDialog.o:	akMessageDialog.C akMessageDialog.h \
			akDialogCallbackData.h akComponent.h

akMessageDialogMgr.o:	akMessageDialogMgr.C akMessageDialogMgr.h \
			akDialogCallbackData.h akApp.h \
			akComponent.h

akDoc.o:		akDoc.C akDoc.h

akDocView.o:		akDocView.C akDocView.h akDoc.h \
			akWindow.h akComponent.h

akProcess.o:		akProcess.C akProcess.h

akSound.o:		akSound.C akSound.h

akClock.o:		akClock.C akClock.h \
			akComponent.h

akCopyright.o:		akCopyright.C akCopyright.h \
			akComponent.h

akMessageLine.o:	akMessageLine.C akMessageLine.h \
			akComponent.h akMessageType.h

akMessageArea.o:	akMessageArea.C akMessageArea.h \
			akComponent.h akMessageType.h

akOptionMenu.o:		akOptionMenu.C akOptionMenu.h \
			akComponent.h

akCheckBox.o:		akCheckBox.C akCheckBox.h \
			akComponent.h

akRadioBox.o:		akRadioBox.C akRadioBox.h \
			akComponent.h

akComboBox.o:		akComboBox.C akComboBox.h \
			akComponent.h

akButton.o:		akButton.C akButton.h \
			akComponent.h

akLabel.o:		akLabel.C akLabel.h \
			akComponent.h

akList.o:		akList.C akList.h \
			akComponent.h

akPixmap.o:		akPixmap.C akPixmap.h

akPrompt.o:		akPrompt.C akPrompt.h \
			akComponent.h

akPromptString.o:	akPromptString.C akPromptString.h \
			akPrompt.h \
			akComponent.h

akPromptPassword.o:	akPromptPassword.C akPromptPassword.h \
			akPromptString.h akPrompt.h \
			akComponent.h

akPromptFile.o:		akPromptFile.C akPromptFile.h \
			akPrompt.h \
			akComponent.h akFileDialogMgr.h

akPromptDble.o:		akPromptDble.C akPromptDble.h \
			akPrompt.h \
			akComponent.h

akPromptDbles.o:	akPromptDbles.C akPromptDbles.h \
			akPrompt.h \
			akComponent.h

akPromptDbleRange.o:	akPromptDbleRange.C akPromptDbleRange.h \
			akPromptDble.h akPrompt.h \
			akComponent.h

akPromptInt.o:		akPromptInt.C akPromptInt.h \
			akPrompt.h \
			akComponent.h

akPromptInts.o:		akPromptInts.C akPromptInts.h \
			akPrompt.h akComponent.h

akPromptIntRange.o:	akPromptIntRange.C akPromptIntRange.h \
			akPromptInt.h akPrompt.h \
			akComponent.h

akPromptDialog.o:	akPromptDialog.C akPromptDialog.h \
			akDialogCallbackData.h akComponent.h akPromptString.h

akMain.o:		akMain.C
################################################################################
