]> matita.cs.unibo.it Git - helm.git/commitdiff
Generation of dot file.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Wed, 14 May 2008 14:55:57 +0000 (14:55 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Wed, 14 May 2008 14:55:57 +0000 (14:55 +0000)
helm/software/components/ng_kernel/Makefile

index 532657f38cce8c3ab1d493138d41669eeff564f9..3368121cec319ce6ea6abdb895f21dd3bf0529f7 100644 (file)
@@ -27,6 +27,24 @@ all.opt opt: rt.opt check.opt
 %.opt: %.ml $(PACKAGE).cmxa
        $(OCAMLOPT) -package helm-$(PACKAGE) -linkpkg -o $@ $<
        
+depend.dot: $(IMPLEMENTATION_FILES) $(INTERFACE_FILES)
+       ocamldoc -o depend.dot -rectypes -I ../extlib/ -I ../cic -I ../cic_proof_checking/  -I ../urimanager/  -I ../logger/ -I ../registry/ -I ../getter/ -I ../hmysql/ -I ../library/ -I ../metadata/   -dot nUri.ml nReference.ml nCic.ml nCicPp.ml nCicEnvironment.ml nCicSubstitution.ml nCicReduction.ml nCicTypeChecker.ml nCicUtils.ml nCicLibrary.ml
+       cat depend.dot | grep -v "^}$$" > /tmp/depend.dot && mv /tmp/depend.dot .
+       for i in `cat depend.dot | grep darkturquoise | cut -d '"' -f 2`; do j=`echo $$i | sed s/^N/n/g`; size=`cat $$j.ml | wc -l`; funs=`cat $$j.mli | grep "^val " | wc -l`;  size=`expr $$size - 13`; echo "\"$$i\" [ label=\"$$i\\n$$size lines, $$funs functions\"];"; done >> depend.dot
+       echo "}" >> depend.dot
+       cat depend.dot | grep -v "darkturquoise" > /tmp/depend.dot && mv /tmp/depend.dot .
+       cat depend.dot
+       tred < depend.dot > /tmp/depend.dot && mv /tmp/depend.dot .
+       cat depend.dot | grep -v "^}$$" > /tmp/depend.dot && mv /tmp/depend.dot .
+       echo "  NCicEnvironment -> NCicTypeChecker;" >> depend.dot
+       cat depend.dot | grep -v "NCicEnvironment -> NCic;" > /tmp/depend.dot && mv /tmp/depend.dot .
+       echo "NCicLibrary [ style=dashed ];" >> depend.dot
+       echo "NCicPp [ style=dashed ];" >> depend.dot
+       echo "}" >> depend.dot
+       cat depend.dot | grep -v "rotate" > /tmp/depend.dot && mv /tmp/depend.dot .
+
+depend.png: depend.dot
+       dot -Tpng > depend.png < depend.dot
 
 include ../../Makefile.defs
 include ../Makefile.common