author | peter1138 |
Sat, 21 Jan 2006 20:34:17 +0000 | |
changeset 2865 | 97cb78a1d02c |
parent 2835 | c7fb346f209c |
child 3084 | 6540f61eea49 |
permissions | -rw-r--r-- |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
1 |
# $Id: Makefile 3214 2005-11-17 19:43:37Z bjarni $ |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
2 |
# This makefile is not a standalone makefile, but is called from the general one |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
3 |
# it contains code specific to MacOS X |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
4 |
|
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
5 |
ifdef RELEASE |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
6 |
ifndef STATIC |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
7 |
# all OSX releases needs to be static |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
8 |
# end users don't tend to have the dynamic libs installed |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
9 |
$(warning Compiling a dynamic release. It should be static unless you really know what you are doing!!!) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
10 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
11 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
12 |
|
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
13 |
ifdef RELEASE |
2728
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
14 |
ifndef FAT_BINARY |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
15 |
$(warning Compiling a release build, that is not a universal binary) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
16 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
17 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
18 |
|
2728
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
19 |
ifdef FAT_BINARY |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
20 |
ifndef STATIC |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
21 |
$(warning Compiling a universal binary, that is not static. Adding static flag) |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
22 |
STATIC:=1 |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
23 |
endif |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
24 |
endif |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
25 |
|
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
26 |
ifdef RELEASE |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
27 |
ifdef DEBUG |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
28 |
$(warning Compiling a release build, that is a debug build) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
29 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
30 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
31 |
|
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
32 |
# setup flags if none are defined |
2728
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
33 |
ifndef CFLAGS_PPC |
2741
65d4de069014
(svn r3286) -Fix: [OSX] 10.2 works again and universal binaries got 10.2 as target by default
bjarni
parents:
2731
diff
changeset
|
34 |
CFLAGS_PPC:= -isysroot /Developer/SDKs/MacOSX10.2.8.sdk |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
35 |
endif |
2728
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
36 |
ifndef LDFLAGS_PPC |
2741
65d4de069014
(svn r3286) -Fix: [OSX] 10.2 works again and universal binaries got 10.2 as target by default
bjarni
parents:
2731
diff
changeset
|
37 |
LDFLAGS_PPC:= -Wl,-syslibroot,/Developer/SDKs/MacOSX10.2.8.sdk |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
38 |
endif |
2731
888a994e9fe9
(svn r3276) reverted the last two commits. OSX 10.2 kept finding new stuff to prevent it from running OpenTTD, so now it's not supported anymore
bjarni
parents:
2730
diff
changeset
|
39 |
ifndef PPC_CC |
888a994e9fe9
(svn r3276) reverted the last two commits. OSX 10.2 kept finding new stuff to prevent it from running OpenTTD, so now it's not supported anymore
bjarni
parents:
2730
diff
changeset
|
40 |
PPC_CC:=powerpc-apple-darwin8-gcc-4.0.0 |
888a994e9fe9
(svn r3276) reverted the last two commits. OSX 10.2 kept finding new stuff to prevent it from running OpenTTD, so now it's not supported anymore
bjarni
parents:
2730
diff
changeset
|
41 |
endif |
2728
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
42 |
ifndef CFLAGS_x86 |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
43 |
CFLAGS_x86:= -isysroot /Developer/SDKs/MacOSX10.4u.sdk |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
44 |
endif |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
45 |
ifndef LDFLAGS_x86 |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
46 |
LDFLAGS_x86:= -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
47 |
endif |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
48 |
ifndef x86_CC |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
49 |
x86_CC:=i686-apple-darwin8-gcc-4.0.0 |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
50 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
51 |
ifdef WITH_PNG |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
52 |
ifndef LIBPNG_PPC_CONFIG |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
53 |
LIBPNG_PPC_CONFIG:=$(LIBPNG-CONFIG) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
54 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
55 |
ifndef LIBPNG_x86_CONFIG |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
56 |
LIBPNG_x86_CONFIG:=$(LIBPNG-CONFIG) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
57 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
58 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
59 |
ifdef WITH_SDL |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
60 |
ifndef SDL_PPC_CONFIG |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
61 |
SDL_PPC_CONFIG:=$(SDL-CONFIG) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
62 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
63 |
ifndef SDL_x86_CONFIG |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
64 |
SDL_x86_CONFIG:=$(SDL-CONFIG) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
65 |
endif |
2728
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
66 |
ifndef x86_SDL_LIB |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
67 |
x86_SDL_LIB:=$(shell echo "`$(SDL_x86_CONFIG) --prefix`/lib/libSDL-1.2.0.dylib") |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
68 |
endif |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
69 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
70 |
|
2834
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2741
diff
changeset
|
71 |
ifdef JAGUAR |
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2741
diff
changeset
|
72 |
LIBPNG-CONFIG:=$(LIBPNG_PPC_CONFIG) |
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2741
diff
changeset
|
73 |
SDL-CONFIG:=$(SDL_PPC_CONFIG) |
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2741
diff
changeset
|
74 |
CC_TARGET:=$(PPC_CC) |
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2741
diff
changeset
|
75 |
CFLAGS:= $(CFLAGS_PPC) -arch ppc |
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2741
diff
changeset
|
76 |
LDFLAGS:= $(LDFLAGS_PPC) |
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2741
diff
changeset
|
77 |
endif |
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2741
diff
changeset
|
78 |
|
2728
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
79 |
ifdef FAT_BINARY |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
80 |
# set up config files |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
81 |
ifndef SKIP_LIB_TEST |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
82 |
ifdef WITH_PNG |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
83 |
TEST:=$(shell lipo -info `$(LIBPNG_PPC_CONFIG) --prefix`/lib/libpng.a | xargs -n 1 | grep "ppc")) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
84 |
ifndef TEST |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
85 |
$(error no PPC libpng found) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
86 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
87 |
TEST:=$(shell lipo -info `$(LIBPNG_x86_CONFIG) --prefix`/lib/libpng.a | xargs -n 1 | grep "i386")) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
88 |
ifndef TEST |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
89 |
$(error no x86 libpng found) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
90 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
91 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
92 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
93 |
|
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
94 |
ifdef UNIVERSAL_x86_PART |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
95 |
LIBPNG-CONFIG:=$(LIBPNG_x86_CONFIG) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
96 |
SDL-CONFIG:=$(SDL_x86_CONFIG) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
97 |
CC_TARGET:=$(x86_CC) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
98 |
# clear the cached list of PPC libs |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
99 |
LIBS:= |
2741
65d4de069014
(svn r3286) -Fix: [OSX] 10.2 works again and universal binaries got 10.2 as target by default
bjarni
parents:
2731
diff
changeset
|
100 |
OBJS:= |
2728
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
101 |
CFLAGS:= $(CFLAGS_x86) -arch i386 |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
102 |
LDFLAGS:= $(LDFLAGS_x86) |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
103 |
else |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
104 |
LIBPNG-CONFIG:=$(LIBPNG_PPC_CONFIG) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
105 |
SDL-CONFIG:=$(SDL_PPC_CONFIG) |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
106 |
CC_TARGET:=$(PPC_CC) |
2728
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
107 |
CFLAGS:= $(CFLAGS_PPC) -arch ppc |
8f50c839cd17
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
bjarni
parents:
2722
diff
changeset
|
108 |
LDFLAGS:= $(LDFLAGS_PPC) |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
109 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
diff
changeset
|
110 |
endif |