最初の行:
SDKROOT= make -C $TEMP_DIR -f $PROJECT_DIR/greg/Makefile VPATH=$PROJECT_DIR/greg || exit $?
SDKROOT=コマンドの実行のために環境変数SDKROOTを何も設定しません。make
makeはビルド ツールであり、次のオプションで実行されています。
-C $TEMP_DIR:makeディレクトリで実行することを意味します$TEMP_DIR
-f $PROJECT_DIR/greg/Makefilemakeで Makefile を使用することを指定します$PROJECT_DIR/greg
VPATH=$PROJECT_DIR/greg別の変数を に設定VPATHし$PROJECT_DIR/gregます。prerequisits の検索パスをVPATH指定します。make
|| exit $?は、makeコマンドが失敗した場合、スクリプトが と同じエラー コードで終了する必要があることmakeを意味します。これは、最後に実行されたプログラム/コマンドのリターン コードを$?意味します。
2 行目:
$TEMP_DIR/greg -o $DERIVED_FILES_DIR/${INPUT_FILE_BASE}.m $INPUT_FILE_PATH
$TEMP_DIR/gregは、オプション-o $DERIVED_FILES_DIR/${INPUT_FILE_BASE}.mと からの入力を使用してコマンドを実行しているよう$INPUT_FILE_PATHです。これは、前の行のコマンドからビルドされた可能性のあるプログラムのように見えるmakeため、正確に何をするのかを知ることは困難です。
編集
SDKROOT は、使用している SDK がインストールされている場所を示すために XCode によって使用される環境変数です。例のようなパスになり/Developer/SDKs/MacOSX"${HOST_VERSION}".sdk/ます。値は、私が想像するXCodeのどこかに設定する必要があります(私はxcodeを使用していないので、それ以上に役立つことはありません.)。SDKROOT=コマンドの先頭で行うことにより、 の値はSDKROOT何も/空白になります。これは、コンパイルされるコードがSDKROOTローカル リソースではなく に存在するリソースを使用するためです。そのようなリソースは、たとえば、クラス、構成、またはライブラリです。