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
 | 
						|
 |