.SUFFIXES: .o .C .c 

G++ = g++

GCC = gcc

STRIP = strip

RM = rm

LIB_PATH = -L/usr/local/solaris2/xpm/lib

# if HTML help is needed add XmHTML library
#XPM_LIB = -L/usr/local/solaris2/xpm/lib -lXpm -lXmHTML -lsocket -L/usr/ccs/lib -lgen
XPM_LIB = -lXpm  

XPM_INLCUDES =  

XM_LIB = -lXm

XM_INCLUDES =

XT_LIB = -lXt

XT_INCLUDES =

X11_LIB = -lX11

X11_INCLUDES =

XEXT_LIB = -lXext

XEXT_INCLUDES =

OTHER_INCLUDES = -I. -I/usr/include -I/usr/local/solaris2/xpm/include

GUIDE_LIB = -L. -lguide -lguidegraph -lguidetab

INCLUDES = $(OTHER_INCLUDES) $(XPM_INLCUDES) $(XM_INCLUDES) $(XEXT_INCLUDES) $(XT_INCLUDES) $(X11_INCLUDES)

DEBUG =  $(INCLUDES)

C++FLAGS =  -DNO_HELP -DLINUX_SPECIFIC $(DEBUG) 
#C++FLAGS = -finline $(DEBUG) 

LIBS = $(LIB_PATH) $(XM_LIB) $(XT_LIB) $(XEXT_LIB) $(X11_LIB) $(XPM_LIB) $(GUIDE_LIB)

.C.o:
	$(G++) $(C++FLAGS) -c $*.C

.c.o:
	$(GCC) $(C++FLAGS) -c $*.c

all: libguide.a libguidegraph.a libguidetab.a guide

SOURCES =  XMApplicationShell.C \
	XMArrowButton.C \
	XMArrowButtonGadget.C \
	XMBulletinBoard.C \
	XMCascadeButton.C \
	XMCascadeButtonGadget.C \
	XMCommand.C \
	XMDialogShell.C \
	XMDrawingArea.C \
	XMDrawnButton.C \
	XMErrorDialog.C \
	XMFileSelectionBox.C \
	XMForm.C \
	XMFormDialog.C \
	XMFrame.C \
	XMInformationDialog.C \
	XMLabel.C \
	XMLabelGadget.C \
	XMList.C \
	XMMainWindow.C \
	XMMenuBar.C \
	XMMenuShell.C \
	XMMessageBox.C \
	XMOptionMenu.C \
	XMPanedWindow.C \
	XMPopupMenu.C \
	XMPromptDialog.C \
	XMPulldownMenu.C \
	XMPushButton.C \
	XMPushButtonGadget.C \
	XMQuestionDialog.C \
	XMRadioBox.C \
	XMRowColumn.C \
	XMScale.C \
	XMScrollbar.C \
	XMScrolledList.C \
	XMScrolledText.C \
	XMScrolledWindow.C \
	XMSelectionBox.C \
	XMSelectionDialog.C \
	XMSeparator.C \
	XMSeparatorGadget.C \
	XMTabBook.C \
	XMTemplateDialog.C \
	XMText.C \
	XMTextField.C \
	XMToggleButton.C \
	XMToggleButtonGadget.C \
	XMTopLevelShell.C \
	XMTransientShell.C \
	XMWarningDialog.C \
	XMWorkingDialog.C \
	XtComposite.C \
	XtConstraint.C \
	XtCore.C \
	XtGadget.C \
	XtManager.C \
	XtOverrideShell.C \
	XtPrimitive.C \
	XtShell.C \
	XtVendorShell.C \
	XtWMShell.C \
	TabBook.c \
	LiteClue.c \
	GRLine.C \
	GRObject.C \
	GRRectangle.C \
	RubberLine.C \
	RubberRectangle.C \
	ConstraintEditor.C \
	DesignEditor.C \
	Error.C \
	Exception.C \
	Guide.C \
	Help.C \
	DumbHelp.C \
	ICodeGen.C \
	IFileReader.C \
	Information.C \
	Interface.C \
	OptionEditor.C \
	PixmapServer.C \
	ResEditor.C \
	Warning.C \
	friends.C \
	main.C

