`make release' target, which builds a .dmg disk image in what

appears to be the approved Apple fashion.

[originally from svn r5197]
This commit is contained in:
Simon Tatham
2005-01-24 13:44:24 +00:00
parent 895844a9d9
commit 9aff566286
2 changed files with 17 additions and 2 deletions

17
Recipe
View File

@ -43,7 +43,8 @@ Puzzles : [MX] osx osx.icns osx-info.plist COMMON ALL
# For OS X, we must create the online help and include it in the # For OS X, we must create the online help and include it in the
# application bundle.) Also we add -DCOMBINED to the compiler flags # application bundle.) Also we add -DCOMBINED to the compiler flags
# so as to inform the code that we're building a single binary for # so as to inform the code that we're building a single binary for
# all the puzzles. # all the puzzles. Then I've also got some code in here to build a
# distributable .dmg disk image.
!begin osx !begin osx
CFLAGS += -DCOMBINED CFLAGS += -DCOMBINED
Puzzles_extra = Puzzles.app/Contents/Resources/Help/index.html Puzzles_extra = Puzzles.app/Contents/Resources/Help/index.html
@ -53,6 +54,20 @@ Puzzles.app/Contents/Resources/Help/index.html: \
halibut --html ../../../../osx-help.but ../../../../puzzles.but halibut --html ../../../../osx-help.but ../../../../puzzles.but
Puzzles.app/Contents/Resources/Help: Puzzles.app/Contents/Resources Puzzles.app/Contents/Resources/Help: Puzzles.app/Contents/Resources
mkdir -p Puzzles.app/Contents/Resources/Help mkdir -p Puzzles.app/Contents/Resources/Help
release: Puzzles.dmg
Puzzles.dmg: Puzzles
rm -f raw.dmg
hdiutil create -megabytes 5 -layout NONE raw.dmg
hdid -nomount raw.dmg > devicename
newfs_hfs -v "Simon Tatham's Puzzle Collection" `cat devicename`
hdiutil eject `cat devicename`
hdid raw.dmg | cut -f1 -d' ' > devicename
cp -R Puzzles.app /Volumes/"Simon Tatham's Puzzle Collection"
hdiutil eject `cat devicename`
rm -f Puzzles.dmg
hdiutil convert -format UDCO raw.dmg -o Puzzles.dmg
rm -f raw.dmg devicename
!end !end
# The `nullgame' source file is a largely blank one, which contains # The `nullgame' source file is a largely blank one, which contains

View File

@ -1174,7 +1174,7 @@ if (defined $makefiles{'osx'}) {
"\n"; "\n";
} }
print "\nclean:\n". print "\nclean:\n".
"\trm -f *.o\n". "\trm -f *.o *.dmg\n".
"\trm -rf *.app\n"; "\trm -rf *.app\n";
select STDOUT; close OUT; select STDOUT; close OUT;
} }