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