1.SUFFIXES: .cpp 2 3#for sgi -- comment out the lines below to use on HP 4#CC=CC -g0 -o32 5#CC=gcc 6 7# Compiler options 8#OPTS=-g 9#OPTS=-O0 10OPTS=-O2 11 12UNAME = $(shell uname) 13 14ifeq ($(UNAME), Linux) 15CXX = g++ 16CPPFLAGS += $(OPTS) -Wall -pedantic 17endif 18 19####################################### 20 21CPPFLAGS += -I./ -I./include 22 23LIBGLUI = -L./lib -lglui 24LIBGL = -lGLU -lGL 25LIBS = -lXmu -lXext -lX11 -lXi -lm 26 27# One of the following options only... 28 29# (1) OpenGLUT 30# LIBGLUT = -L/usr/X11R6/lib -lopenglut 31# CPPFLAGS += -I/usr/X11R6/include -DGLUI_OPENGLUT 32 33# (2) FreeGLUT 34LIBGLUT = -L/usr/X11R6/lib -lglut 35CPPFLAGS += -I/usr/X11R6/include -DGLUI_FREEGLUT 36 37# (3) GLUT 38#LIBGLUT = -framework OpenGL -framework GLUT 39#LIBGLUT = -L/usr/X11R6/lib -lglut 40#CPPFLAGS += -I/usr/X11R6/include 41 42####################################### 43 44GLUI_OBJS = glui_add_controls.o glui_string.o glui.o glui_bitmap_img_data.o glui_bitmaps.o glui_button.o glui_edittext.o glui_commandline.o glui_checkbox.o glui_node.o glui_radio.o glui_statictext.o glui_panel.o glui_separator.o glui_spinner.o glui_control.o glui_column.o glui_translation.o glui_rotation.o glui_mouse_iaction.o glui_listbox.o glui_rollout.o glui_window.o arcball.o algebra3.o quaternion.o viewmodel.o glui_treepanel.o glui_tree.o glui_textbox.o glui_scrollbar.o glui_list.o glui_filebrowser.o 45 46GLUI_LIB = lib/libglui.a 47 48GLUI_EXAMPLES = bin/example1 bin/example2 bin/example3 bin/example4 bin/example5 bin/example6 49 50GLUI_TOOLS = bin/ppm2array 51 52.PHONY: all setup examples tools clean depend dist 53 54all: setup $(GLUI_LIB) examples tools 55 56setup: 57 mkdir -p bin 58 mkdir -p lib 59 60examples: $(GLUI_EXAMPLES) 61 62tools: $(GLUI_TOOLS) 63 64bin/ppm2array: tools/ppm2array.cpp tools/ppm.cpp 65 $(CXX) $(CPPFLAGS) -o $@ $^ 66 67bin/%: example/%.cpp $(GLUI_LIB) 68 $(CXX) $(CPPFLAGS) -o $@ $< $(LIBGLUI) $(LIBGLUT) $(LIBGL) $(LIBS) 69 70$(GLUI_LIB): $(GLUI_OBJS) 71 ar -r $(GLUI_LIB) $(GLUI_OBJS) 72 73.cpp.o: 74 $(CXX) $(CPPFLAGS) -c $< 75 76.c.o: 77 $(CXX) $(CPPFLAGS) -c $< 78 79docs: 80 doxygen doc/doxygen.cfg 81 82clean: 83 rm -f *.o $(GLUI_LIB) $(GLUI_EXAMPLES) $(GLUI_TOOLS) 84 rm -fr doc/html 85 86depend: 87 makedepend -Y./include `find -name "*.cpp"` `find -name "*.c"` 88 89DIST = glui-2.3.0 90 91dist: clean 92 mkdir -p $(DIST) 93 cp --parents \ 94 `find -type f -name "*.cpp"` \ 95 `find -type f -name "*.c"` \ 96 `find -type f -name "*.h"` \ 97 `find -type f -name "*.dev"` \ 98 `find -type f -name "*.dsp"` \ 99 `find -type f -name "*.dsw"` \ 100 `find -type f -name "*.vcproj"` \ 101 `find -type f -name "*.sln"` \ 102 `find -type f -name "*.txt"` \ 103 makefile \ 104 $(DIST) 105 tar cv $(DIST) | gzip -9 - > $(DIST).tgz 106 rm -Rf $(DIST) 107 108# DO NOT DELETE THIS LINE -- make depend depends on it. 109 110./algebra3.o: algebra3.h glui_internal.h 111./arcball.o: arcball.h glui_internal.h algebra3.h quaternion.h 112./glui_button.o: ./include/GL/glui.h glui_internal.h 113./glui_checkbox.o: ./include/GL/glui.h glui_internal.h 114./glui_column.o: ./include/GL/glui.h glui_internal.h 115./glui_control.o: ./include/GL/glui.h glui_internal.h 116./glui_edittext.o: ./include/GL/glui.h glui_internal.h 117./glui_listbox.o: ./include/GL/glui.h glui_internal.h 118./glui_mouse_iaction.o: ./include/GL/glui.h glui_internal.h 119./glui_node.o: ./include/GL/glui.h glui_internal.h 120./glui_panel.o: ./include/GL/glui.h glui_internal.h 121./glui_radio.o: ./include/GL/glui.h glui_internal.h 122./glui_rollout.o: ./include/GL/glui.h glui_internal.h 123./glui_rotation.o: ./include/GL/glui.h arcball.h glui_internal.h algebra3.h 124./glui_rotation.o: quaternion.h 125./glui_separator.o: ./include/GL/glui.h glui_internal.h 126./glui_spinner.o: ./include/GL/glui.h glui_internal.h 127./glui_translation.o: ./include/GL/glui.h glui_internal.h algebra3.h 128./glui_window.o: ./include/GL/glui.h glui_internal.h 129./quaternion.o: quaternion.h algebra3.h glui_internal.h 130./viewmodel.o: viewmodel.h algebra3.h ./include/GL/glui.h 131./glui_bitmaps.o: ./include/GL/glui.h glui_internal.h 132./glui_statictext.o: ./include/GL/glui.h glui_internal.h 133./glui.o: ./include/GL/glui.h glui_internal.h 134./glui_add_controls.o: ./include/GL/glui.h glui_internal.h 135./glui_commandline.o: ./include/GL/glui.h glui_internal.h 136./glui_list.o: ./include/GL/glui.h glui_internal.h 137./glui_scrollbar.o: ./include/GL/glui.h glui_internal.h 138./glui_string.o: ./include/GL/glui.h 139./glui_textbox.o: ./include/GL/glui.h glui_internal.h 140./glui_tree.o: ./include/GL/glui.h glui_internal.h 141./glui_treepanel.o: ./include/GL/glui.h 142./example/example1.o: ./include/GL/glui.h 143./example/example2.o: ./include/GL/glui.h 144./example/example3.o: ./include/GL/glui.h 145./example/example4.o: ./include/GL/glui.h 146./example/example5.o: ./include/GL/glui.h 147./example/example6.o: ./include/GL/glui.h 148./tools/ppm2array.o: ./tools/ppm.hpp 149./glui_filebrowser.o: ./include/GL/glui.h glui_internal.h 150