Error when executing .sh file on Windows 8 using Cygwin

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 propertiesAdvanced system propertiesEnvironment variablesPathEdit 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

faisal

Posted 2013-11-22T16:46:44.977

Reputation: 11

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 say NDK_MODULE_PATH="${COCOS2DX_ROOT}:$COCOS2DX_ROOT/cocos2dx/platform/third_party/android/source". – Scott – 2013-11-22T18:57:04.697

Answers

1

It looks like "make" package for Cygwin is not installed. Try to install it, then run your script. Take a look at cyg-apt for example.

ssssteffff

Posted 2013-11-22T16:46:44.977

Reputation: 1 809