[Dev-luatex] Building luaTeX rev. 165

Arthur Reutenauer arthur.reutenauer at normalesup.org
Wed Nov 29 01:36:22 CET 2006

> I can understand that this sort of black magic by GNU make is sometimes
> called for,

  OK, I get it now. Actually it's really an important feature of GNU make
(documented in section 4.5 of the info file: Rules > Directory Search),
which I think can be of interest, so I will explain it: when looking for
prerequisites, GNU make can be specified a list of directories to search
in addition to the current directory; for example, assume we're building
luatex in build/texk/web2c: actually there are no source files there,
everything is in ../../../src/texk/web2c, and GNU make knows about it if
we set the variable VPATH, which is taken care of by the configure
script. So, if the Makefile can find prerequisites there and if they're
up to date, it's happy and it builds the target. So in my case, when
building loadpool.c, make was looking for luatexdir/makecpool, found
../../../src/texk/web2c/luatexdir/makecpool (the Perl script), assumed it
was up to date (since it was freshly checked out and just as old as the C
program in the same directory), and then tried to output loadpool.c by
running ./luatexdir/makecpool which was absent. Of course, in a working
directory with the right timestamps, the C program would be 24 hours old
while the Perl script would date back to six months, so the Makefile
would decide that luatexdir/makecpool had to be rebuilt.

	Anyway, it's settled now, and sorry for the noise.


More information about the dev-luatex mailing list