Thanks. BTW, isn't my ROOT_DIR definition a good replacement for your sourceDirectory? I believe the latter could fail if the Makefile is invoked from another directory....
sourceDirectory is actually gwking's. Did five years already go by?
But to answer your question, make -C .../asdf/ will change the current directory, so taking the pwd is ok. Of course make -f .../asdf/Makefile from a different directory will do the wrong thing, but that's on purpose.
On purpose? Why? Is there some reason it's *wrong* for me to make the file robust to being invoked from a different directory?
I thought a reason to make this robust is in case someone grabs ASDF, puts it into a larger system (e.g., a lisp implementation), and does a make at a top level that invokes make in asdf....
But I'm not a make expert.
Once again, the standard way of invoking a makefile is to change the current directory and call make, which is what GNU make does with make -C directory. Therefore $(shell pwd) will work (it's a GNU extension, BTW, since the online BSD make man page doesn't document it).
Option -f is not meant for running a makefile in a different directory, but for selecting a makefile for the current directory, when e.g. you need to distinguish between Windows and Unix, between BSD make and GNU make, etc.
I did something much simpler: I enumerated the directories instead of just loading the whole tree. My current settting is:
export CL_SOURCE_REGISTRY = ${sourceDirectory}/:${sourceDirectory}/uiop/:${sourceDirectory}/ext//:
That gets only ASDF, UIOP, and the dependencies.
I saw that. This doesn't help when asdf is in the source-registry, though (which is the recommended way of having an asdf upgrade: "just" having its source in the source-registry, e.g. in ~/common-lisp/asdf/)
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org I have many lucky numbers: 45, 357, 9, etc etc etc. but 911 is NOT one of them — I440r