|
Hi Karl, Frankly speaking I cannot say that I understand it completely too :)1) I'm afraid I don't really understand tex4ht file derivation, despite Deimi's best efforts to explain. 3) It sure would be nice to have complete auto-generated dependencies, as we were discussing some time ago. Maybe someday ... My attempt to have generated dependencies is on a github repo: https://github.com/dgalcius/tex4ht-dev. What I tried to achieve: -1- separate generation of code (4ht,htf, etc,) and of documentation. 4ht $(tex4ht-4ht_derived): tex4ht-4ht.tex $(tex4ht-4ht_deps) tex $(tex_opts) $< 4ht-doc $(tex4ht-4ht_doc): $(tex4ht-4ht_deps) $(HTTEX) $< This is a rough template that I follow: for each seeded source tex file (foo.tex) I put two phony targets "foo" and "foo-doc". In general it is much faster to generated code related files (4ht,htf,etc) than documentation and in most cases I want to generate code files only. -2- For each source tex file to have a .d (dependency) file which is generated programmatically. e.g. tex4ht-c.tex <=> tex4ht-c.d; tex4ht-html4.tex <=> tex4ht-html.d, etc. tex4ht-c.d: define tex4ht-c_derived tex4ht.c\ endef # deps files list from tex4ht-c.fls. define tex4ht-c_deps tex4ht-c.tex\ common.tex\ tex4ht.sty\ tex4ht.4ht\ html4.4ht\ html4-math.4ht\ plain.4ht\ dratex.4ht\ th4.4ht\ ProTex.sty\ AlProTex.sty\ tex4ht-cpright.tex\ endef # set main html file define tex4ht-c_doc html.dir/tex4ht-c/tex4ht-c.html endef .d file defines 3 variables: foo_derived (derived files list), foo_deps (dependency files list), and foo_doc (main html file). To remake all .d files I run: $ make d; To remake one .d file I run: $ make foo.dd; Note double "d" in case of one file. (Should I explain why not foo.d?) -3- Different rules apply for .d file generation (code vs htf vs jar), so I set some awk scripts in extra_bin/ folder: - fls2d - processing fls. This is used for .4ht files - flslg2d - processing fls and lg files. This is used for .htf files - jar2d - processing jar file .fls file is the one obtained by specifying -recorder option latex/tex run. ********************************************************* I went through every target that generate code removing circular dependencies in particular and I consider this part more or less finished. What I did not look into is an update target. I do not know if this approach of generating .d files is good and robust(!) enough. Beware!! my github repo is out of sync with svn repo for at least six month. Any suggestions, comments are welcome! best regards, -- deimi |
- [tex4ht] dependencies, new and incomplete Karl Berry
- Re: [tex4ht] dependencies, new and incomplete Michal Hoftich
- Re: [tex4ht] dependencies, new and incomplete Deimantas Galcius
