1 # Copyright (C) 2010 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 # 15 16 # Check that we have a Cygwin-compatible make. 17 # 18 # For some reason, a lot of application developers on Windows 19 # have another GNU Make installed in their path, that fails 20 # miserably with our build scripts. If we can detect this use 21 # case, early, we will be able to dump a human-readable error 22 # message with some help to fix the issue. 23 # 24 25 .PHONY: all 26 all: 27 28 # Get the cygwin-specific path to the make executable 29 # (e.g. /cygdrive/c/cygwin/usr/bin/make), then strip the 30 # .exe suffix, if any. 31 # 32 CYGWIN_MAKE := $(shell cygpath --unix --absolute $(firstword $(MAKE))) 33 CYGWIN_MAKE := $(CYGWIN_MAKE:%.exe=%) 34 35 # Now try to find it on the file system, a non-cygwin compatible 36 # GNU Make, even if launched from a Cygwin shell, will not 37 # 38 SELF_MAKE := $(strip $(wildcard $(CYGWIN_MAKE).exe)) 39 ifeq ($(SELF_MAKE),) 40 $(error Android NDK: $(firstword $(MAKE)) is not cygwin-compatible) 41 endif 42 43 # that's all 44