2005-11-23 12:21:54 +00:00
|
|
|
# $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 targets specific to MacOS X
|
|
|
|
|
2006-03-15 14:11:17 +00:00
|
|
|
ifdef TRIPLE_BINARY
|
2006-03-15 14:03:09 +00:00
|
|
|
# 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
|
|
|
|
# we can get rid of this. Xcode supports arch dependant flags, but we can't do it in the makefile (yet?)
|
|
|
|
%.o: %.c $(MAKE_CONFIG)
|
|
|
|
@echo '===> Compiling $<'
|
|
|
|
$(Q)$(CC) $(CFLAGS) $(CDEFS) -arch ppc -c -arch i386 -o $@.uni $<
|
|
|
|
$(Q)$(CC) $(CFLAGS) $(CDEFS) $(G5_FLAGS) -arch ppc970 -c -o $@.ppc970 $<
|
|
|
|
$(Q)lipo -create -output $@ $@.uni $@.ppc970
|
|
|
|
$(Q)rm $@.uni $@.ppc970
|
|
|
|
|
|
|
|
%.o: %.cpp $(MAKE_CONFIG)
|
|
|
|
@echo '===> Compiling $<'
|
|
|
|
$(Q)$(CXX) $(CFLAGS) $(CDEFS) -arch ppc -arch i386 -c -o $@.uni $<
|
|
|
|
$(Q)$(CXX) $(CFLAGS) $(CDEFS) $(G5_FLAGS) -arch ppc970 -c -o $@.ppc970 $<
|
|
|
|
$(Q)lipo -create -output $@ $@.uni $@.ppc970
|
|
|
|
$(Q)rm $@.uni $@.ppc970
|
|
|
|
|
|
|
|
%.o: %.m $(MAKE_CONFIG)
|
|
|
|
@echo '===> Compiling $<'
|
|
|
|
$(Q)$(CC) $(CFLAGS) $(CDEFS) -arch ppc -arch i386 -c -o $@.uni $<
|
|
|
|
$(Q)$(CC) $(CFLAGS) $(CDEFS) -arch ppc970 $(G5_FLAGS) -c -o $@.ppc970 $<
|
|
|
|
$(Q)lipo -create -output $@ $@.uni $@.ppc970
|
|
|
|
$(Q)rm $@.uni $@.ppc970
|
2005-12-04 17:36:19 +00:00
|
|
|
endif
|
|
|
|
|
2006-02-25 21:25:23 +00:00
|
|
|
ifdef UNIVERSAL_PPC_PART
|
2005-12-06 22:09:28 +00:00
|
|
|
# the bundle is build by the PPC compile when making universal binaries
|
2005-12-04 22:43:40 +00:00
|
|
|
BUILD_OSX_BUNDLE:=
|
|
|
|
else
|
|
|
|
BUILD_OSX_BUNDLE:=build_OSX_bundle
|
|
|
|
endif
|
|
|
|
|
2005-11-23 12:21:54 +00:00
|
|
|
# build the bundle. OSX wants to keep apps in bundles, so we will give it one
|
|
|
|
# the good thing about bundles is that you can keep extra files in them, so we keep lng files and a data dir in it
|
2005-12-04 17:36:19 +00:00
|
|
|
|
2006-03-15 14:11:17 +00:00
|
|
|
$(BUILD_OSX_BUNDLE): $(TTD)
|
2005-12-06 22:09:28 +00:00
|
|
|
@echo '===> Building application bundle'
|
2005-11-23 12:21:54 +00:00
|
|
|
$(Q)rm -fr "$(OSXAPP)"
|
|
|
|
$(Q)mkdir -p "$(OSXAPP)"/Contents/MacOS
|
|
|
|
$(Q)mkdir -p "$(OSXAPP)"/Contents/Resources
|
|
|
|
$(Q)mkdir -p "$(OSXAPP)"/Contents/Data
|
|
|
|
$(Q)mkdir -p "$(OSXAPP)"/Contents/Lang
|
|
|
|
$(Q)echo "APPL????" > "$(OSXAPP)"/Contents/PkgInfo
|
|
|
|
$(Q)cp os/macosx/openttd.icns "$(OSXAPP)"/Contents/Resources/openttd.icns
|
|
|
|
$(Q)os/macosx/plistgen.sh "$(OSXAPP)" "$(REV)"
|
|
|
|
$(Q)cp data/* "$(OSXAPP)"/Contents/Data/
|
2005-12-10 11:16:45 +00:00
|
|
|
$(Q)cp os/macosx/splash.png "$(OSXAPP)"/Contents/Data/
|
2005-11-23 12:21:54 +00:00
|
|
|
$(Q)cp lang/*.lng "$(OSXAPP)"/Contents/Lang/
|
|
|
|
$(Q)cp $(TTD) "$(OSXAPP)"/Contents/MacOS/$(TTD)
|
|
|
|
|
|
|
|
# make the release disk image. Should only be used with releases and is a good and fast way to make sure to remember all the needed files
|
|
|
|
release: all
|
|
|
|
$(Q)mkdir -p "OpenTTD $(RELEASE)"
|
|
|
|
$(Q)mkdir -p "OpenTTD $(RELEASE)"/docs
|
|
|
|
$(Q)mkdir -p "OpenTTD $(RELEASE)"/scenario
|
|
|
|
$(Q)cp -R $(OSXAPP) "OpenTTD $(RELEASE)"/
|
2006-02-26 19:02:09 +00:00
|
|
|
$(Q)cp docs/OSX_install_instructions.txt "OpenTTD $(RELEASE)"/How\ to\ install\ (please\ read).txt
|
2005-11-23 12:21:54 +00:00
|
|
|
$(Q)cp readme.txt "OpenTTD $(RELEASE)"/docs/
|
|
|
|
$(Q)cp docs/README_if_game_crashed_on_OSX.txt "OpenTTD $(RELEASE)"/docs/readme\ if\ crashed\ on\ OSX.txt
|
|
|
|
$(Q)cp docs/console.txt "OpenTTD $(RELEASE)"/docs/
|
|
|
|
$(Q)cp COPYING "OpenTTD $(RELEASE)"/docs/
|
|
|
|
$(Q)cp changelog.txt "OpenTTD $(RELEASE)"/docs/
|
|
|
|
$(Q)cp docs/README_if_game_crashed_on_OSX.txt "OpenTTD $(RELEASE)"/docs/
|
|
|
|
$(Q)cp os/macosx/*.webloc "OpenTTD $(RELEASE)"
|
|
|
|
$(Q)cp known-bugs.txt "OpenTTD $(RELEASE)"/known-bugs.txt
|
|
|
|
$(Q)cp scenario/* "OpenTTD $(RELEASE)"/scenario/
|
|
|
|
$(Q)/usr/bin/hdiutil create -ov -format UDZO -srcfolder "OpenTTD $(RELEASE)" openttd-"$(RELEASE)"-osx.dmg
|
|
|
|
$(Q)rm -fr "OpenTTD $(RELEASE)"
|
|
|
|
|
2005-12-04 22:43:40 +00:00
|
|
|
$(OSX): $(TTD) $(BUILD_OSX_BUNDLE)
|
2005-11-23 12:21:54 +00:00
|
|
|
|
2006-02-25 21:25:23 +00:00
|
|
|
.PHONY: release $(BUILD_OSX_BUNDLE) $(UNIVERSAL_BINARY)
|