Mercurial > sdl-ios-xcode
diff README.MacOSX @ 221:50620ec9c86a
*** empty log message ***
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 02 Nov 2001 18:12:52 +0000 |
parents | c03846dd489b |
children | ae4ab3ac89a9 |
line wrap: on
line diff
--- a/README.MacOSX Thu Nov 01 16:45:40 2001 +0000 +++ b/README.MacOSX Fri Nov 02 18:12:52 2001 +0000 @@ -25,79 +25,52 @@ Using the Simple DirectMedia Layer with a traditional Makefile ============================================================================== -In the following, it will be mostly assumed that you are using autoconf and -automake to setup your SDL project, and furthermore that you use the AM_PATH_SDL -macro provided by SDL in sdl.m4. If you are not using these tools, you can -still use SDL but it will be somewhat hard to get running. - -Only step 1) is really required to get started, but for full OS X support you -will want to do the other steps, too. - -1) Update your acinclude.m4 file in case you have copied an older version of - sdl.m4 into it. This is essential as AM_PATH_SDL now performs some additional - tasks when used on MacOS X +An existing autoconf/automake build system for your SDL app has good chances +to work almost unchanged on OS X. However, to produce a "real" MacOS X binary +that you can distribute to users, you need to put the generated binary into a +so called "bundle", which basically is a fancy folder with a name like +"MyCoolGame.app". - Rationale: AM_PATH_SDL copies /usr/local/share/sdl/Info.plist and the folder - /usr/local/share/sdl/SDL_main.nib/ into the directory where configure is invoked. - This is essential for the configure script to be able to run the test code - that detects SDL. - -2) Copy SDL's Info.plist.in file (from src/main/macosx) into your project's main - folder (the same spot that your configure.in sits), and edit it to suite your - needs. Then add it to your AC_OUTPUT list in configure.in - - Rationale: The Info.plist file can be used to specify an icon file for - your app, and also to provide a human readable version/copyright string - and other meta-information to the user via the Finder's Get Info dialog. - -3) Add something like the following rule to your Makefile.am: +To get this build automatically, add something like the following rule to +your Makefile.am: bundle_contents = APP_NAME.app/Contents APP_NAME_bundle: EXE_NAME mkdir -p $(bundle_contents)/MacOS mkdir -p $(bundle_contents)/Resources - mkdir -p $(bundle_contents)/Resources/SDL_main.nib echo "APPL????" > $(bundle_contents)/PkgInfo - $(INSTALL_DATA) Info.plist $(bundle_contents)/ - $(INSTALL_DATA) SDL_main.nib/*.nib $(bundle_contents)/Resources/SDLMain.nib $(INSTALL_PROGRAM) $< $(bundle_contents)/MacOS/ - You should replace EXE_NAME with the name of the executable. APP_NAME is what - will be visible to the user in the Finder. Usually it will be the same - as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME - usually is "TestGame". You might also want to use @PACKAGE@ to use the package - name as specified in your configure.in file. +You should replace EXE_NAME with the name of the executable. APP_NAME is what +will be visible to the user in the Finder. Usually it will be the same +as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME +usually is "TestGame". You might also want to use @PACKAGE@ to use the package +name as specified in your configure.in file. - If your project builds more than one application, you will have to do a bit more. - For each of your target applications, you need a seperate rule. Furthermore, each - needs its own Info.plist file, since that has to contain the exact name of the - executable (i.e. EXE_NAME above). One way to do that is to use sed in your make rules - and modify a single master Info.plist. +If your project builds more than one application, you will have to do a bit +more. For each of your target applications, you need a seperate rule. - Rationale: on Mac OS X, executables have to be put into so-called "bundles". - The make rule given above will construct such a bundle around the executable - for you. You need to make a copy of it for each target application. - -4) If you want the create bundles to be installed, you may want to add this - rule to your Makefile.am: +If you want the created bundles to be installed, you may want to add this +rule to your Makefile.am: install-exec-hook: APP_NAME_bundle rm -rf $(DESTDIR)$(prefix)/Applications/APP_NAME.app mkdir -p $(DESTDIR)$(prefix)/Applications/ cp -r $< /$(DESTDIR)$(prefix)Applications/ - This rule takes the Bundle created by the rule from step 3 and installs them - into $(DESTDIR)$(prefix)/Applications/. +This rule takes the Bundle created by the rule from step 3 and installs them +into $(DESTDIR)$(prefix)/Applications/. - Again, if you want to install multiple applications, you will have to augment - the make rule accordingly. +Again, if you want to install multiple applications, you will have to augment +the make rule accordingly. ============================================================================== Using the Simple DirectMedia Layer with Project Builder ============================================================================== -These instructions are for using Apple's Project Builder IDE to build SDL applications. +These instructions are for using Apple's Project Builder IDE to build SDL +applications. - First steps