summaryrefslogtreecommitdiff
path: root/os/macosx/Makefile
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
committerrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
commit66bbf336c6af7353ef0aeed58002c46543b30635 (patch)
treead4a63860df2626b22f77e7dac712e958bea54cb /os/macosx/Makefile
parentccc0a3f4dbf58c005b22341ac8874252924690cd (diff)
downloadopenttd-66bbf336c6af7353ef0aeed58002c46543b30635.tar.xz
(svn r7759) -Merge: makefile rewrite. This merge features:
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
Diffstat (limited to 'os/macosx/Makefile')
-rw-r--r--os/macosx/Makefile146
1 files changed, 0 insertions, 146 deletions
diff --git a/os/macosx/Makefile b/os/macosx/Makefile
deleted file mode 100644
index d8afef98c..000000000
--- a/os/macosx/Makefile
+++ /dev/null
@@ -1,146 +0,0 @@
-# $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
-
-ifdef MACOSX_BUILD
-
-DEPS_MAGIC := $(shell mkdir -p $(sort $(dir $(OBJS:%.o=.OSX/%))))
-
-ifdef OTTD_PPC
-OTTD_PPC :=.OSX/openttd.ppc
-OBJS_ppc := $(OBJS:%.o=.OSX/%.o.ppc)
-ifndef CC_PPC
-CC_PPC := $(CC) -arch ppc
-endif
-ifndef CXX_PPC
-CXX_PPC := $(CXX) -arch ppc
-endif
-endif
-
-ifdef OTTD_i386
-OTTD_i386 :=.OSX/openttd.i386
-OBJS_i386 := $(OBJS:%.o=.OSX/%.o.i386)
-ifndef CC_I386
-CC_I386 := $(CC) -arch i386
-endif
-ifndef CXX_I386
-CXX_I386 := $(CXX) -arch i386
-endif
-endif
-
-ifdef OTTD_PPC970
-OTTD_PPC970 :=.OSX/openttd.ppc970
-OBJS_ppc970 := $(OBJS:%.o=.OSX/%.o.ppc970)
-ifndef CC_PPC970
-CC_PPC970 := $(CC) -arch ppc970
-endif
-ifndef CXX_PPC970
-CXX_PPC970 := $(CXX) -arch ppc970
-endif
-endif
-
-ifndef LIPO
-LIPO := lipo
-endif
-ifndef STRIP
-STRIP := strip
-endif
-
-# targets to link OpenTTD
-$(TTD): $(OTTD_PPC) $(OTTD_i386) $(OTTD_PPC970)
- @echo '===> Linking $@ into a single file'
- $(Q)$(LIPO) -create -output $@ $(OTTD_PPC) $(OTTD_i386) $(OTTD_PPC970)
-
-$(OTTD_PPC): $(MAKE_CONFIG) $(OBJS_ppc)
- @echo '[PowerPC] Linking $(TTD)'
- $(Q)$(CXX_PPC) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS_ppc) $(LIBS) $(LDFLAGS_PPC) -o $@
-
-$(OTTD_i386): $(MAKE_CONFIG) $(OBJS_i386)
- @echo '[i386] Linking $(TTD)'
- $(Q)$(CXX_I386) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS_i386) $(LIBS) $(LDFLAGS_i386) -o $@
-
-$(OTTD_PPC970): $(MAKE_CONFIG) $(OBJS_ppc970)
- @echo '[PowerPC G5] Linking $(TTD)'
- $(Q)$(CXX_PPC970) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS_ppc970) $(LIBS) $(LDFLAGS_PPC) $(G5_FLAGS) -o $@
-
-# targets to compile each c, m and cpp file
-.OSX/%.o.ppc: %.c .deps/%.d
- @echo '[PowerPC] Compiling $<'
- $(Q)$(CC_PPC) $(CC_CFLAGS) $(CFLAGS) $(CFLAGS_PPC) $(CDEFS) -c -o $@ $<
-
-.OSX/%.o.ppc: %.cpp .deps/%.d
- @echo '[PowerPC] Compiling $<'
- $(Q)$(CXX_PPC) $(CFLAGS) $(CFLAGS_PPC) $(CDEFS) -c -o $@ $<
-
-.OSX/%.o.ppc: %.m .deps/%.d
- @echo '[PowerPC] Compiling $<'
- $(Q)$(CC_PPC) $(CC_CFLAGS) $(CFLAGS) $(CFLAGS_PPC) $(CDEFS) -c -o $@ $<
-
-.OSX/%.o.i386: %.c .deps/%.d
- @echo '[i386] Compiling $<'
- $(Q)$(CC_I386) $(CC_CFLAGS) $(CFLAGS) $(CFLAGS_i386) $(CDEFS) -c -o $@ $<
-
-.OSX/%.o.i386: %.cpp .deps/%.d
- @echo '[i386] Compiling $<'
- $(Q)$(CXX_I386) $(CFLAGS) $(CFLAGS_i386) $(CDEFS) -c -o $@ $<
-
-.OSX/%.o.i386: %.m .deps/%.d
- @echo '[i386] Compiling $<'
- $(Q)$(CC_I386) $(CC_CFLAGS) $(CFLAGS) $(CFLAGS_i386) $(CDEFS) -c -o $@ $<
-
-.OSX/%.o.ppc970: %.c .deps/%.d
- @echo '[PowerPC G5] Compiling $<'
- $(Q)$(CC_PPC970) $(CC_CFLAGS) $(CFLAGS) $(CFLAGS_PPC) $(G5_FLAGS) $(CDEFS) -c -o $@ $<
-
-.OSX/%.o.ppc970: %.cpp .deps/%.d
- @echo '[PowerPC G5] Compiling $<'
- $(Q)$(CXX_PPC970) $(CFLAGS) $(CFLAGS_PPC) $(G5_FLAGS) $(CDEFS) -c -o $@ $<
-
-.OSX/%.o.ppc970: %.m .deps/%.d
- @echo '[PowerPC G5] Compiling $<'
- $(Q)$(CC_PPC970) $(CC_CFLAGS) $(CFLAGS) $(CFLAGS_PPC) $(G5_FLAGS) $(CDEFS) -c -o $@ $<
-
-endif
-
-# manual strip, as the -s option fails
-$(OSX_STRIP): $(TTD)
- $(Q)$(STRIP) openttd
-
-
-# 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
-
-BUILD_OSX_BUNDLE: $(TTD) $(OSX_STRIP)
- @echo '===> Building application bundle'
- $(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 -R data/* "$(OSXAPP)"/Contents/Data/
- $(Q)cp os/macosx/splash.png "$(OSXAPP)"/Contents/Data/
- $(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
- @echo '===> Building release disk image'
- $(Q)mkdir -p "OpenTTD $(REV)"
- $(Q)mkdir -p "OpenTTD $(REV)/docs"
- $(Q)mkdir -p "OpenTTD $(REV)/scenario"
- $(Q)cp -R $(OSXAPP) "OpenTTD $(REV)/"
- $(Q)cp docs/OSX_install_instructions.txt "OpenTTD $(REV)/How to install (please read).txt"
- $(Q)cp readme.txt "OpenTTD $(REV)/docs/"
- $(Q)cp COPYING "OpenTTD $(REV)/docs/"
- $(Q)cp changelog.txt "OpenTTD $(REV)/docs/"
- $(Q)cp known-bugs.txt "OpenTTD $(REV)/known-bugs.txt"
- $(Q)cp -R scenario/* "OpenTTD $(REV)/scenario/"
- $(Q)hdiutil create -ov -format UDZO -srcfolder "OpenTTD $(REV)" openttd-"$(REV)"-osx.dmg
- $(Q)rm -fr "OpenTTD $(REV)"
-
-$(OSX): $(TTD) $(OSX_STRIP) BUILD_OSX_BUNDLE
-
-.PHONY: release BUILD_OSX_BUNDLE