summaryrefslogtreecommitdiff
path: root/os/macosx/Makefile.setup
diff options
context:
space:
mode:
Diffstat (limited to 'os/macosx/Makefile.setup')
-rw-r--r--os/macosx/Makefile.setup102
1 files changed, 102 insertions, 0 deletions
diff --git a/os/macosx/Makefile.setup b/os/macosx/Makefile.setup
new file mode 100644
index 000000000..f41e63307
--- /dev/null
+++ b/os/macosx/Makefile.setup
@@ -0,0 +1,102 @@
+# $Id: Makefile 3214 2005-11-17 19:43:37Z bjarni $
+# This makefile is not a standalone makefile, but is called from the general one
+# it contains code specific to MacOS X
+
+ifdef RELEASE
+ifndef STATIC
+# all OSX releases needs to be static
+# end users don't tend to have the dynamic libs installed
+$(warning Compiling a dynamic release. It should be static unless you really know what you are doing!!!)
+endif
+endif
+
+ifdef RELEASE
+ifndef BUILD_UNIVERSAL_BINARY
+$(warning Compiling a release build, that is not a universal binary)
+endif
+endif
+
+ifdef RELEASE
+ifdef DEBUG
+$(warning Compiling a release build, that is a debug build)
+endif
+endif
+
+# setup flags if none are defined
+ifndef UNIVERSAL_CFLAGS
+ UNIVERSAL_CFLAGS:= -isysroot /Developer/SDKs/MacOSX10.4u.sdk
+endif
+ifndef UNIVERSAL_LDFLAGS
+ UNIVERSAL_LDFLAGS:= -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk
+endif
+ifndef PPC_CC
+ PPC_CC:=powerpc-apple-darwin8-gcc-4.0.0
+endif
+ifndef x86_CC
+ x86_CC:=i686-apple-darwin8-gcc-4.0.0
+endif
+ifdef WITH_PNG
+ ifndef LIBPNG_PPC_CONFIG
+ LIBPNG_PPC_CONFIG:=$(LIBPNG-CONFIG)
+ endif
+ ifndef LIBPNG_x86_CONFIG
+ LIBPNG_x86_CONFIG:=$(LIBPNG-CONFIG)
+ endif
+endif
+ifdef WITH_SDL
+ ifndef SDL_PPC_CONFIG
+ SDL_PPC_CONFIG:=$(SDL-CONFIG)
+ endif
+ ifndef SDL_x86_CONFIG
+ SDL_x86_CONFIG:=$(SDL-CONFIG)
+ endif
+endif
+
+ifdef BUILD_UNIVERSAL_BINARY
+ CFLAGS:= $(UNIVERSAL_CFLAGS)
+ LDFLAGS:= $(UNIVERSAL_LDFLAGS)
+
+ # set up config files
+ ifndef SKIP_LIB_TEST
+ ifdef WITH_PNG
+ TEST:=$(shell lipo -info `$(LIBPNG_PPC_CONFIG) --prefix`/lib/libpng.a | xargs -n 1 | grep "ppc"))
+ ifndef TEST
+$(error no PPC libpng found)
+ endif
+ TEST:=$(shell lipo -info `$(LIBPNG_x86_CONFIG) --prefix`/lib/libpng.a | xargs -n 1 | grep "i386"))
+ ifndef TEST
+$(error no x86 libpng found)
+ endif
+ endif
+
+ ifdef WITH_SDL
+ ifdef STATIC
+ ifndef x86_SDL_LIB
+$(error static universal build without a defined x86 SDL lib)
+ endif
+ endif
+ TEST:=$(shell lipo -info `$(SDL_PPC_CONFIG) --prefix`/lib/libSDL.a | xargs -n 1 | grep "ppc"))
+ ifndef TEST
+$(error no PPC SDL lib found)
+ endif
+ TEST:=$(shell lipo -info `$(SDL_x86_CONFIG) --prefix`/lib/libSDL.a | xargs -n 1 | grep "i386"))
+ ifndef TEST
+$(error no x86 SDL lib found)
+ endif
+ endif
+ endif
+
+ ifdef UNIVERSAL_x86_PART
+ CFLAGS += -arch i386
+ LIBPNG-CONFIG:=$(LIBPNG_x86_CONFIG)
+ SDL-CONFIG:=$(SDL_x86_CONFIG)
+ CC_TARGET:=$(x86_CC)
+ # clear the cached list of PPC libs
+ LIBS:=
+ else
+ CFLAGS += -arch ppc
+ LIBPNG-CONFIG:=$(LIBPNG_PPC_CONFIG)
+ SDL-CONFIG:=$(SDL_PPC_CONFIG)
+ CC_TARGET:=$(PPC_CC)
+ endif
+endif