diff --git a/src/graph/generation/Makefile.am b/src/graph/generation/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..b2721cd7bcdf3a78c2bd3a5ecb05d183a86ba04a
--- /dev/null
+++ b/src/graph/generation/Makefile.am
@@ -0,0 +1,43 @@
+## Process this file with automake to produce Makefile.in
+
+AM_CPPFLAGS =\
+ -I. -I.. \
+ -I $(pythondir)/numpy/core/include/numpy/ \
+ -I../boost-workaround \
+ -DHAVE_CONFIG_H
+
+AM_CXXFLAGS =\
+ -Wall \
+ $(PYTHON_CPPFLAGS) \
+ $(BOOST_CPPFLAGS)
+
+AM_CFLAGS=$(AM_CXXFLAGS)
+
+libgraph_tool_generationdir = $(pythondir)/graph_tool/generation
+
+libgraph_tool_generation_LTLIBRARIES = libgraph_tool_generation.la
+
+libgraph_tool_generation_la_includedir = $(pythondir)/graph_tool/include
+
+libgraph_tool_generation_la_SOURCES = \
+ graph_generation.cc
+
+libgraph_tool_generation_la_include_HEADERS = \
+ graph_generation.hh
+
+libgraph_tool_generation_la_LIBADD = \
+ $(PYTHON_LDFLAGS) \
+ $(BOOST_LDFLAGS) \
+ $(OPENMP_LDFLAGS) \
+ -lboost_python \
+ -lboost_iostreams \
+ -lexpat
+
+# needed for typeinfo objects to work across DSO boundaries.
+# see http://gcc.gnu.org/faq.html#dso
+libgraph_tool_generation_la_LDFLAGS = \
+ -module \
+ -avoid-version \
+ -export-dynamic \
+ -no-undefined \
+ -Wl,-E
diff --git a/src/graph/generation/graph_generation.cc b/src/graph/generation/graph_generation.cc
index a844cc02bc0e9b5363ac0e292bfcafc4c7b1ed14..605ff34d51ebcc98b7652bd7418d89883bdcae5e 100644
--- a/src/graph/generation/graph_generation.cc
+++ b/src/graph/generation/graph_generation.cc
@@ -15,22 +15,11 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include
-#include