# QTDIR=/usr/lib/qt4
DEFINES = -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
CPPFLAGS = -pipe -g -gdwarf-2 -Wall -W $(DEFINES)
LFLAGS = -headerpad_max_install_names
INCPATH = -I. -Imesh -Imathvector
# INCPATH += -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui -I$(QTDIR)/include/QtOpenGL
INCPATH += -I/usr/X11/include -I/usr/local/Qt4.7/mkspecs/macx-g++ -I. -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/usr/include/QtGui -I/Library/Frameworks/QtOpenGL.framework/Versions/4/Headers -I/usr/include/QtOpenGL -I/usr/include -I. -F/Library/Frameworks
LIBPATH = $(LFLAGS) -L/usr/local/lib -L/usr/X11R6/lib
# LIBPATH += -L$(QTDIR)/lib
CC=g++
# MOC=$(QTDIR)/bin/moc
MOC=moc
EXE=mview
CPPFLAGS += $(INCPATH) -O2
# supposedly compiler options for faster code
#CPPFLAGS = $(INCPATH) -O3 -fexceptions --fast-math -felide-constructors -fexpensive-optimizations -fdelayed-branch -fschedule-insns
LIBS_QT3 = -lGL -lGLU -lqt-mt
# LIBS_QT4 = -lGL -lGLU -lQtCore -lQtGui -lQtOpenGL
LIBS_QT4 = -lGL -lglut -lGLU -F/Library/Frameworks -L/Library/Frameworks -framework QtGui -framework QtCore -framework QtOpenGL
LIBS_GLUT = -lGL -lGLU -lglut -ljpeg
QT3 = qt3/main.o \
qt3/mview.o \
qt3/viewpointdialog.o \
qt3/coordinates.o \
qt3/glmesh.o \
qt3/glmesh_common.o \
qt3/texture.o \
qt3/image.o
QT3_MOC = qt3/mview.moc.o \
qt3/viewpointdialog.moc.o \
qt3/coordinates.moc.o \
qt3/glmesh.moc.o
QT4 = qt4/main.o \
qt4/mview.o \
qt4/coordinates.o \
qt4/viewpointdialog.o \
qt4/glmesh.o \
qt4/glmesh_common.o \
qt4/texture.o \
qt4/image.o
QT4_MOC = qt4/mview.moc.o \
qt4/viewpointdialog.moc.o \
qt4/coordinates.moc.o \
qt4/glmesh.moc.o
GLUT = glut/main.o \
glut/glmesh.o \
glut/glmesh_common.o \
glut/texture.o \
glut/image.o
MESH = mesh/mesh.o \
mesh/shape.o \
mesh/triangle.o \
mesh/vertex.o \
mesh/edge.o \
mesh/p_mesh.o \
mesh/gts_mesh.o\
mesh/geomview_mesh.o\
mesh/vrml1_mesh.o \
mesh/vrml2_mesh.o \
mesh/list_mesh.o \
mesh/feature_mesh.o \
mesh/ply_mesh.o \
mesh/obj_mesh.o \
mesh/vtk_mesh.o \
mesh/x3d_mesh.o \
mesh/shallo_mesh.o
VEC = mathvector/mathvector.o
all: QT4
QT3:
rm -f qt3/mview.o
make QT3_2
QT4:
rm -f qt4/mview.o
make QT4_2
GLUT: $(GLUT) $(MESH) $(VEC)
$(CC) $? $(LIBPATH) $(LIBS_GLUT) -o $(EXE)
QT3_2: $(QT3) $(QT3_MOC) $(MESH) $(VEC)
$(CC) $? $(LIBPATH) $(LIBS_QT3) -o $(EXE)
QT4_2: $(QT4) $(QT4_MOC) $(MESH) $(VEC)
$(CC) $? $(LIBPATH) $(LIBS_QT4) -o $(EXE)
%.o : %.cpp
$(CC) $(CPPFLAGS) $(FLAGS) -c -o $@ $<
%.moc.cpp : %.h
$(MOC) $< > $@
tidy:
find . -name "*cpp" -exec touch -c {} \;
clean:
rm -f $(EXE) $(QT3) $(QT3_MOC) $(QT4) $(QT4_MOC) $(GLUT) $(MESH) $(VEC)