From bb47ecddf4d75fa8b92b51483387f607459331c7 Mon Sep 17 00:00:00 2001 From: bjarni Date: Wed, 15 Mar 2006 14:03:09 +0000 Subject: (svn r3882) -Codechange: [OSX] changed the way universal and tripple binaries are build Instead of compiling a binary for each arch and then join them in the end, each .o file is now compiled as a fat file This means that the makefile will not call itself to make a binary for each target and we don't have to make clean between each build it also means that if one file changed, we don't have to recompile all files Another benefit is since it's handled at .o level and though LDFLAGS, no special code is needed if we decide to compile more binaries (like a lot of stuff used to happen at post linking) We also needs much less flags to set up, so it should be even easier to get to work out of the box now The tradeoff in doing so is that now the binary needs at least OSX 10.3.9 to execute To deal with this issue, the JAGUAR flag can be used to compile for older OSes. We will release a binary for old OSes at next release to see if anybody even downloads it (not that many people use OSX 10.2 anymore) GPMI will not work on 10.2 anyway so we will cut support for it some day anyway --- makefiledir/Makefile.config_writer | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) (limited to 'makefiledir') diff --git a/makefiledir/Makefile.config_writer b/makefiledir/Makefile.config_writer index 88e8e67ec..581411c54 100644 --- a/makefiledir/Makefile.config_writer +++ b/makefiledir/Makefile.config_writer @@ -85,25 +85,13 @@ $(MAKE_CONFIG): $(call CONFIG_LINE,\# Universal binary setup) $(call CONFIG_LINE,\# use these settings for building universal binaries. Most systems should work with the default settings) - $(call CONFIG_LINE,SDL_PPC_CONFIG:=$(SDL_PPC_CONFIG)) - $(call CONFIG_LINE,SDL_x86_CONFIG:=$(SDL_x86_CONFIG)) + $(call CONFIG_LINE,CFLAGS_UNIVERSAL:=$(CFLAGS_UNIVERSAL)) + $(call CONFIG_LINE,LDFLAGS_UNIVERSAL:=$(LDFLAGS_UNIVERSAL)) - $(call CONFIG_LINE,\# if you got a fat libpng you should not need to change this. It is recommended to get a fat libpng lib) - $(call CONFIG_LINE,LIBPNG_PPC_CONFIG:=$(LIBPNG_PPC_CONFIG)) - $(call CONFIG_LINE,LIBPNG_x86_CONFIG:=$(LIBPNG_x86_CONFIG)) - - $(call CONFIG_LINE,\# autodetected SDL lib path, but it is not detected in a reliable way, so verify it. It needs to be the x86 lib) - $(call CONFIG_LINE,x86_SDL_LIB:=$(x86_SDL_LIB)) - - $(call CONFIG_LINE,\# default values should be good enough for the rest of the universal binary flags, but check them anyway) - $(call CONFIG_LINE,SKIP_LIB_TEST:=$(SKIP_LIB_TEST)) - $(call CONFIG_LINE,PPC_CC:=$(PPC_CC)) - $(call CONFIG_LINE,CFLAGS_PPC:=$(CFLAGS_PPC)) - $(call CONFIG_LINE,LDFLAGS_PPC:=$(LDFLAGS_PPC)) - - $(call CONFIG_LINE,x86_CC:=$(x86_CC)) - $(call CONFIG_LINE,CFLAGS_x86:=$(CFLAGS_x86)) - $(call CONFIG_LINE,LDFLAGS_x86:=$(LDFLAGS_x86)) + $(call CONFIG_LINE,CFLAGS_JAGUAR:=$(CFLAGS_JAGUAR)) + $(call CONFIG_LINE,LDFLAGS_JAGUAR:=$(LDFLAGS_JAGUAR)) + $(call CONFIG_LINE,) + $(call CONFIG_LINE,G5_FLAGS:=$(G5_FLAGS)) $(call CONFIG_LINE,) $(call CONFIG_LINE,\# For cross-compiling) -- cgit v1.2.3-70-g09d2