Resources | developer.brewmp.com Resources | developer.brewmp.com

Developer

resources

Common issues

This topic describes common makefile issues and their resolutions.

Recursive variable `__updirs' references itself

The full text of this error is "Makefile:11: *** Recursive variable `__updirs' references itself (eventually). Stop."

This error indicates that an older version of make is being invoked. Verify the version of make you are using is at least 3.81 with the command "make --version". If not, install a newer version of make. You may need to update cygwin to http://www.cygwin.org.

target pattern contains no `%'.

This error is typically found in the dependency files generated by cdep. GNU make doesn't handle drive letters in make rules, since the colon after the letter looks like a dependency rule itself. For example, make interprets the following:

c:/mypath/inc/header.h: headerb.h

as "c" depends on "/mypath/inc/header.h" and then chokes on the second ':'

The first time make compiles a file, it generates the .dep and then compiles the file. On subsequent invocations, make includes the .dep file generated previously to add the dependency rules and rebuilds the file if necessary. This means that the error only occurs on the second attempt to compile the file.

no such file or directory

For example:

/bin/sh: /Vc7/bin/cl.exe: No such file or directory

This occurs when the variable which defines the path to a tool (such as a compiler) is not defined.

In most cases, make.d can determine the correct path from the environment variable(s) set up by the tool at installation.

cygpath: cannot create short name of xxxx

For example:

cygpath: cannot create short name of C:\Progra~1\Qualcomm\BMPPK
Usage: cygpath (-d|-m|-u|-w|-t TYPE) [-f FILE] [OPTION]... NAME...
       cygpath [-c HANDLE]
       cygpath [-ADHPSW]
Convert Unix and Windows format paths, or output system path information ...

This error occurs when one of the path variables (such as BREWMPSDK, BREWMPPK, BREWMPPVS, ...) does not point to a valid path. Check the path and verify that the package is correctly installed and that the environment variable correctly specifies the path.

File Access Privileges: access denied

This problem can occur when using cygwin. After using make.d to install files, the user may receive an "access denied" error when trying to copy or access the installed files.

Configuring cygwin with the NONTSEC setting may resolve this problem. The setting can be applied by setting the environment variable for CYGWIN, as follows:

set CYGWIN=NONTSEC