最初の行:
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/Makefile
make
で 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
ローカル リソースではなく に存在するリソースを使用するためです。そのようなリソースは、たとえば、クラス、構成、またはライブラリです。