I got this error while (re)building, using cygwin make.exe version :3.81.
Error : *** target pattern contains no `%\'.
This error is due to a presence of a ":"
. Therefore it no longer supports windows paths.
You need to download version 3.80 and replace the make.exe
in the \bin
directory.
Apparently it needs cygintl12.dll
too.
rollback to make 3.80 (Geant4)
cd /usr/bin
mv make.exe make_381.exe
wget http://geant4.cern.ch/support/extras/cygwin/make.exe
chmod +x make.exe
install libintl2
from cygwin setup for the required cygintl-2.dll
I got the same error when trying to build a project on Linux or OSX, that was previously built on a Windows machine and had some .o.d files hanging around in the output folder.
Once I manually deleted the .o.d files the problem was resolved. Apparently the "Clean" command of my IDE (CodeLite in this case) wasn't deleting the .o.d files.
I was getting this error because I didn't have a Tab (\t) character at the beginning of my commands. I had expandtab in my vim set so it was replacing a tab character with 4 spaces. When I turned that off and changed spaces to a tab it was fixed
I had the target pattern contains no '%'
error while building with the Android NDK using cygwin.
I found the following link helpful:
Errors Generated by Make
- ‘missing target pattern. Stop.’
- ‘multiple target patterns. Stop.’
- ‘target pattern contains no `%'. Stop.’
- ‘mixed implicit and static pattern rules. Stop.’
These are generated for malformed static pattern rules. The first means there’s no pattern in the target section of the rule; the second means there are multiple patterns in the target section; the third means the target doesn’t contain a pattern character (%); and the fourth means that all three parts of the static pattern rule contain pattern characters (%)–only the first two parts should. If you see these errors and you aren’t trying to create a static pattern rule, check the value of any variables in your target and prerequisite lists to be sure they do not contain colons. See Syntax of Static Pattern Rules.
And so, my solution included changing my system variables from Windows format to Unix format like so:
C:\Android\android-ndk-r10c
, I used /cygdrive/c/Android/android-ndk-r10c
for the NDK path.Similarly, I changed the NDK project path to /cygdrive/c/Android/project/src/main/jni
.