HEADERS = XMApplicationShell.h \
	XMArrowButton.h \
	XMArrowButtonGadget.h \
	XMBulletinBoard.h \
	XMCascadeButton.h \
	XMCascadeButtonGadget.h \
	XMCommand.h \
	XMDialogShell.h \
	XMDrawingArea.h \
	XMDrawnButton.h \
	XMErrorDialog.h \
	XMFileSelectionBox.h \
	XMForm.h \
	XMFormDialog.h \
	XMFrame.h \
	XMInformationDialog.h \
	XMLabel.h \
	XMLabelGadget.h \
	XMList.h \
	XMMainWindow.h \
	XMMenuBar.h \
	XMMenuShell.h \
	XMMessageBox.h \
	XMOptionMenu.h \
	XMPanedWindow.h \
	XMPopupMenu.h \
	XMPromptDialog.h \
	XMPulldownMenu.h \
	XMPushButton.h \
	XMPushButtonGadget.h \
	XMQuestionDialog.h \
	XMRadioBox.h \
	XMRowColumn.h \
	XMScale.h \
	XMScrollbar.h \
	XMScrolledList.h \
	XMScrolledText.h \
	XMScrolledWindow.h \
	XMSelectionBox.h \
	XMSelectionDialog.h \
	XMSeparator.h \
	XMSeparatorGadget.h \
	XMTabBook.h \
	XMTemplateDialog.h \
	XMText.h \
	XMTextField.h \
	XMToggleButton.h \
	XMToggleButtonGadget.h \
	XMTopLevelShell.h \
	XMTransientShell.h \
	XMWarningDialog.h \
	XMWorkingDialog.h \
	XtComposite.h \
	XtConstraint.h \
	XtCore.h \
	XtGadget.h \
	XtManager.h \
	XtOverrideShell.h \
	XtPrimitive.h \
	XtShell.h \
	XtVendorShell.h \
	XtWMShell.h \
	GRLine.h \
	GRObject.h \
	GRRectangle.h \
	RubberLine.h \
	RubberRectangle.h \
	TabBook.h \
	TabBookP.h \
	LiteClue.h \
	LiteClueP.h \
	Classes.h \
	ConstraintEditor.h \
	DesignEditor.h \
	Error.h \
	Exception.h \
	Guide.h \
	Help.h \
	DumbHelp.h \
	ICodeWriter.h \
	ICodeGen.h \
	IFileReader.h \
	Information.h \
	Interface.h \
	OptionEditor.h \
	PixmapServer.h \
	ResEditor.h \
	Warning.h \
	pixmaps.h \
	bigpixmaps.h \
	public.h \
	version.h

OTHERS = AUTHORS \
	BUGS \
	COPYING \
	COPYRIGHT \
	CREDITS \
	INSTALL \
	LICENSE \
	NEWS \
	README \
	RELEASE \
	TODO \
	Makefile

LIB_OBJS = XMApplicationShell.o \
	XMArrowButton.o \
	XMArrowButtonGadget.o \
	XMBulletinBoard.o \
	XMCascadeButton.o \
	XMCascadeButtonGadget.o \
	XMCommand.o \
	XMDialogShell.o \
	XMDrawingArea.o \
	XMDrawnButton.o \
	XMErrorDialog.o \
	XMFileSelectionBox.o \
	XMForm.o \
	XMFormDialog.o \
	XMFrame.o \
	XMInformationDialog.o \
	XMLabel.o \
	XMLabelGadget.o \
	XMList.o \
	XMMainWindow.o \
	XMMenuBar.o \
	XMMenuShell.o \
	XMMessageBox.o \
	XMOptionMenu.o \
	XMPanedWindow.o \
	XMPopupMenu.o \
	XMPromptDialog.o \
	XMPulldownMenu.o \
	XMPushButton.o \
	XMPushButtonGadget.o \
	XMQuestionDialog.o \
	XMRadioBox.o \
	XMRowColumn.o \
	XMScale.o \
	XMScrollbar.o \
	XMScrolledList.o \
	XMScrolledText.o \
	XMScrolledWindow.o \
	XMSelectionBox.o \
	XMSelectionDialog.o \
	XMSeparator.o \
	XMSeparatorGadget.o \
	XMTabBook.o \
	XMTemplateDialog.o \
	XMText.o \
	XMTextField.o \
	XMToggleButton.o \
	XMToggleButtonGadget.o \
	XMTopLevelShell.o \
	XMTransientShell.o \
	XMWarningDialog.o \
	XMWorkingDialog.o \
	XtComposite.o \
	XtConstraint.o \
	XtCore.o \
	XtGadget.o \
	XtManager.o \
	XtOverrideShell.o \
	XtPrimitive.o \
	XtShell.o \
	XtVendorShell.o \
	XtWMShell.o

GRAPHIC_OBJS = GRLine.o \
	GRObject.o \
	GRRectangle.o \
	RubberLine.o \
	RubberRectangle.o

TAB_OBJS = TabBook.o

# If you do not have the XmHTML library
# replace this line with :
#
# HELP_OBJS = DumbHelp.o
#
# and compile with -DNO_HELP flag
#
#

HELP_OBJS = DumbHelp.o

CLASS_OBJS = ConstraintEditor.o \
	DesignEditor.o \
	Error.o \
	Exception.o \
	Guide.o \
	$(HELP_OBJS) \
	ICodeWriter.o \
	ICodeGen.o \
        IFileReader.o \
	Information.o \
	Interface.o \
	OptionEditor.o \
	PixmapServer.o \
	ResEditor.o \
	Warning.o \
	friends.o \
	main.o

clean:
	${RM} *.o *.rpo *~ libguide.a guide

guide: 	$(CLASS_OBJS) $(LIB_OBJS) libguide.a libguidegraph.a libguidetab.a
	$(G++) -o $@ $(CLASS_OBJS) $(LIBS)

libguide.a: $(LIB_OBJS)
	ar -r $@ $(LIB_OBJS)

libguidegraph.a: $(GRAPHIC_OBJS)
	ar -r $@ $(GRAPHIC_OBJS)

libguidetab.a: $(TAB_OBJS)
	ar -r $@ $(TAB_OBJS)

dist: $(SOURCES) $(HEADERS) $(OTHERS)
	rm -rf ../RELEASE/0.7.5
	mkdir ../RELEASE/0.7.5
	cp $(SOURCES) $(HEADERS) $(OTHERS) ../RELEASE/0.7.5
