diff --git a/.gitignore b/.gitignore
index a1f83a92e8e0d778f8824315aa37bdfcd4603fb5..3278466b972975dca5f45c2e8213069a96e2b8bb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,7 +11,7 @@ bin/
 obj/
 binarycpython_snippets
 -1.log
-
+reports/
 # Standard template
 *.org~
 *.so
diff --git a/generate_reports.sh b/generate_reports.sh
old mode 100644
new mode 100755
index e60f4cf84c31b0e20e9edb191abb020dd23b33f8..730f3a6545bf9eb4287a4ad1cf59c5a918b656d8
--- a/generate_reports.sh
+++ b/generate_reports.sh
@@ -1,13 +1,27 @@
 #!/bin/bash
 
-ding={realpath binarycpython}
-echo $ding
 ## Script to generate the docstring coverage
+NAME_CURRENT_FILE="`realpath \"$0\"`"
+DIRNAME_CURRENT_FILE=$(dirname $NAME_CURRENT_FILE)
+TESTS_DIR="$DIRNAME_CURRENT_FILE/binarycpython/tests/"
+REPORTS_DIR="$DIRNAME_CURRENT_FILE/reports"
 
+#
+# echo "$NAME_CURRENT_FILE"
+# echo "$DIRNAME_CURRENT_FILE"
+# echo "$TESTS_DIR"
+# echo "$REPORTS_DIR"
 
+mkdir -p "$REPORTS_DIR"
+mkdir -p "$REPORTS_DIR"
 
+# Docstring coverage:
+command -v docstr-coverage >/dev/null 2>&1 || { echo >&2 "docstr-coverage is not installed.  Aborting."; exit 1; }
 
-# docstr-coverage binarycpython --exclude="/home/david/projects/binary_c_root/binarycpython_dev/binary_c-python/binarycpython/tests/*" -v 3 --badge reports/docstring_coverage/docstring_coverage.svg > reports/docstring_coverage/docstring_coverage.txt 2>&1
+
+DOCSTRING_COV_DIR="$REPORTS_DIR/docstring_coverage"
+mkdir -p "$DOCSTRING_COV_DIR/"
+docstr-coverage binarycpython --exclude="$TESTS_DIR/*" -v 3 --badge "$DOCSTRING_COV_DIR/docstring_coverage.svg" > "$DOCSTRING_COV_DIR/docstring_coverage.txt" 2>&1
 
 # # Go down to the dir
 # cd reports/test_coverage && coverage run --source=binarycpython ../../binary_c-python/binarycpython/tests/main.py && coverage-badge > test_coverage.svg