SHELL = /usr/bin/sh src = \ cyl.cpp cyl_opengl.cpp \ ellipsoid.cpp ellipsoid_opengl.cpp \ gc.cpp geom.cpp gr.cpp \ jpeg.cpp \ light.cpp light_opengl.cpp line.cpp line_opengl.cpp \ gr_opengl.cpp \ point.cpp point_opengl.cpp poly.cpp poly_opengl.cpp \ scene.cpp scene_opengl.cpp \ sphere.cpp sphere_opengl.cpp \ vgeom.cpp vgeom_opengl.cpp \ win.cpp win_glut.cpp obj = $(src:.cpp=.o) \ # define include dirs #-------------------- glut_inc = -I/usr/include/GL//include #glut_inc = -I/usr/include/w32api #opengl_inc = -I/usr/include/w32api/ #opengl_inc = -I/usr/X11R6/include/ -I/usr/include/w32api/ #gr_inc = $(glut_inc) $(opengl_inc) gr_inc = -I/usr/include/GL/include -I/usr/X11R6/include/ jpg_inc = ../jpg/include inc = -I. -I../../pm++/include \ -I../include \ -I../../common/include hdr = ../include/pm/gr/ common_dir = ../../common/src/ common_objs = $(common_dir)/common.o $(common_dir)/mth.o # define libs #------------ glut_lib = -L/lib -lglut32 opengl_lib = -lglu32 -lopengl32 x_lib = -L/usr/X11R6/lib -lGL -lGlU -lXext -lX11 gr_libs = $(glut_lib) $(opengl_lib) $(x_lib) jpg_lib = libjpeg.a cpp_libs = /lib/gcc/i686-pc-cygwin/3.4.4/debug/libstdc++.a libs = $(gr_libs) -lstdc++ -lComctl32 -lkernel32 -luser32 -lgdi32 -lm libs = $(gr_libs) $(common_objs) $(cpp_libs) $(jpg_lib) \ -lComctl32 -lkernel32 -luser32 -lgdi32 -lm # special cywin flags for my pos computer cwf = -DUSE_CYGWIN_SPECIAL_HEADERS # use for debug: code crashes with -g -funroll-loops -march=pentium4 -mfpmath=sse #copt = -g #flags = $(inc) $(copt) $(cwf) jpeg = -DGR_USE_JPEG # use for optimized execution copt = -O2 -pedantic #flags = $(inc) $(cwf) $(jpeg) $(copt) -funroll-loops -march=pentium4 -mfpmath=sse flags = $(inc) $(cwf) $(jpeg) $(copt) sw_lib = ../../lib lib = $(sw_lib)/libgr++.dll $(lib): $(obj) g++ -shared -o $(lib) $(obj) $(libs) .cpp.o: g++ $(flags) -c $< cyl.o: cyl.cpp $(hdr)/cyl.h g++ $(flags) -c $< cyl_opengl.o: cyl_opengl.cpp g++ $(flags) $(gr_inc) -c $< ellipsoid.o: ellipsoid.cpp $(hdr)/ellipsoid.h g++ $(flags) -c $< ellipsoid_opengl.o: ellipsoid_opengl.cpp g++ $(flags) $(gr_inc) -c $< gc.o: gc.cpp gc.h g++ $(flags) -c $< geom.o: geom.cpp $(hdr)/geom.h g++ $(flags) -c $< gr.o: gr.cpp $(hdr)/gr.h g++ $(flags) -c $< gr_opengl.o: gr_opengl.cpp gr_opengl.h g++ $(flags) $(gr_inc) -c $< jpeg.o: jpeg.cpp jpeg.h g++ $(flags) -I$(jpg_inc) $(jpeg) -c $< light.o: light.cpp $(hdr)/light.h light_prv.h g++ $(flags) -c $< light_opengl.o: light_opengl.cpp light_opengl.h g++ $(flags) $(gr_inc) -c $< line.o: line.cpp $(hdr)/line.h $(hdr)/geom.h g++ $(flags) -c $< line_opengl.o: line_opengl.cpp g++ $(flags) $(gr_inc) -c $< point.o: point.cpp $(hdr)/point.h $(hdr)/geom.h g++ $(flags) -c $< point_opengl.o: point_opengl.cpp g++ $(flags) $(gr_inc) -c $< poly.o: poly.cpp $(hdr)/poly.h $(hdr)/geom.h g++ $(flags) -c $< poly_opengl.o: poly_opengl.cpp g++ $(flags) $(gr_inc) -c $< scene_opengl.o: scene_opengl.cpp g++ $(flags) $(gr_inc) -c $< scene.o: scene.cpp $(hdr)/scene.h scene_prv.h g++ $(flags) -c $< sphere.o: sphere.cpp $(hdr)/sphere.h $(hdr)/geom.h g++ $(flags) -c $< sphere_opengl.o: sphere_opengl.cpp g++ $(flags) $(gr_inc) -c $< vgeom.o: vgeom.cpp $(hdr)/vgeom.h g++ $(flags) -c $< vgeom_opengl.o: vgeom_opengl.cpp g++ $(flags) $(gr_inc) -c $< win.o: win.cpp $(hdr)/win.h win_prv.h g++ $(flags) -c $< win_glut.o: win_glut.cpp win_glut.h g++ $(flags) $(glut_inc) -c $< clean: rm -f *.o;