diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 25 |
1 files changed, 12 insertions, 13 deletions
@@ -108,6 +108,8 @@ # # UNIVERSAL_BINARY: builds a universal binary for OSX. Make sure you got both PPC and x86 libs. Only works with GCC 4 or newer # TRIPLE_BINARY: builds a universal binary with the addition of code optimised for G5 (which means a total of 3 binaries in one file) +# OTTD_PPC, OTTD_PPC970, OTTD_i386: compile for target architecture. +# Multiple flags can be used so OTTD_PPC:=1 OTTD_i386:=1 produces the same result as UNIVERSAL_BINARY # # JAGUAR: Crosscompiling for OSX 1.2.8 (codenamed Jaguar). Only works if OSX is defined too. Only works with GCC 4 or newer # This can be changed to any PPC version of OSX by changing the ppc flags in Makefile.config @@ -130,7 +132,7 @@ # Makefile version tag # it checks if the version tag in Makefile.config is the same and force update outdated config files -MAKEFILE_VERSION:=9 +MAKEFILE_VERSION:=10 # CONFIG_WRITER has to be found even for manual configuration CONFIG_WRITER=makefiledir/Makefile.config_writer @@ -345,11 +347,6 @@ endif ifdef OSX # these compilerflags makes the app run as fast as possible without making the app unstable. It works on G3 or newer BASECFLAGS += -O3 -funroll-loops -fsched-interblock -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-jumps-max-skip=15 -falign-loops-max-skip=15 -mdynamic-no-pic -ifdef IS_G5 -ifndef UNIVERSAL_BINARY -BASECFLAGS += $(G5_FLAGS) -endif -endif else ifdef MORPHOS BASECFLAGS += -I/gg/os-include -O2 -noixemul -fstrict-aliasing -fexpensive-optimizations @@ -830,9 +827,12 @@ $(ENDIAN_CHECK): endian_check.c $(Q)$(CC_HOST) $(CFLAGS_HOST) $(CDEFS) $< -o $@ +ifndef NATIVE_OSX +# OSX links in os/macosx/Makefile to handle universal binaries better $(TTD): $(OBJS) $(MAKE_CONFIG) @echo '===> Linking $@' $(Q)$(CC) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS) $(LIBS) -o $@ +endif $(STRGEN): strgen/strgen.c endian_host.h @echo '===> Compiling and Linking $@' @@ -899,7 +899,7 @@ FORCE: clean: @echo '===> Cleaning up' # endian.h is out-dated and no longer in use, so it can be removed soon - $(Q)rm -rf .deps *~ $(TTD) $(STRGEN) core table/strings.h $(LANGS) $(OBJS) $(OSX_MIDI_PLAYER_FILE) endian.h endian_host.h endian_target.h $(ENDIAN_CHECK) + $(Q)rm -rf .deps *~ $(TTD) $(STRGEN) core table/strings.h $(LANGS) $(OBJS) $(OSX_MIDI_PLAYER_FILE) endian.h endian_host.h endian_target.h $(ENDIAN_CHECK) .OSX mrproper: clean $(Q)rm -rf $(MAKE_CONFIG) @@ -1006,20 +1006,19 @@ endif $(Q)$(CC) $(OBJCFLAGS) $(CDEFS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:.deps/%.d=%.o):#' > $@ -ifndef TRIPLE_BINARY -# building tripple binary object files is handled in os/macosx/Makefile -# TARGET_CPU_FLAGS is used to set target CPUs in OSX universal binaries. It's empty for all other builds +ifndef NATIVE_OSX +# OSX uses os/macosx/Makefile to compile files %.o: %.c $(MAKE_CONFIG) @echo '===> Compiling $<' - $(Q)$(CC) $(TARGET_CPU_FLAGS) $(CFLAGS) $(CDEFS) -c -o $@ $< + $(Q)$(CC) $(CFLAGS) $(CDEFS) -c -o $@ $< %.o: %.cpp $(MAKE_CONFIG) @echo '===> Compiling $<' - $(Q)$(CXX) $(TARGET_CPU_FLAGS) $(CFLAGS) $(CDEFS) -c -o $@ $< + $(Q)$(CXX) $(CFLAGS) $(CDEFS) -c -o $@ $< %.o: %.m $(MAKE_CONFIG) @echo '===> Compiling $<' - $(Q)$(CC) $(TARGET_CPU_FLAGS) $(CFLAGS) $(CDEFS) -c -o $@ $< + $(Q)$(CC) $(CFLAGS) $(CDEFS) -c -o $@ $< endif %.o: %.rc |