1
I am beginner of Cygwin terminal. I am trying to run *.sh file on Windows 8 using the command ./file_name.sh
, but it gives the error shown below.
Using prebuilt externals
ERROR: Cannot find 'make' program. Please install Cygwin make package or define the GNUMAKE variable to point to it.
I have installed Cygwin on the F drive. I Googled this error and set the variable path in Computer properties → Advanced system properties → Environment variables → Path
→ Edit and variable path is ;F:\cygwin\bin
but does not work. How can I solve this problem?
Here is my file_name.sh
script:
# set params
NDK_ROOT=/cygdrive/f/Android/android-ndk-r9b
COCOS2DX_ROOT=/cygdrive/f/Android/cocos2d-2.0-rc2-x-2.0.1
GAME_ROOT=$COCOS2DX_ROOT/molatx
GAME_ANDROID_ROOT=$GAME_ROOT/proj.android
RESOURCE_ROOT=$GAME_ROOT/Resources
buildexternalsfromsource=
usage(){
cat << EOF
usage: $0 [options]
Build C/C++ native code using Android NDK
OPTIONS:
-s Build externals from source
-h this help
EOF
}
while getopts "s" OPTION; do
case "$OPTION" in
s)
buildexternalsfromsource=1
;;
h)
usage
exit 0
;;
esac
done
# make sure assets is exist
if [ -d $GAME_ANDROID_ROOT/assets ]; then
rm -rf $GAME_ANDROID_ROOT/assets
fi
mkdir $GAME_ANDROID_ROOT/assets
# copy resources
for file in $RESOURCE_ROOT/*
do
if [ -d "$file" ]; then
cp -rf "$file" $GAME_ANDROID_ROOT/assets
fi
if [ -f "$file" ]; then
cp "$file" $GAME_ANDROID_ROOT/assets
fi
done
# copy icons (if they exist)
file=$GAME_ANDROID_ROOT/assets/Icon-72.png
if [ -f "$file" ]; then
cp $file $GAME_ANDROID_ROOT/res/drawable-hdpi/icon.png
fi
file=$GAME_ANDROID_ROOT/assets/Icon-48.png
if [ -f "$file" ]; then
cp $file $GAME_ANDROID_ROOT/res/drawable-mdpi/icon.png
fi
file=$GAME_ANDROID_ROOT/assets/Icon-32.png
if [ -f "$file" ]; then
cp $file $GAME_ANDROID_ROOT/res/drawable-ldpi/icon.png
fi
if [[ $buildexternalsfromsource ]]; then
echo "Building external dependencies from source"
$NDK_ROOT/ndk-build -C $GAME_ANDROID_ROOT \
NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source
else
echo "Using prebuilt externals"
$NDK_ROOT/ndk-build -C $GAME_ANDROID_ROOT \
NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt
fi
Welcome to Super User! Please ensure your question is readable before posting. Use formatting to indicate code blocks or quoted messages. Capitalize 'I's, mark labels from UI messages and make sure they already match with the UI. I have improved your question for you. – gronostaj – 2013-11-22T17:24:40.467
This doesn’t look like it’s your problem, but you might want to get into the habit of quoting all variable references; e.g.,
"$file"
,"$GAME_ANDROID_ROOT"
,"$NDK_ROOT"
, and"$COCOS2DX_ROOT"
. BTW, you need the curly braces only when you’re following the variable with a letter, digit, or colon, so you could sayNDK_MODULE_PATH="${COCOS2DX_ROOT}:$COCOS2DX_ROOT/cocos2dx/platform/third_party/android/source"
. – Scott – 2013-11-22T18:57:04.697