Raymond G. Pan
|
On linux, which "recurse.mk" is used?
|
Raymond G. Pan
11/28/2011 11:59 AM
post90318
|
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
|
|
|