On 9 February 2015 at 08:08, Fam Zheng <f...@redhat.com> wrote: > It doesn't make much sense to ask one to switch to build dir in order to > make these two targets. > > Signed-off-by: Fam Zheng <f...@redhat.com> > --- > Makefile | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/Makefile b/Makefile > index 6817c6f..257bef6 100644 > --- a/Makefile > +++ b/Makefile > @@ -3,6 +3,9 @@ > # Always point to the root of the build tree (needs GNU make). > BUILD_DIR=$(CURDIR) > > +# Before including a proper config-host.mak, assume we are in the source tree > +SRC_PATH=. > + > # All following code might depend on configuration variables > ifneq ($(wildcard config-host.mak),) > # Put the all: rule here so that config-host.mak can contain dependencies. > @@ -38,7 +41,7 @@ config-host.mak: $(SRC_PATH)/configure > fi > else > config-host.mak: > -ifneq ($(filter-out %clean,$(MAKECMDGOALS)),$(if $(MAKECMDGOALS),,fail)) > +ifneq ($(filter-out %clean TAGS cscope,$(MAKECMDGOALS)),$(if > $(MAKECMDGOALS),,fail))
Probably better to define a variable for the targets which can be called on an unconfigured directory rather than having "clean TAGS cscope" in two places. > cscope: > - rm -f ./cscope.* > - find "$(SRC_PATH)" -name "*.[chsS]" -print | sed 's,^\./,,' > > ./cscope.files > - cscope -b > + rm -f "$(SRC_PATH)"/cscope.* > + find "$(SRC_PATH)/" -name "*.[chsS]" -print | sed 's,^\./,,' > > "$(SRC_PATH)/cscope.files" > + cscope -b -i"$(SRC_PATH)/cscope.files" Isn't this going to result in our writing the cscope.files into the source tree but the cross-reference into the build directory? That seems inconsistent (and I'm not really convinced about the wisdom of anything in the makefile writing to the source tree). thanks -- PMM