# Makefile for GLUT library. # Written by EXL 31.12.2012 # OLD_LIBS -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lwinmm -lglu32 -lopengl32 INS_PRFX = /mingw CC = gcc CXX = g++ LD = $(CC) AR = ar RES = windres INCLUDE = -Iinclude CFLAGS = -mthreads -O3 -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -D_USRDLL -DGLUT32_EXPORTS -UGLUT_USE_SGI_OPENGL LFLAGS = -shared LIBS = -lgdi32 -lwinmm -lglu32 -lopengl32 TARGET_DEMO = progs/mesademos/gears.exe TARGET_DLL = lib/glut/glut32.dll TARGET_AR = lib/glut/libglut32.a # Files OBJECTS = lib/glut/glut_8x13.o \ lib/glut/glut_9x15.o \ lib/glut/glut_bitmap.o \ lib/glut/glut_bwidth.o \ lib/glut/glut_cindex.o \ lib/glut/glut_cmap.o \ lib/glut/glut_cursor.o \ lib/glut/glut_dials.o \ lib/glut/glut_dstr.o \ lib/glut/glut_event.o \ lib/glut/glut_ext.o \ lib/glut/glut_fcb.o \ lib/glut/glut_fullscrn.o \ lib/glut/glut_gamemode.o \ lib/glut/glut_get.o \ lib/glut/glut_glxext.o \ lib/glut/glut_hel10.o \ lib/glut/glut_hel12.o \ lib/glut/glut_hel18.o \ lib/glut/glut_init.o \ lib/glut/glut_input.o \ lib/glut/glut_joy.o \ lib/glut/glut_key.o \ lib/glut/glut_keyctrl.o \ lib/glut/glut_keyup.o \ lib/glut/glut_mesa.o \ lib/glut/glut_modifier.o \ lib/glut/glut_mroman.o \ lib/glut/glut_overlay.o \ lib/glut/glut_roman.o \ lib/glut/glut_shapes.o \ lib/glut/glut_space.o \ lib/glut/glut_stroke.o \ lib/glut/glut_swap.o \ lib/glut/glut_swidth.o \ lib/glut/glut_tablet.o \ lib/glut/glut_teapot.o \ lib/glut/glut_tr10.o \ lib/glut/glut_tr24.o \ lib/glut/glut_util.o \ lib/glut/glut_vidresize.o \ lib/glut/glut_warp.o \ lib/glut/glut_win.o \ lib/glut/glut_winmisc.o \ lib/glut/win32_glx.o \ lib/glut/win32_menu.o \ lib/glut/win32_util.o \ lib/glut/win32_winproc.o \ lib/glut/win32_x11.o \ lib/glut/resources.o all: $(TARGET_DLL) $(TARGET_DLL): $(OBJECTS) rm --force --verbose $(TARGET_DLL) $(TARGET_AR) $(LD) $(LFLAGS) -o $(TARGET_DLL) $(OBJECTS) $(LIBS) -Wl,--out-implib,$(TARGET_AR) lib/glut/glut_8x13.o: lib/glut/glut_8x13.c lib/glut/glutbitmap.h $(CC) -c -o lib/glut/glut_8x13.o lib/glut/glut_8x13.c $(INCLUDE) $(CFLAGS) lib/glut/glut_9x15.o: lib/glut/glut_9x15.c lib/glut/glutbitmap.h $(CC) -c -o lib/glut/glut_9x15.o lib/glut/glut_9x15.c $(INCLUDE) $(CFLAGS) lib/glut/glut_bitmap.o: lib/glut/glut_bitmap.c lib/glut/glutint.h lib/glut/glutbitmap.h $(CC) -c -o lib/glut/glut_bitmap.o lib/glut/glut_bitmap.c $(INCLUDE) $(CFLAGS) lib/glut/glut_bwidth.o: lib/glut/glut_bwidth.c lib/glut/glutint.h lib/glut/glutbitmap.h $(CC) -c -o lib/glut/glut_bwidth.o lib/glut/glut_bwidth.c $(INCLUDE) $(CFLAGS) lib/glut/glut_cindex.o: lib/glut/glut_cindex.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_cindex.o lib/glut/glut_cindex.c $(INCLUDE) $(CFLAGS) lib/glut/glut_cmap.o: lib/glut/glut_cmap.c lib/glut/glutint.h lib/glut/layerutil.h $(CC) -c -o lib/glut/glut_cmap.o lib/glut/glut_cmap.c $(INCLUDE) $(CFLAGS) lib/glut/glut_cursor.o: lib/glut/glut_cursor.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_cursor.o lib/glut/glut_cursor.c $(INCLUDE) $(CFLAGS) lib/glut/glut_dials.o: lib/glut/glut_dials.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_dials.o lib/glut/glut_dials.c $(INCLUDE) $(CFLAGS) lib/glut/glut_dstr.o: lib/glut/glut_dstr.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_dstr.o lib/glut/glut_dstr.c $(INCLUDE) $(CFLAGS) lib/glut/glut_event.o: lib/glut/glut_event.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_event.o lib/glut/glut_event.c $(INCLUDE) $(CFLAGS) lib/glut/glut_ext.o: lib/glut/glut_ext.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_ext.o lib/glut/glut_ext.c $(INCLUDE) $(CFLAGS) lib/glut/glut_fcb.o: lib/glut/glut_fcb.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_fcb.o lib/glut/glut_fcb.c $(INCLUDE) $(CFLAGS) lib/glut/glut_fullscrn.o: lib/glut/glut_fullscrn.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_fullscrn.o lib/glut/glut_fullscrn.c $(INCLUDE) $(CFLAGS) lib/glut/glut_gamemode.o: lib/glut/glut_gamemode.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_gamemode.o lib/glut/glut_gamemode.c $(INCLUDE) $(CFLAGS) lib/glut/glut_get.o: lib/glut/glut_get.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_get.o lib/glut/glut_get.c $(INCLUDE) $(CFLAGS) lib/glut/glut_glxext.o: lib/glut/glut_glxext.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_glxext.o lib/glut/glut_glxext.c $(INCLUDE) $(CFLAGS) lib/glut/glut_hel10.o: lib/glut/glut_hel10.c lib/glut/glutbitmap.h $(CC) -c -o lib/glut/glut_hel10.o lib/glut/glut_hel10.c $(INCLUDE) $(CFLAGS) lib/glut/glut_hel12.o: lib/glut/glut_hel12.c lib/glut/glutbitmap.h $(CC) -c -o lib/glut/glut_hel12.o lib/glut/glut_hel12.c $(INCLUDE) $(CFLAGS) lib/glut/glut_hel18.o: lib/glut/glut_hel18.c lib/glut/glutbitmap.h $(CC) -c -o lib/glut/glut_hel18.o lib/glut/glut_hel18.c $(INCLUDE) $(CFLAGS) lib/glut/glut_init.o: lib/glut/glut_init.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_init.o lib/glut/glut_init.c $(INCLUDE) $(CFLAGS) lib/glut/glut_input.o: lib/glut/glut_input.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_input.o lib/glut/glut_input.c $(INCLUDE) $(CFLAGS) lib/glut/glut_joy.o: lib/glut/glut_joy.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_joy.o lib/glut/glut_joy.c $(INCLUDE) $(CFLAGS) lib/glut/glut_key.o: lib/glut/glut_key.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_key.o lib/glut/glut_key.c $(INCLUDE) $(CFLAGS) lib/glut/glut_keyctrl.o: lib/glut/glut_keyctrl.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_keyctrl.o lib/glut/glut_keyctrl.c $(INCLUDE) $(CFLAGS) lib/glut/glut_keyup.o: lib/glut/glut_keyup.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_keyup.o lib/glut/glut_keyup.c $(INCLUDE) $(CFLAGS) lib/glut/glut_mesa.o: lib/glut/glut_mesa.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_mesa.o lib/glut/glut_mesa.c $(INCLUDE) $(CFLAGS) lib/glut/glut_modifier.o: lib/glut/glut_modifier.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_modifier.o lib/glut/glut_modifier.c $(INCLUDE) $(CFLAGS) lib/glut/glut_mroman.o: lib/glut/glut_mroman.c lib/glut/glutstroke.h $(CC) -c -o lib/glut/glut_mroman.o lib/glut/glut_mroman.c $(INCLUDE) $(CFLAGS) lib/glut/glut_overlay.o: lib/glut/glut_overlay.c lib/glut/glutint.h lib/glut/layerutil.h $(CC) -c -o lib/glut/glut_overlay.o lib/glut/glut_overlay.c $(INCLUDE) $(CFLAGS) lib/glut/glut_roman.o: lib/glut/glut_roman.c lib/glut/glutstroke.h $(CC) -c -o lib/glut/glut_roman.o lib/glut/glut_roman.c $(INCLUDE) $(CFLAGS) lib/glut/glut_shapes.o: lib/glut/glut_shapes.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_shapes.o lib/glut/glut_shapes.c $(INCLUDE) $(CFLAGS) lib/glut/glut_space.o: lib/glut/glut_space.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_space.o lib/glut/glut_space.c $(INCLUDE) $(CFLAGS) lib/glut/glut_stroke.o: lib/glut/glut_stroke.c lib/glut/glutint.h lib/glut/glutstroke.h $(CC) -c -o lib/glut/glut_stroke.o lib/glut/glut_stroke.c $(INCLUDE) $(CFLAGS) lib/glut/glut_swap.o: lib/glut/glut_swap.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_swap.o lib/glut/glut_swap.c $(INCLUDE) $(CFLAGS) lib/glut/glut_swidth.o: lib/glut/glut_swidth.c lib/glut/glutint.h lib/glut/glutstroke.h $(CC) -c -o lib/glut/glut_swidth.o lib/glut/glut_swidth.c $(INCLUDE) $(CFLAGS) lib/glut/glut_tablet.o: lib/glut/glut_tablet.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_tablet.o lib/glut/glut_tablet.c $(INCLUDE) $(CFLAGS) lib/glut/glut_teapot.o: lib/glut/glut_teapot.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_teapot.o lib/glut/glut_teapot.c $(INCLUDE) $(CFLAGS) lib/glut/glut_tr10.o: lib/glut/glut_tr10.c lib/glut/glutbitmap.h $(CC) -c -o lib/glut/glut_tr10.o lib/glut/glut_tr10.c $(INCLUDE) $(CFLAGS) lib/glut/glut_tr24.o: lib/glut/glut_tr24.c lib/glut/glutbitmap.h $(CC) -c -o lib/glut/glut_tr24.o lib/glut/glut_tr24.c $(INCLUDE) $(CFLAGS) lib/glut/glut_util.o: lib/glut/glut_util.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_util.o lib/glut/glut_util.c $(INCLUDE) $(CFLAGS) lib/glut/glut_vidresize.o: lib/glut/glut_vidresize.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_vidresize.o lib/glut/glut_vidresize.c $(INCLUDE) $(CFLAGS) lib/glut/glut_warp.o: lib/glut/glut_warp.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_warp.o lib/glut/glut_warp.c $(INCLUDE) $(CFLAGS) lib/glut/glut_win.o: lib/glut/glut_win.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_win.o lib/glut/glut_win.c $(INCLUDE) $(CFLAGS) lib/glut/glut_winmisc.o: lib/glut/glut_winmisc.c lib/glut/glutint.h $(CC) -c -o lib/glut/glut_winmisc.o lib/glut/glut_winmisc.c $(INCLUDE) $(CFLAGS) lib/glut/win32_glx.o: lib/glut/win32_glx.c lib/glut/glutint.h $(CC) -c -o lib/glut/win32_glx.o lib/glut/win32_glx.c $(INCLUDE) $(CFLAGS) lib/glut/win32_menu.o: lib/glut/win32_menu.c lib/glut/glutint.h $(CC) -c -o lib/glut/win32_menu.o lib/glut/win32_menu.c $(INCLUDE) $(CFLAGS) lib/glut/win32_util.o: lib/glut/win32_util.c lib/glut/glutint.h lib/glut/glutstroke.h lib/glut/glutbitmap.h $(CC) -c -o lib/glut/win32_util.o lib/glut/win32_util.c $(INCLUDE) $(CFLAGS) lib/glut/win32_winproc.o: lib/glut/win32_winproc.c lib/glut/glutint.h $(CC) -c -o lib/glut/win32_winproc.o lib/glut/win32_winproc.c $(INCLUDE) $(CFLAGS) lib/glut/win32_x11.o: lib/glut/win32_x11.c lib/glut/glutint.h $(CC) -c -o lib/glut/win32_x11.o lib/glut/win32_x11.c $(INCLUDE) $(CFLAGS) lib/glut/resources.o: lib/glut/glut.rc lib/glut/glut.ico $(RES) lib/glut/glut.rc lib/glut/resources.o lib/glut/glutbitmap.h: include/GL/glut.h lib/glut/glutint.h: lib/glut/glutwin32.h include/GL/glut.h include/GL/glutf90.h lib/glut/glutwin32.h: lib/glut/win32_x11.h lib/glut/win32_glx.h lib/glut/win32_glx.h: lib/glut/win32_x11.h include/GL/glutf90.h: include/GL/glut.h install: $(TARGET_DLL) $(TARGET_AR) mkdir -p $(INS_PRFX)/bin mkdir -p $(INS_PRFX)/include/GL mkdir -p $(INS_PRFX)/lib cp -f $(TARGET_DLL) $(INS_PRFX)/bin/glut32.dll cp -f include/GL/glut.h $(INS_PRFX)/include/GL/glut.h cp -f $(TARGET_AR) $(INS_PRFX)/lib/libglut32.a demo: install $(CXX) -o $(TARGET_DEMO) progs/mesademos/gears.c -O3 -lglut32 -lopengl32 -mwindows cp $(TARGET_DEMO) $(INS_PRFX)/bin/gears.exe uninstall: rm --force --verbose $(INS_PRFX)/bin/glut32.dll rm --force --verbose $(INS_PRFX)/bin/gears.exe rm --force --verbose $(INS_PRFX)/include/GL/glut.h rm --force --verbose $(INS_PRFX)/lib/libglut32.a clean: rm --force --verbose lib/glut/*.dll lib/glut/*.a lib/glut/*.o rm --force --verbose progs/mesademos/*.exe