# Makefile for KSEG
CC = gcc
QTINCLUDE = -I$(QTDIR)/include
CCFLAGS = -c -O2 -fno-rtti -fno-exceptions
LIBS = -lm -L$(QTDIR)/lib -lqt -lz
MOC = $(QTDIR)/bin/moc
LUPDATE = $(QTDIR)/bin/lupdate
LRELEASE = $(QTDIR)/bin/lrelease


OBJECTS = main.o G_drawstyle.o G_point.o G_line.o KSegView.o KSegDocument.o \
	G_ref.o G_refs.o G_object.o G_label.o G_pointObject.o G_lineObject.o \
	G_segment.o G_segmentObject.o KSegWindow.o menu.o cans.o G_ray.o \
	G_rayObject.o G_circle.o G_circleObject.o G_undo.o G_undoStack.o G_arc.o \
	G_arcObject.o G_locus.o G_locusObject.o G_pointLocus.o G_measureObject.o \
	G_calculateObject.o KSegCalculateEditor.o KSegConstruction.o \
	KSegConstructionList.o KSegConstructionListNamer.o G_refSearcher.o \
	KSegRecursionDialog.o G_arcSector.o G_arcSegment.o G_polygon.o \
	G_circleInterior.o G_circleInteriorObject.o G_arcSegmentObject.o \
	G_arcSectorObject.o G_polygonObject.o BuildReverse.o KSegProperties.o

FORMULA_OBJECTS = formula/box.o formula/kformulaedit.o formula/kformula.o \
	formula/matrixbox.o formula/MatrixDialog.o

all: formula-make kseg

kseg: $(OBJECTS) $(FORMULA_OBJECTS)
	$(CC) $(FORMULA_OBJECTS) $(OBJECTS) $(LIBS) -o kseg

formula-make:
	cd formula && make

trans:
	$(LUPDATE) kseg.pro
	$(LRELEASE) kseg.pro

.cpp.o:
	$(CC) $(CCFLAGS) $(QTINCLUDE) $<

#so it doesn't compile too slowly, optimization is set to 1
BuildReverse.o: BuildReverse.cpp
	$(CC) $(CCFLAGS) $(QTINCLUDE) -O1 $<

MOCS = *.moc

#MOCS:
KSegView.o: KSegView.moc
KSegView.moc: KSegView.H
	$(MOC) KSegView.H -o KSegView.moc

KSegDocument.o: KSegDocument.moc
KSegDocument.moc: KSegDocument.H
	$(MOC) KSegDocument.H -o KSegDocument.moc

KSegConstruction.o: KSegConstruction.moc
KSegConstruction.moc: KSegConstruction.H
	$(MOC) KSegConstruction.H -o KSegConstruction.moc

KSegConstructionList.o: KSegConstructionList.moc
KSegConstructionList.moc: KSegConstructionList.H
	$(MOC) KSegConstructionList.H -o KSegConstructionList.moc

KSegWindow.o: KSegWindow.moc
KSegWindow.moc: KSegWindow.H
	$(MOC) KSegWindow.H -o KSegWindow.moc

KSegRecursionDialog.o: KSegRecursionDialog.moc
KSegRecursionDialog.moc: KSegRecursionDialog.H
	$(MOC) KSegRecursionDialog.H -o KSegRecursionDialog.moc

KSegCalculateEditor.o: KSegCalculateEditor.moc
KSegCalculateEditor.moc: KSegCalculateEditor.H
	$(MOC) KSegCalculateEditor.H -o KSegCalculateEditor.moc

#do a makedepend and remove all the external dependencies from the makefile
#works on my system, no one else should need to do it.
depend:
	makedepend *.cpp >& /dev/null
	perl -pi -e 's/\.c\.o/\.o/' Makefile
	perl -pi -e 's/\/u[Ss]r[a-zA-Z0-9\+\-\/\.\_]*//' Makefile
	perl -pi -e 's/\/u[Ss]r[a-zA-Z0-9\+\-\/\.\_]*//' Makefile
	perl -pi -e 's/\/u[Ss]r[a-zA-Z0-9\+\-\/\.\_]*//' Makefile
	perl -pi -e 's/\/u[Ss]r[a-zA-Z0-9\+\-\/\.\_]*//' Makefile
	perl -pi -e 's/\/u[Ss]r[a-zA-Z0-9\+\-\/\.\_]*//' Makefile
	perl -pi -e 's/\/u[Ss]r[a-zA-Z0-9\+\-\/\.\_]*//' Makefile
	perl -pi -e 's/\/u[Ss]r[a-zA-Z0-9\+\-\/\.\_]*//' Makefile
	perl -pi -e 's/\/u[Ss]r[a-zA-Z0-9\+\-\/\.\_]*//' Makefile
	perl -pi -e 's/^[a-zA-Z].*\.o\:\s*$$//' Makefile
	cd formula && make depend

