diff --git a/.gitignore b/.gitignore
index b710bef2b72c6b9f6eea87de726bf180c4f3a107..72fdfb288f3edec6b957f25e57877db963da62c4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,6 +65,6 @@ external/tmp
 mechanisms/*.hpp
 
 # build path
-build
+build*
 
 commit.msg
diff --git a/mechanisms/CMakeLists.txt b/mechanisms/CMakeLists.txt
index cf183d75545c011dbb5fbb3436221ab7ab4d0933..24b4c3d688aa0769620506aa60b761f4d8d0a98b 100644
--- a/mechanisms/CMakeLists.txt
+++ b/mechanisms/CMakeLists.txt
@@ -8,7 +8,7 @@ foreach(mech ${mechanisms})
     add_custom_command(OUTPUT "${hpp}"
                        DEPENDS modparser "${mod}"
                        WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
-                       COMMAND "${modcc}" -t cpu -o "${hpp}" "${mod}")
+                       COMMAND "${modcc}" -t cpu -O -o "${hpp}" "${mod}")
     set_source_files_properties("${hpp}" PROPERTIES GENERATED TRUE)
     list(APPEND all_mod_hpps "${hpp}")
 endforeach()
diff --git a/mechanisms/generate.sh b/mechanisms/generate.sh
deleted file mode 100755
index 1fcd49beb79603e6d79cf35e1e4b9f699fcb2f49..0000000000000000000000000000000000000000
--- a/mechanisms/generate.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#flags="-t cpu -O"
-flags="-t cpu"
-
-for mech in pas hh expsyn
-do
-    echo ../external/modparser/bin/modcc ${flags} -o ../include/mechanisms/$mech.hpp ./mod/$mech.mod
-    ../external/modparser/bin/modcc ${flags} -o ../include/mechanisms/$mech.hpp ./mod/$mech.mod
-done