アプリケーションバンドルをマニュアルに作成する

以前どこかで見覚えがあった、かつ、知人との会話が発端でメモを残すことにしました。
EmacsObjective-Cをガシガシ書きたい、bashから*.appを作成したい、とのこと。
実際、自分はObjective-Cを書かないんですが...ということで、お勉強メモです。 # ここ重要w

バンドル作成方法

参考サイトの内容を写経するのもめんど失礼なので、自分が試してみた際の差分などを。
ちなみに、教育的価値のない無意味な実験ですが、最小(?)構成に挑戦してみました。
これだけでも動くんだねー、へー、くらいの心意気です。
とりあえずFinderから起動したい人どうぞ。

1. ディレクトリ構成を作成
 $ mkdir -p ./ExecTerminal.app/Contents/MacOS
2. 実行対象のファイルを作成

例えば参考サイトにもあるようにシェルスクリプト

 $ emacs ./ExecTerminal.app/Contents/MacOS/core.sh
 #!/bin/sh

 /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal &
 exit 0
3. 設定ファイル(Info.plist)を作成

参考サイトのテンプレ(ダイエット版)。

 $ emacs ./ExecTerminal.app/Contents/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>CFBundleExecutable</key>
    <string>core.sh</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
  </dict>
</plist>
4. FinderからExecTerminal.appを実行

きっと「白紙の右下にA(鉛筆 + 絵筆 + 定規)が乗っている」アイコンになっているので、これをポチッと。

Makefileの利用

ちょっと気になったので、Emacs23.1のソースを眺めてみました。
(削除)
なるほどね。

# あまりにもメモ過ぎたので削除