forked from GitHub/gf-rgl
doc/Makefile: incremental and parallel rebuild of the synopsis
Enough dependencies have been added so that * If nothing has changed, MkSynopsis.hs will not be run, so synopisis.html will not be needlessly regenerated. * You can use 'make -j' to build examples for different languages in parallel. Hopefully 'make synopsis' produces the exact same result as before, but if it turns out that some dependencies are missing and something is not rebuilt despite of changes, 'make clean' can be used to force a full rebuild.
This commit is contained in:
77
doc/Makefile
77
doc/Makefile
@@ -1,56 +1,49 @@
|
||||
.PHONY: abstract synopsis
|
||||
.PHONY: abstract synopsis index status
|
||||
|
||||
all: exx synopsis
|
||||
all: synopsis
|
||||
|
||||
GF_alltenses=$(GF_LIB_PATH)/alltenses
|
||||
GF=gf
|
||||
GFDOC=gfdoc
|
||||
|
||||
index:
|
||||
txt2tags -thtml index.txt
|
||||
status:
|
||||
txt2tags -thtml status.txt
|
||||
synopsis:
|
||||
runghc MkSynopsis.hs
|
||||
|
||||
synopsis: synopsis.html
|
||||
|
||||
S=../src
|
||||
|
||||
# List of languages extracted from MkSynopsis.hs
|
||||
LANGS=Afr Bul Cat Chi Dan Dut Eng Est Eus Fin Fre Ger Gre Hin Ice Ita Jpn Lav Mlt Mon Nep Nor Nno Pes Pnb Pol Ron Rus Snd Spa Swe Tha Urd
|
||||
|
||||
# This list was constructed by observing what files MkSynopsis.hs reads
|
||||
SRC_FILES=$S/abstract/Common.gf $S/abstract/Cat.gf $S/api/Constructors.gf $S/abstract/Structural.gf $(patsubst %,$S/*/Paradigms%.gf,$(LANGS))
|
||||
|
||||
EXAMPLES_OUT=$(patsubst %,api-examples-%.txt,$(LANGS))
|
||||
|
||||
synopsis.html: $(EXAMPLES_OUT) $(SRC_FILES)
|
||||
runghc MkSynopsis.hs >out
|
||||
|
||||
categories-imagemap.html: categories.dot
|
||||
dot -Tcmapx $^ > $@
|
||||
|
||||
abstract:
|
||||
gfdoc -txthtml ../src/abstract/*.gf
|
||||
mv ../src/abstract/*.html abstract
|
||||
$(GFDOC) -txthtml $S/abstract/*.gf
|
||||
mv $S/abstract/*.html abstract
|
||||
|
||||
exx-script:
|
||||
runghc MkExx.hs <api-examples.txt >api-examples.gfs
|
||||
exx: exx-script
|
||||
gf -retain -s $(GF_alltenses)/TryAfr.gfo <api-examples.gfs >api-examples-Afr.txt
|
||||
gf -retain -s $(GF_alltenses)/TryBul.gfo <api-examples.gfs >api-examples-Bul.txt
|
||||
gf -retain -s $(GF_alltenses)/TryCat.gfo <api-examples.gfs >api-examples-Cat.txt
|
||||
gf -retain -s $(GF_alltenses)/TryChi.gfo <api-examples.gfs >api-examples-Chi.txt
|
||||
gf -retain -s $(GF_alltenses)/TryDan.gfo <api-examples.gfs >api-examples-Dan.txt
|
||||
gf -retain -s $(GF_alltenses)/TryDut.gfo <api-examples.gfs >api-examples-Dut.txt
|
||||
gf -retain -s $(GF_alltenses)/TryEng.gfo <api-examples.gfs >api-examples-Eng.txt
|
||||
gf -retain -s $(GF_alltenses)/TryEst.gfo <api-examples.gfs >api-examples-Est.txt
|
||||
gf -retain -s $(GF_alltenses)/TryEus.gfo <api-examples.gfs >api-examples-Eus.txt
|
||||
gf -retain -s $(GF_alltenses)/TryFin.gfo <api-examples.gfs >api-examples-Fin.txt
|
||||
gf -retain -s $(GF_alltenses)/TryFre.gfo <api-examples.gfs >api-examples-Fre.txt
|
||||
gf -retain -s $(GF_alltenses)/TryGer.gfo <api-examples.gfs >api-examples-Ger.txt
|
||||
gf -retain -s $(GF_alltenses)/TryGre.gfo <api-examples.gfs >api-examples-Gre.txt
|
||||
gf -retain -s $(GF_alltenses)/TryHin.gfo <api-examples.gfs >api-examples-Hin.txt
|
||||
gf -retain -s $(GF_alltenses)/TryIce.gfo <api-examples.gfs >api-examples-Ice.txt
|
||||
gf -retain -s $(GF_alltenses)/TryIta.gfo <api-examples.gfs >api-examples-Ita.txt
|
||||
gf -retain -s $(GF_alltenses)/TryJpn.gfo <api-examples.gfs >api-examples-Jpn.txt
|
||||
gf -retain -s $(GF_alltenses)/TryLav.gfo <api-examples.gfs >api-examples-Lav.txt
|
||||
gf -retain -s $(GF_alltenses)/TryMlt.gfo <api-examples.gfs >api-examples-Mlt.txt
|
||||
gf -retain -s $(GF_alltenses)/TryMon.gfo <api-examples.gfs >api-examples-Mon.txt
|
||||
gf -retain -s $(GF_alltenses)/TryNep.gfo <api-examples.gfs >api-examples-Nep.txt
|
||||
gf -retain -s $(GF_alltenses)/TryNor.gfo <api-examples.gfs >api-examples-Nor.txt
|
||||
gf -retain -s $(GF_alltenses)/TryNno.gfo <api-examples.gfs >api-examples-Nno.txt
|
||||
gf -retain -s $(GF_alltenses)/TryPes.gfo <api-examples.gfs >api-examples-Pes.txt
|
||||
gf -retain -s $(GF_alltenses)/TryPnb.gfo <api-examples.gfs >api-examples-Pnb.txt
|
||||
gf -retain -s $(GF_alltenses)/TryPol.gfo <api-examples.gfs >api-examples-Pol.txt
|
||||
gf -retain -s $(GF_alltenses)/TryRon.gfo <api-examples.gfs >api-examples-Ron.txt
|
||||
gf -retain -s $(GF_alltenses)/TryRus.gfo <api-examples.gfs >api-examples-Rus.txt
|
||||
gf -retain -s $(GF_alltenses)/TrySnd.gfo <api-examples.gfs >api-examples-Snd.txt
|
||||
gf -retain -s $(GF_alltenses)/TrySpa.gfo <api-examples.gfs >api-examples-Spa.txt
|
||||
gf -retain -s $(GF_alltenses)/TrySwe.gfo <api-examples.gfs >api-examples-Swe.txt
|
||||
gf -retain -s $(GF_alltenses)/TryTha.gfo <api-examples.gfs >api-examples-Tha.txt
|
||||
gf -retain -s $(GF_alltenses)/TryUrd.gfo <api-examples.gfs >api-examples-Urd.txt
|
||||
|
||||
api-examples.gfs: api-examples.txt
|
||||
runghc MkExx.hs < $< > $@
|
||||
|
||||
|
||||
# Since .gfo files aren't self-contained, the dependencies given here are
|
||||
# incomplete. But I am thinking that the Try%.gfo file will always be newer
|
||||
# than any other files it depends on, so the rule will trigger when
|
||||
# needed anyway. //TH 2018-10-22
|
||||
api-examples-%.txt: $(GF_alltenses)/Try%.gfo api-examples.gfs
|
||||
GF_LIB_PATH=$(GF_LIB_PATH) $(GF) -retain -s $< <api-examples.gfs >$@
|
||||
|
||||
clean:
|
||||
rm -rf out synopsis.txt api-examples.gfs $(EXAMPLES_OUT)
|
||||
|
||||
Reference in New Issue
Block a user