clean:
	rm -f $(MOCS) $(OBJECTS) kseg *~ core gmon.out
	cd formula && make clean

#for me--makes a distribution file.
DISTDIR = kseg-0.3

dist:   trans
	mkdir $(DISTDIR)
	cp *.cpp *.H Makefile *.ts *.qm README VERSION AUTHORS COPYING $(DISTDIR)
	cp kseg.lsm kseg.pro README.translators seg.plan INSTALL INSTALL_PT $(DISTDIR)
	cp ChangeLog $(DISTDIR)
	mkdir $(DISTDIR)/formula
	cp formula/*.cpp formula/*.H formula/Makefile $(DISTDIR)/formula
	mkdir $(DISTDIR)/pics
	cp pics/*.xpm $(DISTDIR)/pics
	mkdir $(DISTDIR)/examples
	cp examples/*.sec examples/*.seg $(DISTDIR)/examples
	tar cvfz $(DISTDIR).tar.gz $(DISTDIR)
	rm -r $(DISTDIR)

# DO NOT DELETE


BuildReverse.o: defs.H formula/box.H formula/kformula.H G_arc.H
BuildReverse.o: G_arcSector.H G_arcSegment.H G_circle.H G_circleInterior.H
BuildReverse.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_locus.H
BuildReverse.o: G_matrix.H G_object.H G_point.H G_polygon.H G_ray.H G_ref.H
BuildReverse.o: G_refs.H G_segment.H 
cans.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H G_geometry.H
cans.o: G_label.H G_point.H G_ref.H G_refSearcher.H G_refs.H G_undo.H
cans.o: G_undoStack.H KSegConstruction.H KSegDocument.H
G_arc.o: defs.H formula/box.H formula/kformula.H G_arc.H G_circle.H
G_arc.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_matrix.H G_point.H
G_arc.o: G_ray.H G_ref.H G_refs.H G_segment.H KSegView.H
G_arcObject.o: defs.H formula/box.H formula/kformula.H G_arc.H G_arcSector.H
G_arcObject.o: G_arcSegment.H G_circle.H G_circleInterior.H G_drawstyle.H
G_arcObject.o: G_geometry.H G_label.H G_line.H G_locus.H G_object.H
G_arcObject.o: G_point.H G_polygon.H G_ray.H G_ref.H G_refs.H G_segment.H
G_arcSector.o: defs.H formula/box.H formula/kformula.H G_arc.H G_arcSector.H
G_arcSector.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_matrix.H
G_arcSector.o: G_point.H G_ray.H G_ref.H G_refs.H G_segment.H KSegView.H
G_arcSectorObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_arcSectorObject.o: G_arcSector.H G_arcSegment.H G_circle.H
G_arcSectorObject.o: G_circleInterior.H G_drawstyle.H G_geometry.H G_label.H
G_arcSectorObject.o: G_line.H G_locus.H G_object.H G_point.H G_polygon.H
G_arcSectorObject.o: G_ray.H G_ref.H G_refs.H G_segment.H
G_arcSegment.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_arcSegment.o: G_arcSector.H G_arcSegment.H G_drawstyle.H G_geometry.H
G_arcSegment.o: G_label.H G_line.H G_matrix.H G_point.H G_ray.H G_ref.H
G_arcSegment.o: G_refs.H G_segment.H KSegView.H 
G_arcSegmentObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_arcSegmentObject.o: G_arcSector.H G_arcSegment.H G_circle.H
G_arcSegmentObject.o: G_circleInterior.H G_drawstyle.H G_geometry.H
G_arcSegmentObject.o: G_label.H G_line.H G_locus.H G_object.H G_point.H
G_arcSegmentObject.o: G_polygon.H G_ray.H G_ref.H G_refs.H G_segment.H
G_calculateObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_calculateObject.o: G_arcSector.H G_arcSegment.H G_circle.H
G_calculateObject.o: G_circleInterior.H G_drawstyle.H G_geometry.H G_label.H
G_calculateObject.o: G_line.H G_locus.H G_object.H G_point.H G_polygon.H
G_calculateObject.o: G_ray.H G_ref.H G_refs.H G_segment.H G_undo.H
G_calculateObject.o: G_undoStack.H KSegDocument.H 
G_circle.o: defs.H formula/box.H formula/kformula.H G_circle.H G_drawstyle.H
G_circle.o: G_geometry.H G_label.H G_line.H G_matrix.H G_point.H G_ray.H
G_circle.o: G_ref.H G_refs.H G_segment.H KSegView.H 
G_circleInterior.o: defs.H formula/box.H formula/kformula.H G_circle.H
G_circleInterior.o: G_circleInterior.H G_drawstyle.H G_geometry.H G_label.H
G_circleInterior.o: G_line.H G_matrix.H G_point.H G_ray.H G_ref.H G_refs.H
G_circleInterior.o: G_segment.H KSegView.H 
G_circleInteriorObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_circleInteriorObject.o: G_arcSector.H G_arcSegment.H G_circle.H
G_circleInteriorObject.o: G_circleInterior.H G_drawstyle.H G_geometry.H
G_circleInteriorObject.o: G_label.H G_line.H G_locus.H G_object.H G_point.H
G_circleInteriorObject.o: G_polygon.H G_ray.H G_ref.H G_refs.H G_segment.H
G_circleObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_circleObject.o: G_arcSector.H G_arcSegment.H G_circle.H G_circleInterior.H
G_circleObject.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_locus.H
G_circleObject.o: G_object.H G_point.H G_polygon.H G_ray.H G_ref.H G_refs.H
G_circleObject.o: G_segment.H  
G_drawstyle.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H
G_drawstyle.o: G_geometry.H G_label.H G_point.H G_ref.H G_refs.H
G_label.o: defs.H formula/box.H formula/kformula.H G_arc.H G_arcSector.H
G_label.o: G_arcSegment.H G_circle.H G_circleInterior.H G_drawstyle.H
G_label.o: G_geometry.H G_label.H G_line.H G_locus.H G_object.H G_point.H
G_label.o: G_polygon.H G_ray.H G_ref.H G_refs.H G_segment.H
G_line.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H G_geometry.H
G_line.o: G_label.H G_line.H G_matrix.H G_point.H G_ref.H G_refs.H
G_line.o: G_segment.H KSegView.H  
G_lineObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_lineObject.o: G_arcSector.H G_arcSegment.H G_circle.H G_circleInterior.H
G_lineObject.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_locus.H
G_lineObject.o: G_object.H G_point.H G_polygon.H G_ray.H G_ref.H G_refs.H
G_lineObject.o: G_segment.H  
G_locus.o: defs.H G_geometry.H G_locus.H G_point.H 
G_locusObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_locusObject.o: G_arcSector.H G_arcSegment.H G_circle.H G_circleInterior.H
G_locusObject.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_locus.H
G_locusObject.o: G_object.H G_point.H G_polygon.H G_ray.H G_ref.H G_refs.H
G_locusObject.o: G_segment.H  
G_measureObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_measureObject.o: G_arcSector.H G_arcSegment.H G_circle.H
G_measureObject.o: G_circleInterior.H G_drawstyle.H G_geometry.H G_label.H
G_measureObject.o: G_line.H G_locus.H G_object.H G_point.H G_polygon.H
G_measureObject.o: G_ray.H G_ref.H G_refs.H G_segment.H
G_object.o: defs.H formula/box.H formula/kformula.H G_arc.H G_arcSector.H
G_object.o: G_arcSegment.H G_circle.H G_circleInterior.H G_drawstyle.H
G_object.o: G_geometry.H G_label.H G_line.H G_locus.H G_object.H G_point.H
G_object.o: G_polygon.H G_ray.H G_ref.H G_refs.H G_segment.H
G_point.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H
G_point.o: G_geometry.H G_label.H G_line.H G_matrix.H G_point.H G_ref.H
G_point.o: G_refs.H G_segment.H KSegView.H 
G_pointLocus.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_pointLocus.o: G_arcSector.H G_arcSegment.H G_circle.H G_circleInterior.H
G_pointLocus.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_locus.H
G_pointLocus.o: G_object.H G_point.H G_polygon.H G_ray.H G_ref.H G_refs.H
G_pointLocus.o: G_segment.H  
G_pointObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_pointObject.o: G_arcSector.H G_arcSegment.H G_circle.H G_circleInterior.H
G_pointObject.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_locus.H
G_pointObject.o: G_object.H G_point.H G_polygon.H G_ray.H G_ref.H G_refs.H
G_pointObject.o: G_segment.H  
G_polygon.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H
G_polygon.o: G_geometry.H G_label.H G_line.H G_matrix.H G_point.H
G_polygon.o: G_polygon.H G_ray.H G_ref.H G_refs.H G_segment.H KSegView.H
G_polygonObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_polygonObject.o: G_arcSector.H G_arcSegment.H G_circle.H
G_polygonObject.o: G_circleInterior.H G_drawstyle.H G_geometry.H G_label.H
G_polygonObject.o: G_line.H G_locus.H G_object.H G_point.H G_polygon.H
G_polygonObject.o: G_ray.H G_ref.H G_refs.H G_segment.H
G_ray.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H G_geometry.H
G_ray.o: G_label.H G_line.H G_matrix.H G_point.H G_ray.H G_ref.H G_refs.H
G_ray.o: G_segment.H KSegView.H  
G_rayObject.o: defs.H formula/box.H formula/kformula.H G_arc.H G_arcSector.H
G_rayObject.o: G_arcSegment.H G_circle.H G_circleInterior.H G_drawstyle.H
G_rayObject.o: G_geometry.H G_label.H G_line.H G_locus.H G_object.H
G_rayObject.o: G_point.H G_polygon.H G_ray.H G_ref.H G_refs.H G_segment.H
G_ref.o: defs.H formula/box.H formula/kformula.H G_arc.H G_arcSector.H
G_ref.o: G_arcSegment.H G_circle.H G_circleInterior.H G_drawstyle.H
G_ref.o: G_geometry.H G_label.H G_line.H G_locus.H G_object.H G_point.H
G_ref.o: G_polygon.H G_ray.H G_ref.H G_refs.H G_segment.H G_undo.H
G_ref.o: G_undoStack.H KSegConstruction.H KSegDocument.H
G_refs.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H G_geometry.H
G_refs.o: G_label.H G_point.H G_ref.H G_refSearcher.H G_refs.H
G_refSearcher.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H
G_refSearcher.o: G_geometry.H G_label.H G_point.H G_ref.H G_refSearcher.H
G_refSearcher.o: G_refs.H  
G_segment.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H
G_segment.o: G_geometry.H G_label.H G_line.H G_matrix.H G_point.H G_ref.H
G_segment.o: G_refs.H G_segment.H KSegView.H 
G_segmentObject.o: defs.H formula/box.H formula/kformula.H G_arc.H
G_segmentObject.o: G_arcSector.H G_arcSegment.H G_circle.H
G_segmentObject.o: G_circleInterior.H G_drawstyle.H G_geometry.H G_label.H
G_segmentObject.o: G_line.H G_locus.H G_object.H G_point.H G_polygon.H
G_segmentObject.o: G_ray.H G_ref.H G_refs.H G_segment.H
G_undo.o: defs.H formula/box.H formula/kformula.H G_arc.H G_arcSector.H
G_undo.o: G_arcSegment.H G_circle.H G_circleInterior.H G_drawstyle.H
G_undo.o: G_geometry.H G_label.H G_line.H G_locus.H G_object.H G_point.H
G_undo.o: G_polygon.H G_ray.H G_ref.H G_refs.H G_segment.H G_undo.H
G_undo.o: G_undoStack.H KSegConstruction.H KSegDocument.H
G_undoStack.o: defs.H G_drawstyle.H G_geometry.H G_point.H G_refs.H G_undo.H
G_undoStack.o: G_undoStack.H KSegDocument.H 
KSegCalculateEditor.o: defs.H formula/box.H formula/kformulaedit.H
KSegCalculateEditor.o: formula/kformula.H G_arc.H G_arcSector.H
KSegCalculateEditor.o: G_arcSegment.H G_circle.H G_circleInterior.H
KSegCalculateEditor.o: G_drawstyle.H G_geometry.H G_label.H G_line.H
KSegCalculateEditor.o: G_locus.H G_matrix.H G_object.H G_point.H G_polygon.H
KSegCalculateEditor.o: G_ray.H G_ref.H G_refSearcher.H G_refs.H G_segment.H
KSegCalculateEditor.o: G_undo.H G_undoStack.H KSegCalculateEditor.H
KSegCalculateEditor.o: KSegCalculateEditor.moc KSegDocument.H KSegView.H
KSegCalculateEditor.o: KSegWindow.H pics/abs.xpm pics/editcopy.xpm
KSegCalculateEditor.o: pics/editcut.xpm pics/editpaste.xpm pics/frac.xpm
KSegCalculateEditor.o: pics/paren.xpm pics/redo.xpm pics/rsup.xpm
KSegCalculateEditor.o: pics/sqrt.xpm pics/undo.xpm 
KSegConstruction.o: defs.H formula/box.H formula/kformula.H G_arc.H
KSegConstruction.o: G_arcSector.H G_arcSegment.H G_circle.H
KSegConstruction.o: G_circleInterior.H G_drawstyle.H G_geometry.H G_label.H
KSegConstruction.o: G_line.H G_locus.H G_matrix.H G_object.H G_point.H
KSegConstruction.o: G_polygon.H G_ray.H G_ref.H G_refSearcher.H G_refs.H
KSegConstruction.o: G_segment.H G_undo.H G_undoStack.H KSegConstruction.H
KSegConstruction.o: KSegConstruction.moc KSegDocument.H KSegView.H
KSegConstructionList.o: defs.H formula/box.H formula/kformula.H
KSegConstructionList.o: G_drawstyle.H G_geometry.H G_label.H G_matrix.H
KSegConstructionList.o: G_point.H G_ref.H G_refSearcher.H G_refs.H
KSegConstructionList.o: G_segment.H G_undo.H G_undoStack.H
KSegConstructionList.o: KSegConstructionList.H KSegConstructionList.moc
KSegConstructionList.o: KSegDocument.H KSegView.H 
KSegConstructionListNamer.o: defs.H formula/box.H formula/kformula.H
KSegConstructionListNamer.o: G_drawstyle.H G_geometry.H G_label.H G_point.H
KSegConstructionListNamer.o: G_ref.H G_refSearcher.H G_refs.H G_undo.H
KSegConstructionListNamer.o: G_undoStack.H KSegConstruction.H
KSegConstructionListNamer.o: KSegConstructionList.H KSegDocument.H
KSegDocument.o: defs.H formula/box.H formula/kformula.H G_arc.H
KSegDocument.o: G_arcSector.H G_arcSegment.H G_circle.H G_circleInterior.H
KSegDocument.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_locus.H
KSegDocument.o: G_object.H G_point.H G_polygon.H G_ray.H G_ref.H
KSegDocument.o: G_refSearcher.H G_refs.H G_segment.H G_undo.H G_undoStack.H
KSegDocument.o: KSegConstruction.H KSegDocument.H KSegDocument.moc
KSegProperties.o: KSegProperties.H 
KSegRecursionDialog.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H
KSegRecursionDialog.o: G_geometry.H G_label.H G_point.H G_ref.H
KSegRecursionDialog.o: G_refSearcher.H G_refs.H G_undo.H G_undoStack.H
KSegRecursionDialog.o: KSegConstruction.H KSegDocument.H
KSegRecursionDialog.o: KSegRecursionDialog.H KSegRecursionDialog.moc
KSegView.o: defs.H formula/box.H formula/kformulaedit.H formula/kformula.H
KSegView.o: G_arc.H G_arcSector.H G_arcSegment.H G_circle.H
KSegView.o: G_circleInterior.H G_drawstyle.H G_geometry.H G_label.H G_line.H
KSegView.o: G_locus.H G_matrix.H G_object.H G_point.H G_polygon.H G_ray.H
KSegView.o: G_ref.H G_refSearcher.H G_refs.H G_segment.H G_undo.H
KSegView.o: G_undoStack.H KSegCalculateEditor.H KSegConstruction.H
KSegView.o: KSegConstructionList.H KSegDocument.H KSegProperties.H
KSegView.o: KSegView.H KSegView.moc 
KSegWindow.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H
KSegWindow.o: G_geometry.H G_label.H G_matrix.H G_point.H G_ref.H
KSegWindow.o: G_refSearcher.H G_refs.H G_segment.H G_undo.H G_undoStack.H
KSegWindow.o: KSegConstruction.H KSegConstructionList.H KSegDocument.H
KSegWindow.o: KSegProperties.H KSegView.H KSegWindow.H KSegWindow.moc
main.o: defs.H formula/box.H formula/kformula.H G_drawstyle.H G_geometry.H
main.o: G_label.H G_point.H G_ref.H G_refs.H KSegProperties.H KSegWindow.H
menu.o: defs.H formula/box.H formula/kformulaedit.H formula/kformula.H
menu.o: G_arc.H G_arcSector.H G_arcSegment.H G_circle.H G_circleInterior.H
menu.o: G_drawstyle.H G_geometry.H G_label.H G_line.H G_locus.H G_matrix.H
menu.o: G_object.H G_point.H G_polygon.H G_ray.H G_ref.H G_refSearcher.H
menu.o: G_refs.H G_segment.H G_undo.H G_undoStack.H KSegCalculateEditor.H
menu.o: KSegConstruction.H KSegDocument.H KSegRecursionDialog.H KSegView.H
