os/macosx/Makefile
changeset 3354 245157a5eafe
parent 3318 15ec70e8e6cb
child 3900 2c84ed52709d
equal deleted inserted replaced
3353:d7309672109b 3354:245157a5eafe
     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