diff --git a/.gitignore b/.gitignore
index 1371077b64aa10aa53d11017918304850b9a59b2..9e7bbfef63cf1e337bce111aa490f6884389cc76 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
 *.exe
 *.obj
 *.lzh
+.*.swp
diff --git a/src/.gitignore b/src/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..75dd42891447608bfe89ee25dd8670bd33888147
--- /dev/null
+++ b/src/.gitignore
@@ -0,0 +1 @@
+generate-call-graph.dot
diff --git a/src/generate-call-graph.sh b/src/generate-call-graph.sh
index 8f134834fa7bc95f50ee5a38a8ba990df31376e8..4e077cffe976f580bafd18510b091ec2d252de01 100755
--- a/src/generate-call-graph.sh
+++ b/src/generate-call-graph.sh
@@ -4,31 +4,31 @@ grep -E '^[^C].*(CALL|SUBROUTINE)' bulletin*.for \
   | sed 's/ *! .*//;s/:.*\(CALL\|SUBROUTINE\) / \1 /;s/(.*//' \
   | awk '
         BEGIN {
-          e="flowchart LR"
+          e="graph {"
         }
         {
           if ($1 != f) {
             print e;
             sg=$1; gsub(".for", "", sg);
-            print "  subgraph " sg;
-            print "    direction LR";
-            e="  end";
+            print "  subgraph " sg " {";
+            e="  }";
           }
         }
         $2 == "SUBROUTINE" {
           f=$1; s=$3;
-          print "    " s "(" s ")";
+          print "    " s;
         }
         $2 == "CALL" {
           if ($1 != f) {
             f=$1; s="main";
-            print "    " s "(" s ")";
+            print "    " s;
           }
-          print "    " s " --> " $3;
+          print "    " s " -> " $3;
           
         }
         END {
           print e;
+          print "}";
         }
         ' \
   | sed 's/\$/__/g'