167 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			167 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
|   | ##########################################################################
 | ||
|  | # Makefile for GLFW on Mac OS X using GCC (Apple SDK).
 | ||
|  | #-------------------------------------------------------------------------
 | ||
|  | # To compile GLFW using this makefile, run:
 | ||
|  | #  make -f Makefile.macosx.gcc
 | ||
|  | ##########################################################################
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Installation prefix (default to /usr/local)
 | ||
|  | ##########################################################################
 | ||
|  | PREFIX ?= /usr/local | ||
|  | 
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Default: Build GLFW static library
 | ||
|  | ##########################################################################
 | ||
|  | default: libglfw.a | ||
|  | 
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Compiler settings
 | ||
|  | ##########################################################################
 | ||
|  | CC           = gcc | ||
|  | FATFLAGS     = -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 | ||
|  | CFLAGS       = -c -I. -I.. -Wall -Os -fno-common $(FATFLAGS) | ||
|  | 
 | ||
|  | # Some modules should be optimized for speed (e.g. image decoding)
 | ||
|  | CFLAGS_SPEED = -c -I. -I.. -Wall -O3 -ffast-math -fno-common $(FATFLAGS) | ||
|  | 
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Library builder settings
 | ||
|  | ##########################################################################
 | ||
|  | # Static library
 | ||
|  | SED       = sed | ||
|  | INSTALL   = install | ||
|  | MKLIB     = ar | ||
|  | LIBFLAGS  = -rcs | ||
|  | RANLIB    = ranlib | ||
|  | 
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Install GLFW header and static library
 | ||
|  | ##########################################################################
 | ||
|  | install: libglfw.a libglfw.pc | ||
|  | 	$(INSTALL) -d $(PREFIX)/lib | ||
|  | 	$(INSTALL) -c -m 644 libglfw.a $(PREFIX)/lib/libglfw.a | ||
|  | 	$(RANLIB) $(PREFIX)/lib/libglfw.a | ||
|  | 	$(INSTALL) -d $(PREFIX)/include/GL | ||
|  | 	$(INSTALL) -c -m 644 ../../include/GL/glfw.h $(PREFIX)/include/GL/glfw.h | ||
|  | 	$(INSTALL) -d $(PREFIX)/lib/pkgconfig | ||
|  | 	$(INSTALL) -c -m 644 libglfw.pc $(PREFIX)/lib/pkgconfig/libglfw.pc | ||
|  | 
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Rule for cleaning up generated files
 | ||
|  | ##########################################################################
 | ||
|  | clean: | ||
|  | 	@rm -f *.o libglfw.a libglfw.pc | ||
|  | 
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Object files which are part of the GLFW library
 | ||
|  | ##########################################################################
 | ||
|  | OBJS = \
 | ||
|  |        enable.o \
 | ||
|  |        fullscreen.o \
 | ||
|  |        glext.o \
 | ||
|  |        image.o \
 | ||
|  |        init.o \
 | ||
|  |        input.o \
 | ||
|  |        joystick.o \
 | ||
|  |        stream.o \
 | ||
|  |        tga.o \
 | ||
|  |        thread.o \
 | ||
|  |        time.o \
 | ||
|  |        window.o \
 | ||
|  |        macosx_enable.o \
 | ||
|  |        macosx_fullscreen.o \
 | ||
|  |        macosx_glext.o \
 | ||
|  |        macosx_init.o \
 | ||
|  |        macosx_joystick.o \
 | ||
|  |        macosx_thread.o \
 | ||
|  |        macosx_time.o \
 | ||
|  |        macosx_window.o | ||
|  | 
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Rule for building libglfw.pc
 | ||
|  | ##########################################################################
 | ||
|  | libglfw.pc: libglfw.pc.in | ||
|  | 	$(SED) -e 's,\@PREFIX\@,$(PREFIX),' libglfw.pc.in > libglfw.pc | ||
|  | 
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Rule for building library
 | ||
|  | ##########################################################################
 | ||
|  | libglfw.a: $(OBJS) | ||
|  | 	rm -f $@ | ||
|  | 	$(MKLIB) $(LIBFLAGS) $@ $(OBJS) | ||
|  | 	$(RANLIB) $@ | ||
|  | 
 | ||
|  | 
 | ||
|  | ##########################################################################
 | ||
|  | # Rules for building library object files
 | ||
|  | ##########################################################################
 | ||
|  | enable.o: ../enable.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../enable.c | ||
|  | 
 | ||
|  | fullscreen.o: ../fullscreen.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../fullscreen.c | ||
|  | 
 | ||
|  | glext.o: ../glext.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../glext.c | ||
|  | 
 | ||
|  | image.o: ../image.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS_SPEED) -o $@ ../image.c | ||
|  | 
 | ||
|  | init.o: ../init.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../init.c | ||
|  | 
 | ||
|  | input.o: ../input.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../input.c | ||
|  | 
 | ||
|  | joystick.o: ../joystick.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../joystick.c | ||
|  | 
 | ||
|  | stream.o: ../stream.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../stream.c | ||
|  | 
 | ||
|  | tga.o: ../tga.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS_SPEED) -o $@ ../tga.c | ||
|  | 
 | ||
|  | thread.o: ../thread.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../thread.c | ||
|  | 
 | ||
|  | time.o: ../time.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../time.c | ||
|  | 
 | ||
|  | window.o: ../window.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ ../window.c | ||
|  | 
 | ||
|  | macosx_enable.o: macosx_enable.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ macosx_enable.c | ||
|  | 
 | ||
|  | macosx_fullscreen.o: macosx_fullscreen.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ macosx_fullscreen.c | ||
|  | 
 | ||
|  | macosx_glext.o: macosx_glext.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ macosx_glext.c | ||
|  | 
 | ||
|  | macosx_init.o: macosx_init.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ macosx_init.c | ||
|  | 
 | ||
|  | macosx_joystick.o: macosx_joystick.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ macosx_joystick.c | ||
|  | 
 | ||
|  | macosx_thread.o: macosx_thread.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ macosx_thread.c | ||
|  | 
 | ||
|  | macosx_time.o: macosx_time.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ macosx_time.c | ||
|  | 
 | ||
|  | macosx_window.o: macosx_window.c ../internal.h platform.h | ||
|  | 	$(CC) $(CFLAGS) -o $@ macosx_window.c | ||
|  | 
 |