createbundle.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/sh
  2. # Force Bourne shell in case tcsh is default.
  3. #
  4. appname=PixelF
  5. appfolder=$appname.app
  6. macosfolder=$appfolder/Contents/MacOS
  7. plistfile=$appfolder/Contents/Info.plist
  8. appfile=$appname
  9. #
  10. if ! [ -e $appfile ]
  11. then
  12. echo "$appfile does not exist"
  13. elif [ -e $appfolder ]
  14. then
  15. echo "$appfolder already exists"
  16. else
  17. echo "Creating $appfolder..."
  18. mkdir $appfolder
  19. mkdir $appfolder/Contents
  20. mkdir $appfolder/Contents/MacOS
  21. mkdir $appfolder/Contents/Resources
  22. #
  23. # Instead of copying executable into .app folder after each compile,
  24. # simply create a symbolic link to executable.
  25. ln -s ../../../$appname $macosfolder/$appname
  26. # Also create a symbolic link for the resource files
  27. ln -s ../../../../../../Media $appfolder/Contents/Resources/Media
  28. #
  29. # Create PkgInfo file.
  30. echo "APPL????" >$appfolder/Contents/PkgInfo
  31. #
  32. # Create information property list file (Info.plist).
  33. echo '<?xml version="1.0" encoding="UTF-8"?>' >$plistfile
  34. echo '<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">' >>$plistfile
  35. echo '<plist version="1.0">' >>$plistfile
  36. echo '<dict>' >>$plistfile
  37. echo ' <key>CFBundleDevelopmentRegion</key>' >>$plistfile
  38. echo ' <string>English</string>' >>$plistfile
  39. echo ' <key>CFBundleExecutable</key>' >>$plistfile
  40. echo ' <string>'$appname'</string>' >>$plistfile
  41. echo ' <key>CFBundleInfoDictionaryVersion</key>' >>$plistfile
  42. echo ' <string>6.0</string>' >>$plistfile
  43. echo ' <key>CFBundlePackageType</key>' >>$plistfile
  44. echo ' <string>APPL</string>' >>$plistfile
  45. echo ' <key>CFBundleSignature</key>' >>$plistfile
  46. echo ' <string>????</string>' >>$plistfile
  47. echo ' <key>CFBundleVersion</key>' >>$plistfile
  48. echo ' <string>1.0</string>' >>$plistfile
  49. echo ' <key>CSResourcesFileMapped</key>' >>$plistfile
  50. echo ' <true/>' >>$plistfile
  51. echo '</dict>' >>$plistfile
  52. echo '</plist>' >>$plistfile
  53. fi