Tony Mechelynck
unread,Jun 10, 2019, 4:30:39 PM6/10/19Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Bram Moolenaar, vim_dev
Whenever a new source file gets added, all my builds suddenly fail (I
don't use -j but I build different featuresets in parallel, each in
its own shadow directory). They fail of course with the message "No
rule to make" for the new file. (It happeneed recently for sound.c.)
The solution isn't hard, but it is a hassle; just link it from the
src/ directory one level higher.
It could be done automatically (at least on Unix-like systems),
therefore I suggest adding to the src/Makefile the following rule,
which IIUC would only be used if a needed file is missing in the
current (shadow) directory, but exists one level higher, in src/
(please check my reasoning, I rarely write Makefiles):
./% : ../%
ln -sv ../%
N.B. Rather than copy the src/Makefile into the shadow directory then
edit it, I soft-link it, and my configure arguments are set by
environment variables (set by sourcing an appropriate script) in one
shell per shadow directory. IMHO this procedure is more robust, and in
particular it "does the right thing" even if src/Makefile or
src/auto/configure have changed since the last compile. This way if my
new rule is accepted, make will pick it without my having to think
about it. :-)
Best regards,
Tony.