summaryrefslogtreecommitdiff
path: root/os
diff options
context:
space:
mode:
Diffstat (limited to 'os')
-rw-r--r--os/macosx/Makefile10
-rw-r--r--os/macosx/Makefile.setup37
2 files changed, 31 insertions, 16 deletions
diff --git a/os/macosx/Makefile b/os/macosx/Makefile
index 54e55db44..577bf420a 100644
--- a/os/macosx/Makefile
+++ b/os/macosx/Makefile
@@ -2,8 +2,8 @@
# This makefile is not a standalone makefile, but is called from the general one
# it contains targets specific to MacOS X
-ifdef BUILD_UNIVERSAL_BINARY
-BUILD_UNIVERSAL_BINARY:=build_universal_binary
+ifdef FAT_BINARY
+FAT_BINARY:=build_universal_binary
COPY_x86_SDL_LIB:=$(Q)cp $(x86_SDL_LIB) $(OSXAPP)/Contents/lib/libSDL-x86.dylib
endif
@@ -19,7 +19,7 @@ endif
# we make clean and compile the other one. In the end we use lipo to join them together
# when this is done, we can continue with the targets from the first run, which is build_OSX_bundle
-$(BUILD_UNIVERSAL_BINARY): $(TTD)
+$(FAT_BINARY): $(TTD)
$(Q)mkdir -p temp_binary_dir
$(Q)cp $(TTD) temp_binary_dir/$(TTD)_a
$(Q)rm -rf $(TTD) $(OBJS) # delete all .o files so we can compile for a new endian
@@ -33,7 +33,7 @@ $(BUILD_UNIVERSAL_BINARY): $(TTD)
# build the bundle. OSX wants to keep apps in bundles, so we will give it one
# the good thing about bundles is that you can keep extra files in them, so we keep lng files and a data dir in it
-$(BUILD_OSX_BUNDLE): $(TTD) $(BUILD_UNIVERSAL_BINARY)
+$(BUILD_OSX_BUNDLE): $(TTD) $(FAT_BINARY)
@echo '===> Building application bundle'
$(Q)rm -fr "$(OSXAPP)"
$(Q)mkdir -p "$(OSXAPP)"/Contents/MacOS
@@ -70,4 +70,4 @@ release: all
$(OSX): $(TTD) $(BUILD_OSX_BUNDLE)
-.PHONY: release $(BUILD_OSX_BUNDLE) $(BUILD_UNIVERSAL_BINARY)
+.PHONY: release $(BUILD_OSX_BUNDLE) $(FAT_BINARY)
diff --git a/os/macosx/Makefile.setup b/os/macosx/Makefile.setup
index f41e63307..f42f34bf4 100644
--- a/os/macosx/Makefile.setup
+++ b/os/macosx/Makefile.setup
@@ -11,11 +11,18 @@ endif
endif
ifdef RELEASE
-ifndef BUILD_UNIVERSAL_BINARY
+ifndef FAT_BINARY
$(warning Compiling a release build, that is not a universal binary)
endif
endif
+ifdef FAT_BINARY
+ifndef STATIC
+$(warning Compiling a universal binary, that is not static. Adding static flag)
+STATIC:=1
+endif
+endif
+
ifdef RELEASE
ifdef DEBUG
$(warning Compiling a release build, that is a debug build)
@@ -23,15 +30,21 @@ endif
endif
# setup flags if none are defined
-ifndef UNIVERSAL_CFLAGS
- UNIVERSAL_CFLAGS:= -isysroot /Developer/SDKs/MacOSX10.4u.sdk
+ifndef CFLAGS_PPC
+ CFLAGS_PPC:= -isysroot /Developer/SDKs/MacOSX10.3.9.sdk
endif
-ifndef UNIVERSAL_LDFLAGS
- UNIVERSAL_LDFLAGS:= -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk
+ifndef LDFLAGS_PPC
+ LDFLAGS_PPC:= -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk
endif
ifndef PPC_CC
PPC_CC:=powerpc-apple-darwin8-gcc-4.0.0
endif
+ifndef CFLAGS_x86
+ CFLAGS_x86:= -isysroot /Developer/SDKs/MacOSX10.4u.sdk
+endif
+ifndef LDFLAGS_x86
+ LDFLAGS_x86:= -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk
+endif
ifndef x86_CC
x86_CC:=i686-apple-darwin8-gcc-4.0.0
endif
@@ -50,12 +63,12 @@ ifdef WITH_SDL
ifndef SDL_x86_CONFIG
SDL_x86_CONFIG:=$(SDL-CONFIG)
endif
+ ifndef x86_SDL_LIB
+ x86_SDL_LIB:=$(shell echo "`$(SDL_x86_CONFIG) --prefix`/lib/libSDL-1.2.0.dylib")
+ endif
endif
-ifdef BUILD_UNIVERSAL_BINARY
- CFLAGS:= $(UNIVERSAL_CFLAGS)
- LDFLAGS:= $(UNIVERSAL_LDFLAGS)
-
+ifdef FAT_BINARY
# set up config files
ifndef SKIP_LIB_TEST
ifdef WITH_PNG
@@ -87,16 +100,18 @@ $(error no x86 SDL lib found)
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:=
+ CFLAGS:= $(CFLAGS_x86) -arch i386
+ LDFLAGS:= $(LDFLAGS_x86)
else
- CFLAGS += -arch ppc
LIBPNG-CONFIG:=$(LIBPNG_PPC_CONFIG)
SDL-CONFIG:=$(SDL_PPC_CONFIG)
CC_TARGET:=$(PPC_CC)
+ CFLAGS:= $(CFLAGS_PPC) -arch ppc
+ LDFLAGS:= $(LDFLAGS_PPC)
endif
endif