diff options
Diffstat (limited to 'os')
-rw-r--r-- | os/macosx/Makefile | 10 | ||||
-rw-r--r-- | os/macosx/Makefile.setup | 37 |
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 |