iPadアプリケーションの場合、アプリケーションにバンドルする前に、いくつかのCoffeeScriptファイルをJavaScriptファイルに変換する必要があります。
次のコードを使用して、XCodeプロジェクトにMakefileを追加しようとしました。
MANUAL_ROOT=IOS12BSH/manual
SCRIPTS_ROOT=$(MANUAL_ROOT)/scripts
COFFEE_SOURCES=$(SCRIPTS_ROOT)/*.coffee $(SCRIPTS_ROOT)/guides/*.coffee
JAVASCRIPT_TARGETS=$(COFFEE_SOURCES:.coffee=.js)
all: build
build: coffeescript
clean: clean_coffeescript
coffeescript: $(JAVASCRIPT_TARGETS)
clean_coffeescript:
rm -f $(JAVASCRIPT_TARGETS)
$(JAVASCRIPT_TARGETS): $(COFFEE_SOURCES)
coffee -c $(COFFEE_SOURCES)
シェルからこのMakefileを実行すると、問題なく動作します。しかし、XCodeでターゲットとしてMakefileを追加した後、問題が発生しました。
次のエラーがMakefileによって生成されました。
coffee -c IOS12BSH/manual/scripts/*.coffee IOS12BSH/manual/scripts/guides/*.coffee
/bin/sh: coffee: command not found
make: *** [IOS12BSH/manual/scripts/*.js] Error 127
Command /Applications/Xcode.app/Contents/Developer/usr/bin/make failed with exit code 2
コマンドが私のマシンにインストールされているので、それは奇妙です(コマンドは下にcoffee
インストールされ、私の中に追加されます)。/opt/local/bin/coffee
/opt/local/bin
$PATH
~/.profile
そこで、Makefileにを追加しましたecho $(PATH)
が、Makefileを$PATH
XCodeで実行すると、が異なるように見えます。XCodeはから設定を読み取っていないようである~/.profile
ため、に/opt/local/bin
ありません$PATH
。
coffee
これの理由は何ですか?コマンドが見つかるようにこれを修正するにはどうすればよいですか?