1 # $Id: Makefile 3214 2005-11-17 19:43:37Z bjarni $ |
1 # $Id: Makefile 3214 2005-11-17 19:43:37Z bjarni $ |
2 # This makefile is not a standalone makefile, but is called from the general one |
2 # This makefile is not a standalone makefile, but is called from the general one |
3 # it contains targets specific to MacOS X |
3 # it contains targets specific to MacOS X |
4 |
4 |
5 ifdef TRIPLE_BINARY |
5 ifdef NATIVE_OSX |
6 # this is to add G5_FLAGS to ppc970 builds only. If the ability to add flags to a single arch only shows up in the future |
|
7 # we can get rid of this. Xcode supports arch dependant flags, but we can't do it in the makefile (yet?) |
|
8 %.o: %.c $(MAKE_CONFIG) |
|
9 @echo '===> Compiling $<' |
|
10 $(Q)$(CC) $(CFLAGS) $(CDEFS) -arch ppc -c -arch i386 -o $@.uni $< |
|
11 $(Q)$(CC) $(CFLAGS) $(CDEFS) $(G5_FLAGS) -arch ppc970 -c -o $@.ppc970 $< |
|
12 $(Q)lipo -create -output $@ $@.uni $@.ppc970 |
|
13 $(Q)rm $@.uni $@.ppc970 |
|
14 |
6 |
15 %.o: %.cpp $(MAKE_CONFIG) |
7 DEPS_MAGIC := $(shell mkdir -p $(sort $(dir $(OBJS:%.o=.OSX/%)))) |
16 @echo '===> Compiling $<' |
|
17 $(Q)$(CXX) $(CFLAGS) $(CDEFS) -arch ppc -arch i386 -c -o $@.uni $< |
|
18 $(Q)$(CXX) $(CFLAGS) $(CDEFS) $(G5_FLAGS) -arch ppc970 -c -o $@.ppc970 $< |
|
19 $(Q)lipo -create -output $@ $@.uni $@.ppc970 |
|
20 $(Q)rm $@.uni $@.ppc970 |
|
21 |
8 |
22 %.o: %.m $(MAKE_CONFIG) |
9 ifdef OTTD_PPC |
23 @echo '===> Compiling $<' |
10 OTTD_PPC :=.OSX/openttd.ppc |
24 $(Q)$(CC) $(CFLAGS) $(CDEFS) -arch ppc -arch i386 -c -o $@.uni $< |
11 OBJS_ppc := $(OBJS:%.o=.OSX/%.o.ppc) |
25 $(Q)$(CC) $(CFLAGS) $(CDEFS) -arch ppc970 $(G5_FLAGS) -c -o $@.ppc970 $< |
12 endif |
26 $(Q)lipo -create -output $@ $@.uni $@.ppc970 |
13 |
27 $(Q)rm $@.uni $@.ppc970 |
14 ifdef OTTD_i386 |
|
15 OTTD_i386 :=.OSX/openttd.i386 |
|
16 OBJS_i386 := $(OBJS:%.o=.OSX/%.o.i386) |
|
17 endif |
|
18 |
|
19 ifdef OTTD_PPC970 |
|
20 OTTD_PPC970 :=.OSX/openttd.ppc970 |
|
21 OBJS_ppc970 := $(OBJS:%.o=.OSX/%.o.ppc970) |
|
22 endif |
|
23 |
|
24 # targets to link OpenTTD |
|
25 $(TTD): $(OTTD_PPC) $(OTTD_i386) $(OTTD_PPC970) |
|
26 @echo '===> Linking $@ into a single file' |
|
27 $(Q)lipo -create -output $@ $(OTTD_PPC) $(OTTD_i386) $(OTTD_PPC970) |
|
28 |
|
29 $(OTTD_PPC): $(MAKE_CONFIG) $(OBJS_ppc) |
|
30 @echo '[PowerPC] Linking $(TTD)' |
|
31 $(Q)$(CC) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS_ppc) $(LIBS) $(LDFLAGS_PPC) -arch ppc -o $@ |
|
32 |
|
33 $(OTTD_i386): $(MAKE_CONFIG) $(OBJS_i386) |
|
34 @echo '[i386] Linking $(TTD)' |
|
35 $(Q)$(CC) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS_i386) $(LIBS) $(LDFLAGS_i386) -arch i386 -o $@ |
|
36 |
|
37 $(OTTD_PPC970): $(MAKE_CONFIG) $(OBJS_ppc970) |
|
38 @echo '[PowerPC G5] Linking $(TTD)' |
|
39 $(Q)$(CC) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS_ppc970) $(LIBS) $(LDFLAGS_PPC) $(G5_FLAGS) -arch ppc970 -o $@ |
|
40 |
|
41 # targets to compile each c, m and cpp file |
|
42 .OSX/%.o.ppc: %.c .deps/%.d |
|
43 @echo '[PowerPC] Compiling $<' |
|
44 $(Q)$(CC) $(CFLAGS) $(CFLAGS_PPC) $(CDEFS) -arch ppc -c -o $@ $< |
|
45 |
|
46 .OSX/%.o.ppc: %.cpp .deps/%.d |
|
47 @echo '[PowerPC] Compiling $<' |
|
48 $(Q)$(CPP) $(CFLAGS) $(CFLAGS_PPC) $(CDEFS) -arch ppc -c -o $@ $< |
|
49 |
|
50 .OSX/%.o.ppc: %.m .deps/%.d |
|
51 @echo '[PowerPC] Compiling $<' |
|
52 $(Q)$(CC) $(CFLAGS) $(CFLAGS_PPC) $(CDEFS) -arch ppc -c -o $@ $< |
|
53 |
|
54 .OSX/%.o.i386: %.c .deps/%.d |
|
55 @echo '[i386] Compiling $<' |
|
56 $(Q)$(CC) $(CFLAGS) $(CFLAGS_i386) $(CDEFS) -arch i386 -c -o $@ $< |
|
57 |
|
58 .OSX/%.o.i386: %.cpp .deps/%.d |
|
59 @echo '[i386] Compiling $<' |
|
60 $(Q)$(CPP) $(CFLAGS) $(CFLAGS_i386) $(CDEFS) -arch i386 -c -o $@ $< |
|
61 |
|
62 .OSX/%.o.i386: %.m .deps/%.d |
|
63 @echo '[i386] Compiling $<' |
|
64 $(Q)$(CC) $(CFLAGS) $(CFLAGS_i386) $(CDEFS) -arch i386 -c -o $@ $< |
|
65 |
|
66 .OSX/%.o.ppc970: %.c .deps/%.d |
|
67 @echo '[PowerPC G5] Compiling $<' |
|
68 $(Q)$(CC) $(CFLAGS) $(CFLAGS_PPC) $(G5_FLAGS) $(CDEFS) -arch ppc970 -c -o $@ $< |
|
69 |
|
70 .OSX/%.o.ppc970: %.cpp .deps/%.d |
|
71 @echo '[PowerPC G5] Compiling $<' |
|
72 $(Q)$(CPP) $(CFLAGS) $(CFLAGS_PPC) $(G5_FLAGS) $(CDEFS) -arch ppc970 -c -o $@ $< |
|
73 |
|
74 .OSX/%.o.ppc970: %.m .deps/%.d |
|
75 @echo '[PowerPC G5] Compiling $<' |
|
76 $(Q)$(CC) $(CFLAGS) $(CFLAGS_PPC) $(G5_FLAGS) $(CDEFS) -arch ppc970 -c -o $@ $< |
|
77 |
28 endif |
78 endif |
29 |
79 |
30 ifdef JAGUAR |
80 ifdef JAGUAR |
31 JAGUAR_POSTFIX := -jaguar |
81 JAGUAR_POSTFIX := -jaguar |
32 endif |
82 endif |