Il giorno gio 29 mar 2018 alle 18:18, th...@vmware.com ha scritto:
Federico Bruni writes:
>
>
> Il giorno gio 29 mar 2018 alle 15:56, Paul Smith <psm...@gnu.org>
ha
> scritto:
> > On Thu, 2018-03-29 at 14:09 +0200, Federico Bruni wrote:
> >> VPATH = \
> >> $CURDIR/src
> >
> > This is wrong. This expands the make variable $C and appends the
> > string "URDIR/src". Since C is not set (most likely) you'll get:
> >
> > VPATH = URDIR/src
> >
> > which doesn't exist, so this is a no-op.
> >
> > You meant:
> >
> > VPATH = $(CURDIR)/src
>
> Yes, indeed, it's an oversight.
Here's one way that VPATH can be used, with your original directory
structure. The example is a bit convoluted. A recursive Make
invocation is done to make the working directory be the 'out'
directory. The VPATH allows the sources to be found in the 'src'
directory:
export ROOT ?= $(shell pwd)
VPATH = $(ROOT)/src
MD = $(wildcard $(ROOT)/src/*.md)
PDF = $(addsuffix .pdf, $(notdir $(basename $(MD))))
%.pdf: %.md
echo pandoc -f markdown -o $@ $<; \
touch $@;
all:
$(MAKE) -C $(ROOT)/out -f $(ROOT)/$(lastword
$(MAKEFILE_LIST)) book
book: $(PDF)
This works, thank you!
I see that here you use pwd because Make enters the out directory, so
$(CURDIR) is not the best choice.
_______________________________________________
Help-make mailing list
Help-make@gnu.org
https://lists.gnu.org/mailman/listinfo/help-make