diff --git a/Makefile b/Makefile
index 35169e6cc06654bf02478fb99fe1b718224b6724..a06823caa90254749b24280e032f6a0b686756d0 100644
--- a/Makefile
+++ b/Makefile
@@ -152,7 +152,7 @@ clean-fm:
 
 depend: initialtag
 	for i in ${GMSH_DIRS};\
-        do (cd $$i && ${MAKE} depend "FLAGS=-DHAVE_GSL -DHAVE_FLTK"); done
+        do (cd $$i && ${MAKE} depend "FLAGS=-DHAVE_GSL -DHAVE_FLTK -DHAVE_METIS"); done
 
 nodepend:
 	for i in ${GMSH_DIRS} ; do \
diff --git a/Mesh/Makefile b/Mesh/Makefile
index 0566d605466c6ca2ea7c7891f76e4cb32b73a961..ac91f8f3bd4319bb9d037423f5db5812b8576759 100644
--- a/Mesh/Makefile
+++ b/Mesh/Makefile
@@ -391,4 +391,16 @@ HighOrder.o: HighOrder.cpp HighOrder.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Common/GmshMatrix.h \
   ../Numeric/FunctionSpace.h
-Partition.o: Partition.cpp
+Partition.o: Partition.cpp ../Geo/GModel.h ../Geo/GVertex.h \
+  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
+  ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
+  ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \
+  ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \
+  ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
+  ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
+  ../Geo/SBoundingBox3d.h Partition.h PartitionObjects.h \
+  ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
+  ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
+  ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Common/Message.h \
+  PartitionOptions.h
diff --git a/Mesh/PartitionObjects.h b/Mesh/PartitionObjects.h
index 23de9333e9f185902eca84d89d1b801a6e06bf2e..d461ec91dd28d7e2ebfbaa84a3d5da74001cef4c 100644
--- a/Mesh/PartitionObjects.h
+++ b/Mesh/PartitionObjects.h
@@ -35,7 +35,7 @@ class GrVertex
   GrVertex(const int _index, const unsigned short _size)
     : index(_index), size(0), sizeC(_size)
   { }
-  int add(const int v) { grEdge[size++] = v; }
+  void add(const int v) { grEdge[size++] = v; }
   unsigned write(std::vector<int> &vec) const
   {
     switch(size) {