Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - On linux, which "recurse.mk" is used?: (8 Items)
   
On linux, which "recurse.mk" is used?  
Question: on my linux, why does "make" use "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" instead of "$QNX_TARGET/
usr/include/mk/recurse.mk"?

The document (http://www.qnx.com/developers/docs/6.4.1/neutrino/prog/make_convent.html) says:
The recurse.mk file resides under $QNX_TARGET/usr/include/mk. This directory contains other files that are included 
within makefiles. Note that while the make utility automatically searches $QNX_TARGET/usr/include, we've created 
symbolic links from there to $QNX_TARGET/usr/include/mk.

However, in the tests on my linux, it looks that "make" uses "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" instead
 of "$QNX_TARGET/usr/include/mk/recurse.mk". Why? 


Details:
1. There are "recurse.mk" files under both "$QNX_TARGET/usr/include/mk/recurse.mk" and "/opt/qnx650/target/qnx6/usr/
include/mk/recurse.mk".

2.The QNX env variables are:
QNX_TARGET_SDK=/opt/qnx650/target/qnx6
QNX_CONFIGURATION=/etc/qnx
QNX_JAVAHOME=/opt/qnx650/_jvm
QNX_TARGET=/home/builder/p4/myProject/ap/msm/deckard65x/developer/trunk/target/qnx6
QNX_HOST=/opt/qnx650/host/linux/x86

3. I did following tests:
a. modify "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" by adding a line "$(info QNX_TARGET=$(QNX_TARGET))", run "
make install", then we can see the message:

QNX_TARGET=/home/builder/p4/myProject/ap/msm/deckard65x/developer/trunk/target/qnx6

b. delete  "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" and run "make install" then we can see:  

Makefile:4: recurse.mk: No such file or directory
make: *** No rule to make target `recurse.mk'.  Stop.


Thank you,
Raymond
Re: On linux, which "recurse.mk" is used?  
Check the MAKEFLAGS environmental variable.

On Mon, Nov 28, 2011 at 11:59:31AM -0500, Raymond G. Pan wrote:
> Question: on my linux, why does "make" use "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" instead of "$QNX_TARGET
/usr/include/mk/recurse.mk"?
> 
> The document (http://www.qnx.com/developers/docs/6.4.1/neutrino/prog/make_convent.html) says:
> The recurse.mk file resides under $QNX_TARGET/usr/include/mk. This directory contains other files that are included 
within makefiles. Note that while the make utility automatically searches $QNX_TARGET/usr/include, we've created 
symbolic links from there to $QNX_TARGET/usr/include/mk.
> 
> However, in the tests on my linux, it looks that "make" uses "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" 
instead of "$QNX_TARGET/usr/include/mk/recurse.mk". Why? 
> 
> 
> Details:
> 1. There are "recurse.mk" files under both "$QNX_TARGET/usr/include/mk/recurse.mk" and "/opt/qnx650/target/qnx6/usr/
include/mk/recurse.mk".
> 
> 2.The QNX env variables are:
> QNX_TARGET_SDK=/opt/qnx650/target/qnx6
> QNX_CONFIGURATION=/etc/qnx
> QNX_JAVAHOME=/opt/qnx650/_jvm
> QNX_TARGET=/home/builder/p4/myProject/ap/msm/deckard65x/developer/trunk/target/qnx6
> QNX_HOST=/opt/qnx650/host/linux/x86
> 
> 3. I did following tests:
> a. modify "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" by adding a line "$(info QNX_TARGET=$(QNX_TARGET))", run
 "make install", then we can see the message:
> 
> QNX_TARGET=/home/builder/p4/myProject/ap/msm/deckard65x/developer/trunk/target/qnx6
> 
> b. delete  "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" and run "make install" then we can see:  
> 
> Makefile:4: recurse.mk: No such file or directory
> make: *** No rule to make target `recurse.mk'.  Stop.
> 
> 
> Thank you,
> Raymond
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post90318
> 
Re: On linux, which "recurse.mk" is used?  
On 11-11-28 11:59 AM, Raymond G. Pan wrote:
> Question: on my linux, why does "make" use "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" instead of "$QNX_TARGET
/usr/include/mk/recurse.mk"?
>
> The document (http://www.qnx.com/developers/docs/6.4.1/neutrino/prog/make_convent.html) says:
> The recurse.mk file resides under $QNX_TARGET/usr/include/mk. This directory contains other files that are included 
within makefiles. Note that while the make utility automatically searches $QNX_TARGET/usr/include, we've created 
symbolic links from there to $QNX_TARGET/usr/include/mk.
>
> However, in the tests on my linux, it looks that "make" uses "/opt/qnx650/target/qnx6/usr/include/mk/recurse.mk" 
instead of "$QNX_TARGET/usr/include/mk/recurse.mk". Why?

It's because your MAKEFLAGS envvar still points at /opt/qnx650 and not 
-I$QNX_TARGET/usr/include

Regards,

Ryan Mansfield
Re: On linux, which "recurse.mk" is used?  
Sean  and Ryan, 

I just verified that after changing MAKEFLAGS=-I$QNX_TARGET/usr/include, I can see "make" search "recurse.mk" under "$
QNX_TARGET/usr/include" instead of ""/opt/qnx650/target/qnx6/usr/include". 

Thank you! :)
Re: On linux, which "recurse.mk" is used?  
Hello,

I have installed qnx650 & qnx SP1 on Ubuntu 14.04.
I try to compile libdce from here: http://git.omapzoom.org/?p=repo/libdce.git;a=summary

I have set the variables from README:

~/libdce/libdce$ export QNX_ROOT=/opt/qnx650
~/libdce/libdce$ export QNX_HOST=${QNX_ROOT}/host/linux/x86
~/libdce/libdce$ export LD_LIBRARY_PATH=${QNX_HOST}/usr/lib
~/libdce/libdce$ export QNX_TARGET=${QNX_ROOT}/target/qnx6
~/libdce/libdce$ export MAKEFLAGS=-I${QNX_TARGET}/usr/include
~/libdce/libdce$ export QNX_CONFIGURATION=/etc/qnx
~/libdce/libdce$ export QNX_JAVAHOME=${QNX_ROOT}/_jvm
~/libdce/libdce$ export PATH=${QNX_HOST}/usr/bin:${PATH}:${QNX_CONFIGURATION}/bin
~/libdce/libdce$ eval `qconfig -n "QNX Software Development Platform 6.5.0" -e`

When I run: 
~/libdce/libdce$ make -f Makefile.qnx install

The output is:
Makefile.qnx:3: /opt/qnx650/target/qnx6/usr/include/recurse.mk: No such file or directory

I have symbolic link to recurse.mk in 
~/libdce/libdce$ ls /opt/qnx650/target/qnx6/usr/include
recurse.mk points to mk/recurse.mk that is also a symbolic link

I have read older post regarding this issue and still doesn't work.

Thank you
Re: On linux, which "recurse.mk" is used?  
Raymond,
Thank you for your promt reply. 


Adelina Stanciu, 

You were speaking about building dce_test. Could you please let me know the procedure to be followed.
I have followed the README and did the required settings. 
But i could not run dce_test succesfully.

-Srinivas.

Re: On linux, which "recurse.mk" is used?  
Hi Raymond,

you were able to build and run dce_test ?
Could you please let me know the procedures you followed to build and run libdce and dce_test?

Thanks, 
Srinivas.
RE: On linux, which "recurse.mk" is used?  
I don't remember I built dce_test before. 

Raymond

-----Original Message-----
From: Srinivas M [mailto:community-noreply@qnx.com] 
Sent: Tuesday, December 02, 2014 3:29 AM
To: general-community
Subject: Re: On linux, which "recurse.mk" is used?

Hi Raymond,

you were able to build and run dce_test ?
Could you please let me know the procedures you followed to build and run libdce and dce_test?

Thanks, 
Srinivas.



_______________________________________________

General
http://community.qnx.com/sf/go/post112503
To cancel your subscription to this discussion, please e-mail general-community-unsubscribe@community.qnx.com