diff --git a/perforate.sh b/perforate.sh
index 10b2e0dabaf514b2d6a51bb50d9852b6f8308502..a3d405f5aec77a455790625a0161cf89d30f514b 100755
--- a/perforate.sh
+++ b/perforate.sh
@@ -4,7 +4,13 @@ CLAN=/home/daniel/polyhedral_perforation/clan-0.8.0/clan
 CLOOG=/home/daniel/polyhedral_perforation/pluto/cloog-isl/cloog
 
 usage() {
-    printf "%s: <input_program> <output_program>\n" "$0"
+    printf -- "%s: <OPTIONS> <INPUT>\n" "$0"
+    printf -- "perforate program\n\n"
+    printf -- "-o, --output FILE   output file\n"
+    printf -- "-a, --all           do all steps\n"
+    printf -- "-e, --extract       extract scop\n"
+    printf -- "-p, --perforate     perforate scop\n"
+    printf -- "-g, --generate      generate perforated program\n"
 }
 
 extract_scop() {
@@ -25,10 +31,10 @@ run_pluto() {
 }
 
 generate() {
-    $CLOOG -openscop "$1" > "$2"
+    $CLOOG -openscop "$1" >"$2"
 }
 
-output_src="-"
+output_src=""
 
 while true; do
     case "$1" in