1# Makefile 2 3# Palomides: 4#CC=i586-mingw32msvc-gcc 5#CXX=i586-mingw32msvc-g++ 6#LD=i586-mingw32msvc-ld 7#AR=i586-mingw32msvc-ar 8#AS=i586-mingw32msvc-as 9#NM=i586-mingw32msvc-nm 10#STRIP=i586-mingw32msvc-strip 11#RANLIB=i586-mingw32msvc-ranlib 12#DLLTOOL=i586-mingw32msvc-dlltool 13#OBJDUMP=i586-mingw32msvc-objdump 14#RC=i586-mingw32msvc-windres 15 16# Fedora 13: 17CC=i686-pc-mingw32-gcc 18CXX=i686-pc-mingw32-g++ 19LD=i686-pc-mingw32-ld 20AR=i686-pc-mingw32-ar 21AS=i686-pc-mingw32-as 22NM=i686-pc-mingw32-nm 23STRIP=i686-pc-mingw32-strip 24RANLIB=i686-pc-mingw32-ranlib 25DLLTOOL=i686-pc-mingw32-dlltool 26OBJDUMP=i686-pc-mingw32-objdump 27RC=i686-pc-mingw32-windres 28 29LIB_DIR=../libraries 30 31CFLAGS+=-DSIMULATOR -W -I$(LIB_DIR)/Boost1.40 -O0 -I../ -D_CRT_SECURE_NO_DEPRECATE -I$(LIB_DIR)/fltk-1.1.10 -I$(LIB_DIR)/vmmlib/include -I$(LIB_DIR)/glut-3.7.6/include -I$(LIB_DIR)/ann_1.1.1/include -DWIN32 -I$(LIB_DIR)/ -D_DEBUG -D_WINDOWS -DWIN32_LEAN_AND_MEAN -DVC_EXTRA_LEAN -I$(LIB_DIR)/polylib -DWIN32_EXTRA_LEAN -g -I/usr/i586-mingw32msvc/include -I/usr/i586-mingw32msvc/lib -I$(LIB_DIR)/libconfig-1.3.2 32 33LDFLAGS+=-L$(LIB_DIR)/boost1.40 34LDFLAGS+=-L$(LIB_DIR)/polylib 35LDFLAGS+=-L$(LIB_DIR)/fltk-1.1.10 36LDFLAGS+=-L$(LIB_DIR)/vmmlib 37LDFLAGS+=-L$(LIB_DIR)/CGAL_3.5/CGAL-3.5 38LDFLAGS+=-L$(LIB_DIR)/glut-3.7.6 39LDFLAGS+=-L$(LIB_DIR)/ann_1.1.1/include 40LDFLAGS+=-L$(LIB_DIR)/libconfig-1.3.2/lib 41 42# Palomides: 43#LDFLAGS+=-L"/usr/i586-mingw32msvc/lib" 44 45# Fedora 13: 46LDFLAGS+=-L"/usr/i686-pc-mingw32/lib" 47LDFLAGS+=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lwsock32 -lcomctl32 -lws2_32 -limm32 -lwinmm -lopengl32 -lstdc++ -lgcc -lctl3d32 -lwsock32 -lopengl32 -lglu32 48 49LDFLAGS+=-lpolylib -lconfig++ -lGLU -lGL -lfltk -lfltk_gl -lfltk_forms -lglut -lboost_thread-mt -lboost_system-mt 50 51ifeq ($(TARGET),) 52 TARGET=RELEASE 53endif 54 55WARNING_FLAGS = -Wall 56 57EXEC=RepSnapper.exe 58EXEC_DEBUG=RepSnapper_debug.exe 59 60ifeq ($(TARGET),RELEASE) 61 CFLAGS ?= -O2 $(WARNING_FLAGS) 62 EXECUTABLE=$(EXEC) 63else 64 CFLAGS ?= -g -O0 $(WARNING_FLAGS) 65 EXECUTABLE=$(EXEC_DEBUG) 66endif 67 68GENERATED=ui.cxx ui.h 69 70MAIN_SOURCES=repsnapper.cpp 71TEST_SOURCES=unittest.cpp 72SHARED_SOURCES=asyncserial.cpp stl.cpp reprapserial.cpp \ 73 processcontroller.cpp printer.cpp modelviewcontroller.cpp \ 74 gllight.cpp gcode.cpp arcball.cpp stdafx.cpp ui.cxx \ 75 rfo.cpp flu_dnd.cpp flu_pixmaps.cpp flu_simplestring.cpp \ 76 flu_tree_browser.cpp ivcon.cpp file.cpp platform.cpp 77 78HEADERS=arcball.h asyncserial.h convert.h flu_dnd.h flu_enumerations.h \ 79 flu_export.h flu_pixmaps.h flu_simplestring.h flu_tree_browser.h \ 80 gcode.h gllight.h ivcon.h miniball.h modelviewcontroller.h \ 81 printer.h processcontroller.h reprapserial.h rfo.h \ 82 stdafx.h stl.h triangle.h ui.h platform.h 83 84SHARED_OBJECTS=$(subst .c,.o,$(subst .cxx,.o,$(subst .cpp,.o,$(SHARED_SOURCES)))) 85MAIN_OBJECTS=$(subst .c,.o,$(subst .cxx,.o,$(subst .cpp,.o,$(MAIN_SOURCES)))) $(SHARED_OBJECTS) 86TEST_OBJECTS=$(subst .c,.o,$(subst .cxx,.o,$(subst .cpp,.o,$(TEST_SOURCES)))) $(SHARED_OBJECTS) 87 88all: $(EXECUTABLE) 89 90$(EXECUTABLE): poly_lib $(MAIN_OBJECTS) 91 $(CXX) ${INC} $(MAIN_OBJECTS) $(LDFLAGS) -o $@ 92 93unittest : poly_lib $(TEST_OBJECTS) 94 $(CXX) ${INC} $(TEST_OBJECTS) $(LDFLAGS) $(TEST_LDFLAGS) -o $@ 95 96%.cxx %.h:%.fl 97 rm -f $@ # fluid doesn't remove on failure. 98 fluid -c $< 99%.o:%.cxx 100 $(CXX) ${INC} -c $(CFLAGS) $< -o $@ 101%.o:%.cpp 102 $(CXX) ${INC} -c $(CFLAGS) $< -o $@ 103%.o:%.c 104 $(CC) ${INC} -c $(CFLAGS) $< -o $@ 105 106poly_lib: 107 make -C $(LIB_DIR)/polylib/ all 108 109boost_lib: 110 cd $(LIB_DIR)/Boost1.40/ && configure --host=i586-mingw32msvc --prefix=/usr/i586-mingw32msvc 111 make -C $(LIB_DIR)/Boost1.40 112 113libconfig_lib: 114 PATH=/usr/i586-mingw32msvc/bin:$(PATH) 115 cd $(LIB_DIR)/libconfig-1.3.2/ && ./configure --host=i586-mingw32msvc --prefix=$(realpath $(LIB_DIR)/libconfig-1.3.2/) 116 make -C $(LIB_DIR)/libconfig-1.3.2/ all 117 make -C $(LIB_DIR)/libconfig-1.3.2/ install 118 119 120check: unittest 121 ./unittest 122 123clean: 124 rm -f $(SHARED_OBJECTS) $(MAIN_OBJECTS) $(TEST_OBJECTS) \ 125 $(EXEC) $(EXEC_DEBUG) $(GENERATED) unittest 126 make -i -C $(LIB_DIR)/polylib/ clean 127 make -C $(LIB_DIR)/libconfig-1.3.2/ distclean 128 129asyncserial.o: stdafx.h config.h platform.h arcball.h ivcon.h asyncserial.h 130repsnapper.o: stdafx.h config.h platform.h arcball.h ivcon.h 131repsnapper.o: modelviewcontroller.h ui.h file.h flu_tree_browser.h 132repsnapper.o: flu_enumerations.h flu_export.h flu_simplestring.h gcode.h stl.h 133repsnapper.o: processcontroller.h printer.h rfo.h gllight.h reprapserial.h 134repsnapper.o: asyncserial.h 135stl.o: stdafx.h config.h platform.h arcball.h ivcon.h stl.h gcode.h ui.h 136stl.o: file.h modelviewcontroller.h processcontroller.h printer.h rfo.h 137stl.o: flu_tree_browser.h flu_enumerations.h flu_export.h flu_simplestring.h 138stl.o: gllight.h reprapserial.h asyncserial.h 139reprapserial.o: stdafx.h config.h platform.h arcball.h ivcon.h reprapserial.h 140reprapserial.o: ui.h file.h modelviewcontroller.h gcode.h stl.h 141reprapserial.o: processcontroller.h printer.h rfo.h flu_tree_browser.h 142reprapserial.o: flu_enumerations.h flu_export.h flu_simplestring.h gllight.h 143reprapserial.o: asyncserial.h convert.h 144processcontroller.o: stdafx.h config.h platform.h arcball.h ivcon.h 145processcontroller.o: modelviewcontroller.h ui.h file.h flu_tree_browser.h 146processcontroller.o: flu_enumerations.h flu_export.h flu_simplestring.h 147processcontroller.o: gcode.h stl.h processcontroller.h printer.h rfo.h 148processcontroller.o: gllight.h reprapserial.h asyncserial.h 149printer.o: stdafx.h config.h platform.h arcball.h ivcon.h processcontroller.h 150printer.o: printer.h gcode.h rfo.h flu_tree_browser.h flu_enumerations.h 151printer.o: flu_export.h flu_simplestring.h stl.h 152modelviewcontroller.o: stdafx.h config.h platform.h arcball.h ivcon.h 153modelviewcontroller.o: modelviewcontroller.h ui.h file.h flu_tree_browser.h 154modelviewcontroller.o: flu_enumerations.h flu_export.h flu_simplestring.h 155modelviewcontroller.o: gcode.h stl.h processcontroller.h printer.h rfo.h 156modelviewcontroller.o: gllight.h reprapserial.h asyncserial.h 157gllight.o: stdafx.h config.h platform.h arcball.h ivcon.h gllight.h 158gcode.o: stdafx.h config.h platform.h arcball.h ivcon.h gcode.h ui.h file.h 159gcode.o: modelviewcontroller.h stl.h processcontroller.h printer.h rfo.h 160gcode.o: flu_tree_browser.h flu_enumerations.h flu_export.h flu_simplestring.h 161gcode.o: gllight.h reprapserial.h asyncserial.h 162arcball.o: stdafx.h config.h platform.h arcball.h ivcon.h 163stdafx.o: stdafx.h config.h platform.h arcball.h ivcon.h stl.h 164ui.o: ui.h config.h stdafx.h platform.h arcball.h ivcon.h file.h 165ui.o: modelviewcontroller.h gcode.h stl.h processcontroller.h printer.h rfo.h 166ui.o: flu_tree_browser.h flu_enumerations.h flu_export.h flu_simplestring.h 167ui.o: gllight.h reprapserial.h asyncserial.h 168rfo.o: stdafx.h config.h platform.h arcball.h ivcon.h ui.h file.h 169rfo.o: modelviewcontroller.h gcode.h stl.h processcontroller.h printer.h 170rfo.o: rfo.h flu_tree_browser.h flu_enumerations.h flu_export.h 171rfo.o: flu_simplestring.h gllight.h reprapserial.h asyncserial.h flu_pixmaps.h 172flu_dnd.o: flu_dnd.h flu_enumerations.h flu_export.h 173flu_pixmaps.o: flu_pixmaps.h flu_export.h 174flu_simplestring.o: flu_simplestring.h flu_enumerations.h flu_export.h 175flu_tree_browser.o: flu_tree_browser.h flu_enumerations.h flu_export.h 176flu_tree_browser.o: flu_simplestring.h flu_pixmaps.h 177ivcon.o: ivcon.h 178file.o: stdafx.h config.h platform.h arcball.h ivcon.h file.h 179file.o: modelviewcontroller.h ui.h flu_tree_browser.h flu_enumerations.h 180file.o: flu_export.h flu_simplestring.h gcode.h stl.h processcontroller.h 181file.o: printer.h rfo.h gllight.h reprapserial.h asyncserial.h 182