lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scripts/build/scan-mf-deps: script to generate MF dependencies (issu


From: jonas . hahnfeld
Subject: Re: scripts/build/scan-mf-deps: script to generate MF dependencies (issue 553700043 by address@hidden)
Date: Tue, 17 Mar 2020 14:31:02 -0700

On 2020/03/17 21:18:50, hanwenn wrote:
> On 2020/03/17 20:47:22, hahnjo wrote:
> > On 2020/03/17 20:10:51, hanwenn wrote:
> > >
https://codereview.appspot.com/553700043/diff/547760043/mf/invoke-mf2pt1.sh
> > > File mf/invoke-mf2pt1.sh (right):
> > > 
> > >
> >
>
https://codereview.appspot.com/553700043/diff/547760043/mf/invoke-mf2pt1.sh#newcode35
> > > mf/invoke-mf2pt1.sh:35: grep '^INPUT.*mf$' ${name}.fls | sed
> > > "s|INPUT||;s|${srcdir}/||" | tr -d '\n' >> ${name}.dep
> > > On 2020/03/17 09:29:28, hahnjo wrote:
> > > > grep: feta11.fls: No such file or directory
> > > 
> > > did you rebuild the scripts/build/ before ?
> > 
> > Yes, but I must confess that I called "git apply" while in mf/, so
the update
> to
> > scripts/build didn't get applied - my bad! Works now, sorry for the
noise.
> > 
> > On 2020/03/17 09:13:02, hanwenn wrote:
> > >
> >
>
https://codereview.appspot.com/553700043/diff/567370043/mf/GNUmakefile#newcode39
> > > mf/GNUmakefile:39: $(UPDATE_TARGET)
> > > On 2020/03/17 07:41:25, hahnjo wrote:
> > > > Can we list .tfm and .log files directly as output of above rule
that
> > produces
> > > > .pfb? As far as I understand, mf2pt1 produces all three of them,
right?
> > > 
> > > this is tempting, but
> > > 
> > >   t1 t2 : src
> > >       recipe
> > > 
> > > is short for
> > > 
> > >   t1 : src
> > >      recipe
> > > 
> > >   t2 : src
> > >       recipe
> > 
> > Not entirely, recipe is still only evaluated once.
> > 
> > > this means that the value of $@ depends on which thing gets built
first.
> There
> > > is also a related &: operator, but it also doesn't work for the
same reason.
> > 
> > This answer suggests the use of $*:
> https://stackoverflow.com/a/3113546/10606944
> > So using $(outdir)/$*.pfb instead of $@ should always evaluate to
the right
> > value?
> 
> looks it does, but I can't get it to work. I get things like:
> 
> [hanwen@localhost mf]$ make clean ; make -j1000 out/emmentaler-20.otf
> ..
> Making mf/out/feta-flags20.log < mf
> Making mf/out/feta-alphabet20.log < mf
> ..
> Done making mf/out/feta-flags20.log < mf
> Making mf/out/feta-flags20.lisp < log
> Done making mf/out/feta-alphabet20.log < mf
> Traceback (most recent call last):
>   File "/home/hanwen/vc/lilypond/scripts/build/out/mf-to-table", line
246, in
> <module>
>     (g, m, deps) = parse_logfile (filenm)
>   File "/home/hanwen/vc/lilypond/scripts/build/out/mf-to-table", line
56, in
> parse_logfile
>     autolines, deps = read_log_file (fn)
>   File "/home/hanwen/vc/lilypond/scripts/build/out/mf-to-table", line
29, in
> read_log_file
>     str = open (fn).read ()
> FileNotFoundError: [Errno 2] No such file or directory:
'out/feta-flags20.log'
> make: *** [GNUmakefile:132: out/feta-flags20.lisp] Error 1

diff --git a/mf/GNUmakefile b/mf/GNUmakefile
index c6fec04631..fc42c0ace7 100644
--- a/mf/GNUmakefile
+++ b/mf/GNUmakefile
@@ -32,13 +32,9 @@ $(outdir)/%.dvi: %.mf
        mv $(basename $<).dvi $(outdir)
        rm $(basename $<).*gf
 
-$(outdir)/%.pfb: %.mf $(outdir)/mf2pt1.mem invoke-mf2pt1.sh
-       $(call ly_progress,Making,$@,< mf)
-       $(src-dir)/invoke-mf2pt1.sh $(buildscript-dir)/mf2pt1 $< $@
$(METAFONT_QUIET)
-
-$(outdir)/%.tfm $(outdir)/%.log: $(outdir)/%.pfb
-       $(UPDATE_TARGET)
-
+$(outdir)/%.pfb $(outdir)/%.tfm $(outdir)/%.log: %.mf
$(outdir)/mf2pt1.mem invoke-mf2pt1.sh
+       $(call ly_progress,Making,$(outdir)/$*.pfb,< mf)
+       $(src-dir)/invoke-mf2pt1.sh $(buildscript-dir)/mf2pt1 $<
$(outdir)/$*.pfb $(METAFONT_QUIET)
 
 # since recent mpost versions no longer create a mem file, we create a
dummy
 # file to satisfy the dependency (which gets overwritten in case an
older

works for me with 'make -C mf/ -j1000 out/emmentaler-20.otf', but maybe
my laptop just has too little hardware parallelism...

https://codereview.appspot.com/553700043/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]