mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-08 01:10:28 +00:00
d657aa97de
Also removed all the Makefile code regarding this flag since it's no longer needed Removed documentation about special limitations regarding running the game on OSX 10.2 OpenTTD now officially needs OSX 10.3.9 to work correctly (the trunk needed that for months)
132 lines
3.2 KiB
Makefile
132 lines
3.2 KiB
Makefile
# $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 UNIVERSAL_BINARY
|
|
$(warning Compiling a release build, that is not a universal binary)
|
|
endif
|
|
endif
|
|
|
|
ifdef TRIPLE_BINARY
|
|
ifdef DEBUG
|
|
$(error no G5 optimisation is made in debug builds, so triple binaries aren't possible. Use UNIVERSAL_BINARY instead if you really want a universal debug build)
|
|
endif
|
|
UNIVERSAL_BINARY:=1
|
|
endif
|
|
|
|
ifdef UNIVERSAL_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)
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(shell uname), Darwin)
|
|
# it's a hardware mac, not crosscompiling
|
|
ifeq ($(shell uname -r), 6.8)
|
|
# OSX 10.2.8 uses Darwin 6.8, so we better set JAGUAR so we avoid the stuff that was added in 10.3 or later
|
|
$(error OpenTTD can not run or compile on MacOS X 10.2. 10.3.9 or newer is needed)
|
|
endif
|
|
NATIVE_OSX:=1
|
|
endif
|
|
|
|
ifndef PPC_OSX_TARGET
|
|
PPC_OSX_TARGET:=10.3.9
|
|
endif
|
|
ifndef i386_OSX_TARGET
|
|
i386_OSX_TARGET:=10.4u
|
|
endif
|
|
|
|
# 4-byte bools to make YAPF happy
|
|
CFLAGS_PPC += -DFOUR_BYTE_BOOL
|
|
|
|
ifndef G5_FLAGS
|
|
G5_FLAGS := -mtune=970 -mcpu=970 -mpowerpc-gpopt
|
|
endif
|
|
|
|
ifdef UNIVERSAL_BINARY
|
|
OTTD_PPC:=1
|
|
OTTD_i386:=1
|
|
ifdef TRIPLE_BINARY
|
|
OTTD_PPC970:=1
|
|
endif
|
|
endif
|
|
|
|
# if any targets have been defined by now, we are crosscompiling and we will set up paths accordingly
|
|
ifdef OTTD_PPC
|
|
ifndef OSX_NO_SYSROOT
|
|
CFLAGS_PPC += -isysroot /Developer/SDKs/MacOSX$(PPC_OSX_TARGET).sdk
|
|
LDFLAGS_PPC += -Wl,-syslibroot,/Developer/SDKs/MacOSX$(PPC_OSX_TARGET).sdk
|
|
endif
|
|
endif
|
|
|
|
ifdef OTTD_i386
|
|
ifndef OSX_NO_SYSROOT
|
|
CFLAGS_i386 += -isysroot /Developer/SDKs/MacOSX$(i386_OSX_TARGET).sdk
|
|
LDFLAGS_i386 += -Wl,-syslibroot,/Developer/SDKs/MacOSX$(i386_OSX_TARGET).sdk
|
|
endif
|
|
endif
|
|
|
|
ifdef OTTD_PPC970
|
|
ifndef OTTD_PPC
|
|
CFLAGS_PPC += -isysroot /Developer/SDKs/MacOSX$(PPC_OSX_TARGET).sdk
|
|
LDFLAGS_PPC += -Wl,-syslibroot,/Developer/SDKs/MacOSX$(PPC_OSX_TARGET).sdk
|
|
endif
|
|
endif
|
|
|
|
# setting up flags to make a binary, that fits the system it builds on
|
|
ifdef NATIVE_OSX
|
|
ifndef UNIVERSAL_BINARY
|
|
# we are not crosscompiling for other macs
|
|
# the next line fails if it got whitespace in front of it
|
|
$(shell $(CC) os/macosx/G5_detector.c -o os/macosx/G5_detector)
|
|
IS_G5:=$(shell os/macosx/G5_detector)
|
|
endif
|
|
endif
|
|
|
|
ifdef NATIVE_OSX
|
|
ifndef OTTD_PPC
|
|
ifndef OTTD_i386
|
|
ifndef OTTD_PPC970
|
|
# no flags have been set for target versions of OSX, so we will set it to compile for the current host
|
|
ifeq ($(shell uname -p), powerpc)
|
|
ifdef IS_G5
|
|
OTTD_PPC970:=1
|
|
else
|
|
OTTD_PPC:=1
|
|
endif
|
|
else
|
|
# we are not using a PowerPC CPU, so we assume that it's an Intel mac
|
|
OTTD_i386:=1
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifdef OTTD_PPC
|
|
MACOSX_BUILD:=1
|
|
endif
|
|
ifdef OTTD_i386
|
|
MACOSX_BUILD:=1
|
|
endif
|
|
ifdef OTTD_PPC970
|
|
MACOSX_BUILD:=1
|
|
endif
|
|
|