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) -- Answering "How do we solve this problem?" should not create more problems. _______________________________________________ Help-make mailing list Help-make@gnu.org https://lists.gnu.org/mailman/listinfo/help-make