From 4c52e83a71518eb75bf60cf91978c87f0609e9f8 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 26 Nov 2008 08:27:32 +0000
Subject: [PATCH] make depend now work with $OBJEXT

---
 Common/Makefile                    |  44 ++++++------
 Fltk/Makefile                      |  24 +++----
 Geo/Makefile                       |  92 ++++++++++++------------
 Graphics/Makefile                  |  38 +++++-----
 Mesh/Makefile                      |  56 +++++++--------
 Mesh/Refine.cpp                    |   4 +-
 Numeric/Makefile                   |  28 ++++----
 Numeric/gmshAssembler.cpp          |   4 +-
 Numeric/gmshTermOfFormulation.cpp  |   6 +-
 Parser/Makefile                    |  10 +--
 Plugin/Makefile                    |  74 ++++++++++----------
 Post/Makefile                      |  28 ++++----
 contrib/ANN/src/Makefile           |  32 ++++-----
 contrib/MathEval/Makefile          |  16 ++---
 contrib/Metis/Makefile             | 108 ++++++++++++++---------------
 contrib/NR/Makefile                |  24 +++----
 contrib/NativeFileChooser/Makefile |   6 +-
 contrib/Netgen/Makefile            |   2 +-
 contrib/Tetgen/Makefile            |   8 +--
 19 files changed, 302 insertions(+), 302 deletions(-)

diff --git a/Common/Makefile b/Common/Makefile
index ca10ea7baf..787d353ea4 100644
--- a/Common/Makefile
+++ b/Common/Makefile
@@ -52,18 +52,18 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM -MG ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Context.o: Context.cpp ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
+Context${OBJEXT}: Context.cpp ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h Trackball.h
-Octree.o: Octree.cpp Octree.h OctreeInternals.h
-OctreeInternals.o: OctreeInternals.cpp GmshMessage.h OctreeInternals.h
-Options.o: Options.cpp GmshUI.h GmshDefines.h ../Geo/GModel.h \
+Octree${OBJEXT}: Octree.cpp Octree.h OctreeInternals.h
+OctreeInternals${OBJEXT}: OctreeInternals.cpp GmshMessage.h OctreeInternals.h
+Options${OBJEXT}: Options.cpp GmshUI.h GmshDefines.h ../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 \
@@ -83,7 +83,7 @@ Options.o: Options.cpp GmshUI.h GmshDefines.h ../Geo/GModel.h \
   ../Fltk/GUI.h ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h \
   ../Common/GmshUI.h ../Fltk/Popup_Button.h \
   ../Fltk/SpherePosition_Widget.h
-CommandLine.o: CommandLine.cpp GmshUI.h GmshDefines.h GmshVersion.h \
+CommandLine${OBJEXT}: CommandLine.cpp GmshUI.h GmshDefines.h GmshVersion.h \
   GmshMessage.h OpenFile.h CommandLine.h Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h Options.h ../Post/ColorTable.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
@@ -94,7 +94,7 @@ CommandLine.o: CommandLine.cpp GmshUI.h GmshDefines.h GmshVersion.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 CreateFile.h OS.h ../Post/PView.h
-Gmsh.o: Gmsh.cpp GmshDefines.h ../Geo/GModel.h ../Geo/GVertex.h \
+Gmsh${OBJEXT}: Gmsh.cpp GmshDefines.h ../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 \
@@ -108,15 +108,15 @@ Gmsh.o: Gmsh.cpp GmshDefines.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Post/PView.h Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Mesh/Partition.h GmshDaemon.h \
   ../Plugin/PluginManager.h
-GmshMessage.o: GmshMessage.cpp GmshMessage.h Gmsh.h Options.h \
+GmshMessage${OBJEXT}: GmshMessage.cpp GmshMessage.h Gmsh.h Options.h \
   ../Post/ColorTable.h Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h OS.h ../Fltk/GUI.h ../Fltk/Opengl_Window.h \
   ../Fltk/Colorbar_Window.h ../Common/GmshUI.h ../Fltk/Popup_Button.h \
   ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Fltk/GUI_Extras.h
-GmshDaemon.o: GmshDaemon.cpp GmshMessage.h OS.h GmshSocket.h
-OS.o: OS.cpp GmshMessage.h
-OpenFile.o: OpenFile.cpp GmshMessage.h ../Geo/Geo.h \
+GmshDaemon${OBJEXT}: GmshDaemon.cpp GmshMessage.h OS.h GmshSocket.h
+OS${OBJEXT}: OS.cpp GmshMessage.h
+OpenFile${OBJEXT}: OpenFile.cpp GmshMessage.h ../Geo/Geo.h \
   ../Common/GmshDefines.h ../Geo/gmshSurface.h ../Geo/Pair.h \
   ../Geo/Range.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
@@ -137,7 +137,7 @@ OpenFile.o: OpenFile.cpp GmshMessage.h ../Geo/Geo.h \
   ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h ../Common/GmshUI.h \
   ../Post/ColorTable.h ../Fltk/Popup_Button.h \
   ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h
-CreateFile.o: CreateFile.cpp GmshMessage.h ../Geo/GModel.h \
+CreateFile${OBJEXT}: CreateFile.cpp GmshMessage.h ../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 \
@@ -154,7 +154,7 @@ CreateFile.o: CreateFile.cpp GmshMessage.h ../Geo/GModel.h \
   ../Graphics/PixelBuffer.h ../Graphics/gl2ppm.h \
   ../Graphics/PixelBuffer.h ../Graphics/gl2yuv.h \
   ../Graphics/PixelBuffer.h
-Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \
+Visibility${OBJEXT}: Visibility.cpp Visibility.h GmshDefines.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 \
@@ -168,16 +168,16 @@ Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h ../Parser/Parser.h
-Trackball.o: Trackball.cpp Trackball.h
-VertexArray.o: VertexArray.cpp VertexArray.h ../Geo/SVector3.h \
+Trackball${OBJEXT}: Trackball.cpp Trackball.h
+VertexArray${OBJEXT}: VertexArray.cpp VertexArray.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-SmoothData.o: SmoothData.cpp SmoothData.h ../Numeric/Numeric.h \
+SmoothData${OBJEXT}: SmoothData.cpp SmoothData.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-StringUtils.o: StringUtils.cpp StringUtils.h
-ListUtils.o: ListUtils.cpp MallocUtils.h ListUtils.h TreeUtils.h avl.h \
+StringUtils${OBJEXT}: StringUtils.cpp StringUtils.h
+ListUtils${OBJEXT}: ListUtils.cpp MallocUtils.h ListUtils.h TreeUtils.h avl.h \
   GmshMessage.h
-TreeUtils.o: TreeUtils.cpp MallocUtils.h TreeUtils.h avl.h ListUtils.h
-avl.o: avl.cpp avl.h MallocUtils.h
-MallocUtils.o: MallocUtils.cpp MallocUtils.h GmshMessage.h
+TreeUtils${OBJEXT}: TreeUtils.cpp MallocUtils.h TreeUtils.h avl.h ListUtils.h
+avl${OBJEXT}: avl.cpp avl.h MallocUtils.h
+MallocUtils${OBJEXT}: MallocUtils.cpp MallocUtils.h GmshMessage.h
diff --git a/Fltk/Makefile b/Fltk/Makefile
index 6ff88bd711..8d90c4c1bd 100644
--- a/Fltk/Makefile
+++ b/Fltk/Makefile
@@ -47,14 +47,14 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM -MG ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Main.o: Main.cpp GUI.h Opengl_Window.h Colorbar_Window.h \
+Main${OBJEXT}: Main.cpp GUI.h Opengl_Window.h Colorbar_Window.h \
   ../Common/GmshUI.h ../Post/ColorTable.h Popup_Button.h \
   SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Common/Gmsh.h ../Common/GmshMessage.h \
@@ -70,7 +70,7 @@ Main.o: Main.cpp GUI.h Opengl_Window.h Colorbar_Window.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 ../Mesh/BackgroundMesh.h
-GUI.o: GUI.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
+GUI${OBJEXT}: GUI.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Common/Options.h ../Post/ColorTable.h \
@@ -90,7 +90,7 @@ GUI.o: GUI.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GeoStringInterface.h \
   ../Common/StringUtils.h ../Common/GmshSocket.h
-GUI_Extras.o: GUI_Extras.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
+GUI_Extras${OBJEXT}: GUI_Extras.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Common/CreateFile.h ../Common/Options.h ../Post/ColorTable.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
   ../Graphics/Draw.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h GUI.h \
@@ -104,7 +104,7 @@ GUI_Extras.o: GUI_Extras.cpp ../Common/GmshUI.h ../Common/GmshDefines.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 ../Mesh/Partition.h File_Picker.h
-GUI_Projection.o: GUI_Projection.cpp ../Geo/GModelIO_Fourier.h \
+GUI_Projection${OBJEXT}: GUI_Projection.cpp ../Geo/GModelIO_Fourier.h \
   ../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 \
@@ -127,7 +127,7 @@ GUI_Projection.o: GUI_Projection.cpp ../Geo/GModelIO_Fourier.h \
   ../Geo/GModel.h ../Geo/Range.h ../Geo/fourierEdge.h ../Geo/GEdge.h \
   ../Geo/GModel.h ../Geo/fourierVertex.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/MVertex.h
-GUI_Classifier.o: GUI_Classifier.cpp GUI_Classifier.h ../Common/GmshUI.h \
+GUI_Classifier${OBJEXT}: GUI_Classifier.cpp GUI_Classifier.h ../Common/GmshUI.h \
   ../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 \
@@ -150,7 +150,7 @@ GUI_Classifier.o: GUI_Classifier.cpp GUI_Classifier.h ../Common/GmshUI.h \
   ../Mesh/meshGFaceOptimize.h ../Mesh/meshGFaceDelaunayInsertion.h \
   ../Geo/discreteEdge.h ../Geo/GModel.h ../Geo/GEdge.h \
   ../Geo/discreteFace.h ../Geo/GModel.h ../Geo/GFace.h
-Callbacks.o: Callbacks.cpp ../Common/GmshUI.h ../Common/GmshMessage.h \
+Callbacks${OBJEXT}: Callbacks.cpp ../Common/GmshUI.h ../Common/GmshMessage.h \
   ../Common/MallocUtils.h ../Common/ListUtils.h ../Common/StringUtils.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
@@ -175,7 +175,7 @@ Callbacks.o: Callbacks.cpp ../Common/GmshUI.h ../Common/GmshMessage.h \
   ../Common/Visibility.h ../Common/GmshDefines.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h Solvers.h ../Common/OS.h \
   ../Mesh/BackgroundMesh.h
-Opengl.o: Opengl.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
+Opengl${OBJEXT}: Opengl.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Graphics/Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Graphics/SelectBuffer.h \
@@ -188,7 +188,7 @@ Opengl.o: Opengl.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Common/StringUtils.h GUI.h Opengl_Window.h Colorbar_Window.h \
   ../Post/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
   ../Mesh/Field.h ../Post/PView.h ../Graphics/gl2ps.h
-Opengl_Window.o: Opengl_Window.cpp ../Common/GmshUI.h \
+Opengl_Window${OBJEXT}: Opengl_Window.cpp ../Common/GmshUI.h \
   ../Common/GmshDefines.h ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Graphics/Draw.h ../Geo/SBoundingBox3d.h \
@@ -205,12 +205,12 @@ Opengl_Window.o: Opengl_Window.cpp ../Common/GmshUI.h \
   ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h
-Colorbar_Window.o: Colorbar_Window.cpp ../Common/GmshUI.h GUI.h \
+Colorbar_Window${OBJEXT}: Colorbar_Window.cpp ../Common/GmshUI.h GUI.h \
   Opengl_Window.h Colorbar_Window.h ../Post/ColorTable.h Popup_Button.h \
   SpherePosition_Widget.h ../Mesh/Field.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-Solvers.o: Solvers.cpp ../Common/GmshMessage.h ../Common/StringUtils.h \
+Solvers${OBJEXT}: Solvers.cpp ../Common/GmshMessage.h ../Common/StringUtils.h \
   Solvers.h ../Common/GmshSocket.h ../Common/OpenFile.h \
   ../Common/GmshUI.h GUI.h Opengl_Window.h Colorbar_Window.h \
   ../Post/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
diff --git a/Geo/Makefile b/Geo/Makefile
index 73e0b1b3b2..d9b895efe3 100644
--- a/Geo/Makefile
+++ b/Geo/Makefile
@@ -60,35 +60,35 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-GEntity.o: GEntity.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+GEntity${OBJEXT}: GEntity.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
   MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \
   ../Common/VertexArray.h ../Geo/SVector3.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-GVertex.o: GVertex.cpp GVertex.h GEntity.h Range.h SPoint3.h \
+GVertex${OBJEXT}: GVertex.cpp GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GFace.h GEdgeLoop.h GEdge.h \
   SVector3.h Pair.h MElement.h ../Common/GmshDefines.h MVertex.h MEdge.h \
   MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h
-GEdge.o: GEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+GEdge${OBJEXT}: GEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
   MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \
   ../Numeric/GaussLegendre1D.h
-GEdgeLoop.o: GEdgeLoop.cpp GEdgeLoop.h GEdge.h GEntity.h Range.h \
+GEdgeLoop${OBJEXT}: GEdgeLoop.cpp GEdgeLoop.h GEdge.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GVertex.h GPoint.h SPoint2.h SVector3.h \
   ../Common/GmshMessage.h
-GFace.o: GFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+GFace${OBJEXT}: GFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
   MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
@@ -96,7 +96,7 @@ GFace.o: GFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   ../Common/VertexArray.h ../Geo/SVector3.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Numeric/GaussLegendre1D.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-GFaceCompound.o: GFaceCompound.cpp GFaceCompound.h GFace.h GEntity.h \
+GFaceCompound${OBJEXT}: GFaceCompound.cpp GFaceCompound.h GFace.h GEntity.h \
   Range.h SPoint3.h SBoundingBox3d.h GPoint.h GEdgeLoop.h GEdge.h \
   GVertex.h SPoint2.h SVector3.h Pair.h ../Numeric/gmshAssembler.h \
   ../Numeric/gmshLinearSystem.h ../Numeric/gmshLaplace.h \
@@ -112,12 +112,12 @@ GFaceCompound.o: GFaceCompound.cpp GFaceCompound.h GFace.h GEntity.h \
   ../Numeric/NumericEmbedded.h ../Common/Octree.h \
   ../Common/OctreeInternals.h ../Numeric/gmshLinearSystemGmm.h \
   ../Numeric/gmshLinearSystem.h
-GRegion.o: GRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+GRegion${OBJEXT}: GRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
   MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h
-gmshVertex.o: gmshVertex.cpp GFace.h GEntity.h Range.h SPoint3.h \
+gmshVertex${OBJEXT}: gmshVertex.cpp GFace.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h GEdgeLoop.h GEdge.h GVertex.h SPoint2.h \
   SVector3.h Pair.h gmshVertex.h Geo.h ../Common/GmshDefines.h \
   gmshSurface.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
@@ -125,7 +125,7 @@ gmshVertex.o: gmshVertex.cpp GFace.h GEntity.h Range.h SPoint3.h \
   ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \
   GeoInterpolation.h ../Common/GmshMessage.h MVertex.h MElement.h MEdge.h \
   MFace.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h
-gmshEdge.o: gmshEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+gmshEdge${OBJEXT}: gmshEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h GFaceCompound.h gmshEdge.h Geo.h \
   ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \
@@ -134,7 +134,7 @@ gmshEdge.o: gmshEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   ExtrudeParams.h ../Common/SmoothData.h GeoInterpolation.h \
   ../Common/GmshMessage.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-gmshFace.o: gmshFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+gmshFace${OBJEXT}: gmshFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h gmshFace.h Geo.h ../Common/GmshDefines.h \
   gmshSurface.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
@@ -142,71 +142,71 @@ gmshFace.o: gmshFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   ../Common/ListUtils.h ExtrudeParams.h ../Common/SmoothData.h \
   GeoInterpolation.h ../Common/GmshMessage.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-gmshRegion.o: gmshRegion.cpp GModel.h GVertex.h GEntity.h Range.h \
+gmshRegion${OBJEXT}: gmshRegion.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \
   GFace.h GEdgeLoop.h Pair.h GRegion.h gmshRegion.h Geo.h \
   ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h ../Common/GmshMessage.h
-gmshSurface.o: gmshSurface.cpp gmshSurface.h Pair.h Range.h SPoint2.h \
+gmshSurface${OBJEXT}: gmshSurface.cpp gmshSurface.h Pair.h Range.h SPoint2.h \
   SPoint3.h SVector3.h SBoundingBox3d.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/GmshMessage.h
-OCCVertex.o: OCCVertex.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+OCCVertex${OBJEXT}: OCCVertex.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MVertex.h MElement.h \
   ../Common/GmshDefines.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h OCCVertex.h \
   OCCIncludes.h OCCEdge.h OCCFace.h
-OCCEdge.o: OCCEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+OCCEdge${OBJEXT}: OCCEdge.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h OCCEdge.h \
   OCCVertex.h OCCIncludes.h OCCFace.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-OCCFace.o: OCCFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+OCCFace${OBJEXT}: OCCFace.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h OCCVertex.h OCCIncludes.h OCCEdge.h \
   OCCFace.h ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/VertexArray.h ../Geo/SVector3.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-OCCRegion.o: OCCRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+OCCRegion${OBJEXT}: OCCRegion.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h OCCVertex.h OCCIncludes.h OCCEdge.h \
   OCCFace.h OCCRegion.h ../Common/GmshMessage.h
-discreteEdge.o: discreteEdge.cpp discreteEdge.h GModel.h GVertex.h \
+discreteEdge${OBJEXT}: discreteEdge.cpp discreteEdge.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h \
   Geo.h ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h
-discreteFace.o: discreteFace.cpp discreteFace.h GModel.h GVertex.h \
+discreteFace${OBJEXT}: discreteFace.cpp discreteFace.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h \
   Geo.h ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h
-discreteRegion.o: discreteRegion.cpp discreteRegion.h GModel.h GVertex.h \
+discreteRegion${OBJEXT}: discreteRegion.cpp discreteRegion.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h Geo.h \
   ../Common/GmshDefines.h gmshSurface.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h
-fourierEdge.o: fourierEdge.cpp fourierEdge.h GEdge.h GEntity.h Range.h \
+fourierEdge${OBJEXT}: fourierEdge.cpp fourierEdge.h GEdge.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GVertex.h GPoint.h SPoint2.h SVector3.h \
   GModel.h GFace.h GEdgeLoop.h Pair.h GRegion.h fourierVertex.h MVertex.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-fourierFace.o: fourierFace.cpp fourierVertex.h GModel.h GVertex.h \
+fourierFace${OBJEXT}: fourierFace.cpp fourierVertex.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h MVertex.h fourierFace.h \
   fourierEdge.h ../Common/GmshMessage.h
-fourierProjectionFace.o: fourierProjectionFace.cpp \
+fourierProjectionFace${OBJEXT}: fourierProjectionFace.cpp \
   fourierProjectionFace.h GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h ../Common/VertexArray.h ../Geo/SVector3.h
-GModel.o: GModel.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
+GModel${OBJEXT}: GModel.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GRegion.h MElement.h ../Common/GmshDefines.h \
   MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
@@ -216,7 +216,7 @@ GModel.o: GModel.cpp GModel.h GVertex.h GEntity.h Range.h SPoint3.h \
   ../Common/OctreeInternals.h ../Common/SmoothData.h ../Mesh/Field.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Mesh/Generator.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-GModelIO_Geo.o: GModelIO_Geo.cpp GModel.h GVertex.h GEntity.h Range.h \
+GModelIO_Geo${OBJEXT}: GModelIO_Geo.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \
   GFace.h GEdgeLoop.h Pair.h GRegion.h Geo.h ../Common/GmshDefines.h \
   gmshSurface.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
@@ -225,38 +225,38 @@ GModelIO_Geo.o: GModelIO_Geo.cpp GModel.h GVertex.h GEntity.h Range.h \
   ../Common/OpenFile.h ../Common/GmshMessage.h gmshVertex.h gmshFace.h \
   GFaceCompound.h gmshEdge.h gmshRegion.h ../Mesh/Field.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Parser/Parser.h
-GModelIO_Mesh.o: GModelIO_Mesh.cpp GModel.h GVertex.h GEntity.h Range.h \
+GModelIO_Mesh${OBJEXT}: GModelIO_Mesh.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \
   GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshDefines.h MElement.h \
   MVertex.h MEdge.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h discreteRegion.h \
   discreteFace.h ../Common/StringUtils.h
-GModelIO_OCC.o: GModelIO_OCC.cpp GModelIO_OCC.h GModel.h GVertex.h \
+GModelIO_OCC${OBJEXT}: GModelIO_OCC.cpp GModelIO_OCC.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h OCCIncludes.h \
   ../Common/GmshMessage.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h OCCVertex.h OCCEdge.h OCCFace.h OCCRegion.h \
   MElement.h ../Common/GmshDefines.h MVertex.h MEdge.h MFace.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Common/OpenFile.h
-GModelIO_Fourier.o: GModelIO_Fourier.cpp GModel.h GVertex.h GEntity.h \
+GModelIO_Fourier${OBJEXT}: GModelIO_Fourier.cpp GModel.h GVertex.h GEntity.h \
   Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h \
   fourierVertex.h MVertex.h fourierEdge.h fourierFace.h \
   GModelIO_Fourier.h
-GModelIO_CGNS.o: GModelIO_CGNS.cpp GModel.h GVertex.h GEntity.h Range.h \
+GModelIO_CGNS${OBJEXT}: GModelIO_CGNS.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \
   GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h \
   CGNSOptions.h
-GModelIO_MED.o: GModelIO_MED.cpp GModel.h GVertex.h GEntity.h Range.h \
+GModelIO_MED${OBJEXT}: GModelIO_MED.cpp GModel.h GVertex.h GEntity.h Range.h \
   SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h SVector3.h \
   GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/GmshMessage.h
-ExtrudeParams.o: ExtrudeParams.cpp ../Common/GmshMessage.h Geo.h \
+ExtrudeParams${OBJEXT}: ExtrudeParams.cpp ../Common/GmshMessage.h Geo.h \
   ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \
   SPoint3.h SVector3.h SBoundingBox3d.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h
-Geo.o: Geo.cpp ../Common/GmshMessage.h ../Numeric/Numeric.h \
+Geo${OBJEXT}: Geo.cpp ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/MallocUtils.h Geo.h \
   ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \
   SPoint3.h SVector3.h SBoundingBox3d.h ../Common/ListUtils.h \
@@ -265,7 +265,7 @@ Geo.o: Geo.cpp ../Common/GmshMessage.h ../Numeric/Numeric.h \
   GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h GeoInterpolation.h \
   ../Mesh/Field.h ../Post/PView.h ../Geo/SPoint3.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-GeoStringInterface.o: GeoStringInterface.cpp ../Common/GmshMessage.h \
+GeoStringInterface${OBJEXT}: GeoStringInterface.cpp ../Common/GmshMessage.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/StringUtils.h Geo.h ../Common/GmshDefines.h gmshSurface.h \
   Pair.h Range.h SPoint2.h SPoint3.h SVector3.h SBoundingBox3d.h \
@@ -275,48 +275,48 @@ GeoStringInterface.o: GeoStringInterface.cpp ../Common/GmshMessage.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h GModel.h GVertex.h \
   GEntity.h GPoint.h GEdge.h GFace.h GEdgeLoop.h GRegion.h \
   ../Parser/Parser.h
-GeoInterpolation.o: GeoInterpolation.cpp ../Common/GmshMessage.h Geo.h \
+GeoInterpolation${OBJEXT}: GeoInterpolation.cpp ../Common/GmshMessage.h Geo.h \
   ../Common/GmshDefines.h gmshSurface.h Pair.h Range.h SPoint2.h \
   SPoint3.h SVector3.h SBoundingBox3d.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/ListUtils.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ExtrudeParams.h ../Common/SmoothData.h GeoInterpolation.h \
   GeoStringInterface.h
-findLinks.o: findLinks.cpp ../Common/GmshMessage.h GModel.h GVertex.h \
+findLinks${OBJEXT}: findLinks.cpp ../Common/GmshMessage.h GModel.h GVertex.h \
   GEntity.h Range.h SPoint3.h SBoundingBox3d.h GPoint.h SPoint2.h GEdge.h \
   SVector3.h GFace.h GEdgeLoop.h Pair.h GRegion.h ../Common/TreeUtils.h \
   ../Common/avl.h ../Common/ListUtils.h
-MVertex.o: MVertex.cpp MVertex.h SPoint2.h SPoint3.h GVertex.h GEntity.h \
+MVertex${OBJEXT}: MVertex.cpp MVertex.h SPoint2.h SPoint3.h GVertex.h GEntity.h \
   Range.h SBoundingBox3d.h GPoint.h GEdge.h SVector3.h GFace.h \
   GEdgeLoop.h Pair.h GFaceCompound.h ../Common/GmshMessage.h \
   ../Common/StringUtils.h
-GaussQuadratureTri.o: GaussQuadratureTri.cpp MElement.h \
+GaussQuadratureTri${OBJEXT}: GaussQuadratureTri.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h \
   SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h GaussLegendreSimplex.h
-GaussQuadratureQuad.o: GaussQuadratureQuad.cpp MElement.h \
+GaussQuadratureQuad${OBJEXT}: GaussQuadratureQuad.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h \
   SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h GaussLegendreSimplex.h \
   ../Numeric/GaussLegendre1D.h
-GaussQuadratureTet.o: GaussQuadratureTet.cpp MElement.h \
+GaussQuadratureTet${OBJEXT}: GaussQuadratureTet.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h \
   SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h GaussLegendreSimplex.h
-GaussQuadratureHex.o: GaussQuadratureHex.cpp MElement.h \
+GaussQuadratureHex${OBJEXT}: GaussQuadratureHex.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h \
   SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h GaussLegendreSimplex.h \
   ../Numeric/GaussLegendre1D.h
-GaussLegendreSimplex.o: GaussLegendreSimplex.cpp MElement.h \
+GaussLegendreSimplex${OBJEXT}: GaussLegendreSimplex.cpp MElement.h \
   ../Common/GmshDefines.h MVertex.h SPoint2.h SPoint3.h MEdge.h \
   SVector3.h MFace.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h GaussLegendreSimplex.h \
   ../Numeric/GaussLegendre1D.h
-MFace.o: MFace.cpp MFace.h MVertex.h SPoint2.h SPoint3.h SVector3.h \
+MFace${OBJEXT}: MFace.cpp MFace.h MVertex.h SPoint2.h SPoint3.h SVector3.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-MElement.o: MElement.cpp MElement.h ../Common/GmshDefines.h MVertex.h \
+MElement${OBJEXT}: MElement.cpp MElement.h ../Common/GmshDefines.h MVertex.h \
   SPoint2.h SPoint3.h MEdge.h SVector3.h MFace.h ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h GEntity.h Range.h \
   SBoundingBox3d.h GFace.h GPoint.h GEdgeLoop.h GEdge.h GVertex.h Pair.h \
@@ -326,5 +326,5 @@ MElement.o: MElement.cpp MElement.h ../Common/GmshDefines.h MVertex.h \
   ../Mesh/qualityMeasures.h ../Mesh/meshGFaceDelaunayInsertion.h \
   ../Geo/MElement.h ../Mesh/meshGRegionDelaunayInsertion.h \
   ../Mesh/BackgroundMesh.h ../Mesh/qualityMeasures.h
-MZone.o: MZone.cpp
-MZoneBoundary.o: MZoneBoundary.cpp
+MZone${OBJEXT}: MZone.cpp
+MZoneBoundary${OBJEXT}: MZoneBoundary.cpp
diff --git a/Graphics/Makefile b/Graphics/Makefile
index c65e8f5791..f0f4ef7a79 100644
--- a/Graphics/Makefile
+++ b/Graphics/Makefile
@@ -51,14 +51,14 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Draw.o: Draw.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
+Draw${OBJEXT}: Draw.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Common/GmshMessage.h Draw.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h ../Geo/GModel.h \
@@ -70,7 +70,7 @@ Draw.o: Draw.cpp ../Common/GmshUI.h ../Common/GmshDefines.h \
   ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Post/PView.h \
   ../Post/PViewOptions.h ../Post/ColorTable.h
-Mesh.o: Mesh.cpp ../Common/GmshMessage.h ../Common/GmshUI.h \
+Mesh${OBJEXT}: Mesh.cpp ../Common/GmshMessage.h ../Common/GmshUI.h \
   ../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 \
@@ -86,7 +86,7 @@ Mesh.o: Mesh.cpp ../Common/GmshMessage.h ../Common/GmshUI.h \
   ../Mesh/PartitionOptions.h ../Common/OS.h gl2ps.h \
   ../Common/VertexArray.h ../Common/SmoothData.h ../Post/PView.h \
   ../Post/PViewData.h
-Geom.o: Geom.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
+Geom${OBJEXT}: Geom.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h gl2ps.h ../Common/VertexArray.h \
   ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/GModel.h ../Geo/GVertex.h \
@@ -97,14 +97,14 @@ Geom.o: Geom.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.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
-Post.o: Post.cpp ../Common/GmshMessage.h ../Common/GmshUI.h \
+Post${OBJEXT}: Post.cpp ../Common/GmshMessage.h ../Common/GmshUI.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h Iso.h ../Post/PView.h \
   ../Post/PViewOptions.h ../Post/ColorTable.h ../Post/PViewData.h \
   ../Common/VertexArray.h ../Geo/SVector3.h ../Geo/SPoint3.h \
   ../Common/SmoothData.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h gl2ps.h
-SelectBuffer.o: SelectBuffer.cpp ../Common/GmshMessage.h \
+SelectBuffer${OBJEXT}: SelectBuffer.cpp ../Common/GmshMessage.h \
   ../Common/GmshUI.h ../Common/GmshDefines.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
@@ -119,16 +119,16 @@ SelectBuffer.o: SelectBuffer.cpp ../Common/GmshMessage.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h Draw.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
   SelectBuffer.h ../Common/VertexArray.h
-Iso.o: Iso.cpp ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h
-Entity.o: Entity.cpp ../Common/GmshUI.h ../Numeric/Numeric.h \
+Iso${OBJEXT}: Iso.cpp ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h
+Entity${OBJEXT}: Entity.cpp ../Common/GmshUI.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h Draw.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h gl2ps.h
-ReadImg.o: ReadImg.cpp ReadImg.h ../Common/GmshMessage.h \
+ReadImg${OBJEXT}: ReadImg.cpp ReadImg.h ../Common/GmshMessage.h \
   ../Common/GmshUI.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h
-Axes.o: Axes.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
+Axes${OBJEXT}: Axes.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h gl2ps.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
@@ -138,28 +138,28 @@ Axes.o: Axes.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.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
-Scale.o: Scale.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
+Scale${OBJEXT}: Scale.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Post/PView.h ../Post/PViewOptions.h \
   ../Post/ColorTable.h ../Post/PViewData.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h gl2ps.h
-Graph2D.o: Graph2D.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
+Graph2D${OBJEXT}: Graph2D.cpp ../Common/GmshUI.h Draw.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Post/PView.h ../Post/PViewOptions.h \
   ../Post/ColorTable.h ../Post/PViewData.h gl2ps.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-gl2ps.o: gl2ps.cpp gl2ps.h
-gl2gif.o: gl2gif.cpp ../Common/MallocUtils.h gl2gif.h PixelBuffer.h \
+gl2ps${OBJEXT}: gl2ps.cpp gl2ps.h
+gl2gif${OBJEXT}: gl2gif.cpp ../Common/MallocUtils.h gl2gif.h PixelBuffer.h \
   ../Common/GmshUI.h ../Common/GmshMessage.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
-gl2jpeg.o: gl2jpeg.cpp gl2jpeg.h PixelBuffer.h ../Common/GmshUI.h \
+gl2jpeg${OBJEXT}: gl2jpeg.cpp gl2jpeg.h PixelBuffer.h ../Common/GmshUI.h \
   ../Common/GmshMessage.h ../Common/MallocUtils.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
-gl2png.o: gl2png.cpp gl2png.h PixelBuffer.h ../Common/GmshUI.h \
+gl2png${OBJEXT}: gl2png.cpp gl2png.h PixelBuffer.h ../Common/GmshUI.h \
   ../Common/GmshMessage.h ../Common/MallocUtils.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
-gl2ppm.o: gl2ppm.cpp gl2ppm.h PixelBuffer.h ../Common/GmshUI.h \
+gl2ppm${OBJEXT}: gl2ppm.cpp gl2ppm.h PixelBuffer.h ../Common/GmshUI.h \
   ../Common/GmshMessage.h ../Common/MallocUtils.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
-gl2yuv.o: gl2yuv.cpp ../Common/MallocUtils.h gl2yuv.h PixelBuffer.h \
+gl2yuv${OBJEXT}: gl2yuv.cpp ../Common/MallocUtils.h gl2yuv.h PixelBuffer.h \
   ../Common/GmshUI.h ../Common/GmshMessage.h Draw.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
diff --git a/Mesh/Makefile b/Mesh/Makefile
index 4ef7f40816..1993e4a2f0 100644
--- a/Mesh/Makefile
+++ b/Mesh/Makefile
@@ -69,14 +69,14 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Generator.o: Generator.cpp ../Common/GmshMessage.h ../Numeric/Numeric.h \
+Generator${OBJEXT}: Generator.cpp ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Common/OS.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
@@ -92,7 +92,7 @@ Generator.o: Generator.cpp ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \
   meshGEdge.h meshGFace.h meshGFaceBDS.h meshGRegion.h BackgroundMesh.h \
   BoundaryLayers.h HighOrder.h ../Post/PView.h ../Post/PViewData.h
-Field.o: Field.cpp ../Common/Context.h ../Geo/CGNSOptions.h \
+Field${OBJEXT}: Field.cpp ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h Field.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Geo/GeoInterpolation.h ../Geo/Geo.h ../Common/GmshDefines.h \
   ../Geo/gmshSurface.h ../Geo/Pair.h ../Geo/Range.h ../Geo/SPoint2.h \
@@ -111,7 +111,7 @@ Field.o: Field.cpp ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Common/GmshMessage.h ../Post/OctreePost.h ../Common/Octree.h \
   ../Common/OctreeInternals.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h
-gmshSmoothHighOrder.o: gmshSmoothHighOrder.cpp HighOrder.h \
+gmshSmoothHighOrder${OBJEXT}: gmshSmoothHighOrder.cpp HighOrder.h \
   ../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 \
@@ -134,7 +134,7 @@ gmshSmoothHighOrder.o: gmshSmoothHighOrder.cpp HighOrder.h \
   ../Numeric/gmshLinearSystem.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-meshGEdge.o: meshGEdge.cpp ../Geo/GModel.h ../Geo/GVertex.h \
+meshGEdge${OBJEXT}: meshGEdge.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 \
@@ -150,7 +150,7 @@ meshGEdge.o: meshGEdge.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Numeric/GmshMatrix.h BackgroundMesh.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-meshGEdgeExtruded.o: meshGEdgeExtruded.cpp ../Geo/GModel.h \
+meshGEdgeExtruded${OBJEXT}: meshGEdgeExtruded.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 \
@@ -163,7 +163,7 @@ meshGEdgeExtruded.o: meshGEdgeExtruded.cpp ../Geo/GModel.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h
-meshGFace.o: meshGFace.cpp meshGFace.h meshGFaceBDS.h \
+meshGFace${OBJEXT}: meshGFace.cpp meshGFace.h meshGFaceBDS.h \
   meshGFaceDelaunayInsertion.h ../Geo/MElement.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/MFace.h \
@@ -182,7 +182,7 @@ meshGFace.o: meshGFace.cpp meshGFace.h meshGFaceBDS.h \
   ../Mesh/PartitionOptions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h BDS.h ../Post/PView.h qualityMeasures.h \
   Field.h ../Common/OS.h HighOrder.h
-meshGFaceTransfinite.o: meshGFaceTransfinite.cpp meshGFace.h \
+meshGFaceTransfinite${OBJEXT}: meshGFaceTransfinite.cpp meshGFace.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 \
@@ -196,7 +196,7 @@ meshGFaceTransfinite.o: meshGFaceTransfinite.cpp meshGFace.h \
   ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-meshGFaceExtruded.o: meshGFaceExtruded.cpp ../Geo/GModel.h \
+meshGFaceExtruded${OBJEXT}: meshGFaceExtruded.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 \
@@ -210,7 +210,7 @@ meshGFaceExtruded.o: meshGFaceExtruded.cpp ../Geo/GModel.h \
   ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-meshGFaceBDS.o: meshGFaceBDS.cpp meshGFace.h meshGFaceOptimize.h \
+meshGFaceBDS${OBJEXT}: meshGFaceBDS.cpp meshGFace.h meshGFaceOptimize.h \
   ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
   ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/MFace.h ../Geo/MVertex.h \
@@ -227,7 +227,7 @@ meshGFaceBDS.o: meshGFaceBDS.cpp meshGFace.h meshGFaceOptimize.h \
   ../Geo/GEntity.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h BDS.h ../Post/PView.h \
   qualityMeasures.h Field.h ../Common/OS.h
-meshGFaceDelaunayInsertion.o: meshGFaceDelaunayInsertion.cpp BDS.h \
+meshGFaceDelaunayInsertion${OBJEXT}: meshGFaceDelaunayInsertion.cpp BDS.h \
   ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
@@ -241,7 +241,7 @@ meshGFaceDelaunayInsertion.o: meshGFaceDelaunayInsertion.cpp BDS.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h meshGFaceOptimize.h \
   meshGFace.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-meshGFaceOptimize.o: meshGFaceOptimize.cpp meshGFaceOptimize.h \
+meshGFaceOptimize${OBJEXT}: meshGFaceOptimize.cpp meshGFaceOptimize.h \
   ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
   ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/MFace.h ../Geo/MVertex.h \
@@ -253,7 +253,7 @@ meshGFaceOptimize.o: meshGFaceOptimize.cpp meshGFaceOptimize.h \
   ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/Pair.h BackgroundMesh.h
-meshGFaceQuadrilateralize.o: meshGFaceQuadrilateralize.cpp \
+meshGFaceQuadrilateralize${OBJEXT}: meshGFaceQuadrilateralize.cpp \
   meshGFaceQuadrilateralize.h ../Common/GmshMessage.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   meshGFaceDelaunayInsertion.h ../Geo/MElement.h ../Common/GmshDefines.h \
@@ -267,7 +267,7 @@ meshGFaceQuadrilateralize.o: meshGFaceQuadrilateralize.cpp \
   ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/Pair.h ../Post/PView.h
-meshGRegion.o: meshGRegion.cpp meshGRegion.h \
+meshGRegion${OBJEXT}: meshGRegion.cpp meshGRegion.h \
   meshGRegionDelaunayInsertion.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint2.h \
   ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \
@@ -289,7 +289,7 @@ meshGRegion.o: meshGRegion.cpp meshGRegion.h \
   ../Common/ListUtils.h ../Geo/SPoint2.h ../Geo/ExtrudeParams.h \
   ../Common/SmoothData.h ../Geo/GRegion.h BDS.h ../Post/PView.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-meshGRegionDelaunayInsertion.o: meshGRegionDelaunayInsertion.cpp \
+meshGRegionDelaunayInsertion${OBJEXT}: meshGRegionDelaunayInsertion.cpp \
   ../Common/OS.h BackgroundMesh.h meshGRegion.h meshGRegionLocalMeshMod.h \
   meshGRegionDelaunayInsertion.h ../Geo/MElement.h \
   ../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint2.h \
@@ -305,7 +305,7 @@ meshGRegionDelaunayInsertion.o: meshGRegionDelaunayInsertion.cpp \
   ../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
-meshGRegionTransfinite.o: meshGRegionTransfinite.cpp meshGFace.h \
+meshGRegionTransfinite${OBJEXT}: meshGRegionTransfinite.cpp meshGFace.h \
   ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
@@ -318,7 +318,7 @@ meshGRegionTransfinite.o: meshGRegionTransfinite.cpp meshGFace.h \
   ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-meshGRegionExtruded.o: meshGRegionExtruded.cpp ../Geo/GModel.h \
+meshGRegionExtruded${OBJEXT}: meshGRegionExtruded.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 \
@@ -333,7 +333,7 @@ meshGRegionExtruded.o: meshGRegionExtruded.cpp ../Geo/GModel.h \
   ../Numeric/GmshMatrix.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h \
   meshGFace.h meshGRegion.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-meshGRegionCarveHole.o: meshGRegionCarveHole.cpp ../Geo/GModel.h \
+meshGRegionCarveHole${OBJEXT}: meshGRegionCarveHole.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 \
@@ -346,7 +346,7 @@ meshGRegionCarveHole.o: meshGRegionCarveHole.cpp ../Geo/GModel.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h
-meshGRegionLocalMeshMod.o: meshGRegionLocalMeshMod.cpp \
+meshGRegionLocalMeshMod${OBJEXT}: meshGRegionLocalMeshMod.cpp \
   meshGRegionLocalMeshMod.h meshGRegionDelaunayInsertion.h \
   ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \
   ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
@@ -357,10 +357,10 @@ meshGRegionLocalMeshMod.o: meshGRegionLocalMeshMod.cpp \
   ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GRegion.h \
   ../Geo/GEntity.h
-DivideAndConquer.o: DivideAndConquer.cpp ../Common/GmshMessage.h \
+DivideAndConquer${OBJEXT}: DivideAndConquer.cpp ../Common/GmshMessage.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h DivideAndConquer.h \
   ../Common/MallocUtils.h
-BackgroundMesh.o: BackgroundMesh.cpp ../Common/GmshMessage.h \
+BackgroundMesh${OBJEXT}: BackgroundMesh.cpp ../Common/GmshMessage.h \
   BackgroundMesh.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
@@ -372,7 +372,7 @@ BackgroundMesh.o: BackgroundMesh.cpp ../Common/GmshMessage.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h ../Geo/GFace.h \
   ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h Field.h ../Post/PView.h
-qualityMeasures.o: qualityMeasures.cpp qualityMeasures.h BDS.h \
+qualityMeasures${OBJEXT}: qualityMeasures.cpp qualityMeasures.h BDS.h \
   ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
@@ -384,7 +384,7 @@ qualityMeasures.o: qualityMeasures.cpp qualityMeasures.h BDS.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h
-BoundaryLayers.o: BoundaryLayers.cpp ../Geo/GModel.h ../Geo/GVertex.h \
+BoundaryLayers${OBJEXT}: BoundaryLayers.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 \
@@ -398,7 +398,7 @@ BoundaryLayers.o: BoundaryLayers.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/SVector3.h ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h BoundaryLayers.h ../Geo/ExtrudeParams.h \
   ../Common/SmoothData.h meshGEdge.h meshGFace.h
-BDS.o: BDS.cpp ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h BDS.h \
+BDS${OBJEXT}: BDS.cpp ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h BDS.h \
   ../Geo/GFace.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
   ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \
@@ -410,7 +410,7 @@ BDS.o: BDS.cpp ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h BDS.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \
   qualityMeasures.h
-HighOrder.o: HighOrder.cpp HighOrder.h ../Geo/GModel.h ../Geo/GVertex.h \
+HighOrder${OBJEXT}: HighOrder.cpp HighOrder.h ../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 \
@@ -426,7 +426,7 @@ HighOrder.o: HighOrder.cpp HighOrder.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Numeric/GmshMatrix.h ../Common/OS.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-Partition.o: Partition.cpp ../Geo/GModel.h ../Geo/GVertex.h \
+Partition${OBJEXT}: 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 \
@@ -440,7 +440,7 @@ Partition.o: Partition.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
   ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h PartitionOptions.h
-Refine.o: Refine.cpp HighOrder.h ../Geo/GModel.h ../Geo/GVertex.h \
+Refine${OBJEXT}: Refine.cpp HighOrder.h ../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 \
diff --git a/Mesh/Refine.cpp b/Mesh/Refine.cpp
index fd6f212c2a..db40254384 100644
--- a/Mesh/Refine.cpp
+++ b/Mesh/Refine.cpp
@@ -12,7 +12,7 @@
 #include "GmshMessage.h"
 #include "OS.h"
 
-class MVertexLessParam{
+class MVertexLessThanParam{
  public:
   bool operator()(const MVertex *v1, const MVertex *v2) const
   {
@@ -38,7 +38,7 @@ static void Subdivide(GEdge *ge)
 
   // 2nd order meshing destroyed the ordering of the vertices on the edge
   std::sort(ge->mesh_vertices.begin(), ge->mesh_vertices.end(), 
-            MVertexLessParam());
+            MVertexLessThanParam());
   for(unsigned int i = 0; i < ge->mesh_vertices.size(); i++)
     ge->mesh_vertices[i]->setPolynomialOrder(1);
   ge->deleteVertexArrays();
diff --git a/Numeric/Makefile b/Numeric/Makefile
index ee9b54b9f3..a864a72669 100644
--- a/Numeric/Makefile
+++ b/Numeric/Makefile
@@ -43,20 +43,20 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Numeric.o: Numeric.cpp ../Common/GmshMessage.h Numeric.h \
+Numeric${OBJEXT}: Numeric.cpp ../Common/GmshMessage.h Numeric.h \
   NumericEmbedded.h
-NumericEmbedded.o: NumericEmbedded.cpp NumericEmbedded.h \
+NumericEmbedded${OBJEXT}: NumericEmbedded.cpp NumericEmbedded.h \
   ../Common/GmshMessage.h
-gmshAssembler.o: gmshAssembler.cpp ../Geo/MVertex.h ../Geo/SPoint2.h \
+gmshAssembler${OBJEXT}: gmshAssembler.cpp ../Geo/MVertex.h ../Geo/SPoint2.h \
   ../Geo/SPoint3.h gmshAssembler.h gmshLinearSystem.h
-gmshTermOfFormulation.o: gmshTermOfFormulation.cpp ../Common/Gmsh.h \
+gmshTermOfFormulation${OBJEXT}: gmshTermOfFormulation.cpp ../Common/Gmsh.h \
   ../Common/GmshMessage.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GPoint.h \
@@ -71,7 +71,7 @@ gmshTermOfFormulation.o: gmshTermOfFormulation.cpp ../Common/Gmsh.h \
   ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \
   GmshMatrix.h gmshTermOfFormulation.h gmshFunction.h gmshLinearSystem.h \
   gmshAssembler.h
-gmshLaplace.o: gmshLaplace.cpp gmshLaplace.h gmshTermOfFormulation.h \
+gmshLaplace${OBJEXT}: gmshLaplace.cpp gmshLaplace.h gmshTermOfFormulation.h \
   ../Numeric/GmshMatrix.h ../Common/GmshMessage.h ../Common/Gmsh.h \
   ../Common/GmshMessage.h ../Geo/GModel.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
@@ -86,7 +86,7 @@ gmshLaplace.o: gmshLaplace.cpp gmshLaplace.h gmshTermOfFormulation.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \
   GmshMatrix.h
-gmshElasticity.o: gmshElasticity.cpp gmshElasticity.h \
+gmshElasticity${OBJEXT}: gmshElasticity.cpp gmshElasticity.h \
   gmshTermOfFormulation.h ../Numeric/GmshMatrix.h ../Common/GmshMessage.h \
   ../Common/Gmsh.h ../Common/GmshMessage.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
@@ -101,13 +101,13 @@ gmshElasticity.o: gmshElasticity.cpp gmshElasticity.h \
   ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h \
   GmshMatrix.h
-EigSolve.o: EigSolve.cpp
-FunctionSpace.o: FunctionSpace.cpp FunctionSpace.h GmshMatrix.h \
+EigSolve${OBJEXT}: EigSolve.cpp
+FunctionSpace${OBJEXT}: FunctionSpace.cpp FunctionSpace.h GmshMatrix.h \
   ../Common/GmshMessage.h ../Common/GmshDefines.h
-gmsh_predicates.o: gmsh_predicates.cpp
-gsl_newt.o: gsl_newt.cpp ../Common/GmshMessage.h Numeric.h \
+gmsh_predicates${OBJEXT}: gmsh_predicates.cpp
+gsl_newt${OBJEXT}: gsl_newt.cpp ../Common/GmshMessage.h Numeric.h \
   NumericEmbedded.h
-gsl_min.o: gsl_min.cpp ../Common/GmshMessage.h Numeric.h \
+gsl_min${OBJEXT}: gsl_min.cpp ../Common/GmshMessage.h Numeric.h \
   NumericEmbedded.h
-gsl_brent.o: gsl_brent.cpp ../Common/GmshMessage.h Numeric.h \
+gsl_brent${OBJEXT}: gsl_brent.cpp ../Common/GmshMessage.h Numeric.h \
   NumericEmbedded.h
diff --git a/Numeric/gmshAssembler.cpp b/Numeric/gmshAssembler.cpp
index 06613adfac..19d2abab7f 100644
--- a/Numeric/gmshAssembler.cpp
+++ b/Numeric/gmshAssembler.cpp
@@ -35,7 +35,7 @@ void gmshAssembler::assemble(MVertex *vR, int iCompR, int iFieldR,
 	    double valConstrC = itConstrC->second[i].second;
 	    assemble(vR, iCompR, iFieldR,
                      dofKeyConstrC.v,dofKeyConstrC.comp, dofKeyConstrC.field,
-                     val*valConstrC);
+                     val * valConstrC);
 	  }
 	}
       }
@@ -50,7 +50,7 @@ void gmshAssembler::assemble(MVertex *vR, int iCompR, int iFieldR,
 	double valConstrR = itConstrR->second[i].second;
 	assemble(dofKeyConstrR.v,dofKeyConstrR.comp, dofKeyConstrR.field,
                  vC, iCompC, iFieldC,
-                 val*valConstrR);
+                 val * valConstrR);
       }
     }
   }
diff --git a/Numeric/gmshTermOfFormulation.cpp b/Numeric/gmshTermOfFormulation.cpp
index 6f21b4c95b..d39d236b09 100644
--- a/Numeric/gmshTermOfFormulation.cpp
+++ b/Numeric/gmshTermOfFormulation.cpp
@@ -34,16 +34,16 @@ void gmshNodalFemTerm::addNeumann(int physical,
 {
 }
 
-void gmshNodalFemTerm::addToMatrix (gmshAssembler &lsys) const
+void gmshNodalFemTerm::addToMatrix(gmshAssembler &lsys) const
 {
   if (_gm->getNumRegions()){
     for(GModel::riter it = _gm->firstRegion(); it != _gm->lastRegion(); ++it){
-      addToMatrix(lsys,*it);
+      addToMatrix(lsys, *it);
     }
   }
   else if(_gm->getNumFaces()){
     for(GModel::fiter it = _gm->firstFace(); it != _gm->lastFace(); ++it){
-      addToMatrix(lsys,*it);
+      addToMatrix(lsys, *it);
     }
   }  
 }
diff --git a/Parser/Makefile b/Parser/Makefile
index 2dbce1c275..fe6e803edf 100644
--- a/Parser/Makefile
+++ b/Parser/Makefile
@@ -46,14 +46,14 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Gmsh.tab.o: Gmsh.tab.cpp ../Common/GmshMessage.h ../Common/MallocUtils.h \
+Gmsh.tab${OBJEXT}: Gmsh.tab.cpp ../Common/GmshMessage.h ../Common/MallocUtils.h \
   ../Common/ListUtils.h ../Common/TreeUtils.h ../Common/avl.h \
   ../Common/ListUtils.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
@@ -75,7 +75,7 @@ Gmsh.tab.o: Gmsh.tab.cpp ../Common/GmshMessage.h ../Common/MallocUtils.h \
   ../Common/CreateFile.h ../Mesh/Field.h ../Post/PView.h \
   ../Mesh/BackgroundMesh.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Plugin/PluginManager.h
-Gmsh.yy.o: Gmsh.yy.cpp ../Common/GmshMessage.h ../Geo/Geo.h \
+Gmsh.yy${OBJEXT}: Gmsh.yy.cpp ../Common/GmshMessage.h ../Geo/Geo.h \
   ../Common/GmshDefines.h ../Geo/gmshSurface.h ../Geo/Pair.h \
   ../Geo/Range.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/SVector3.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
@@ -83,4 +83,4 @@ Gmsh.yy.o: Gmsh.yy.cpp ../Common/GmshMessage.h ../Geo/Geo.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ../Geo/SPoint2.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h \
   Gmsh.tab.hpp
-FunctionManager.o: FunctionManager.cpp FunctionManager.h
+FunctionManager${OBJEXT}: FunctionManager.cpp FunctionManager.h
diff --git a/Plugin/Makefile b/Plugin/Makefile
index feefea5bb0..5d9bd922ad 100644
--- a/Plugin/Makefile
+++ b/Plugin/Makefile
@@ -53,18 +53,18 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Plugin.o: Plugin.cpp Plugin.h ../Common/Options.h ../Post/ColorTable.h \
+Plugin${OBJEXT}: Plugin.cpp Plugin.h ../Common/Options.h ../Post/ColorTable.h \
   ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h ../Numeric/GmshMatrix.h
-PluginManager.o: PluginManager.cpp Plugin.h ../Common/Options.h \
+PluginManager${OBJEXT}: PluginManager.cpp Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
@@ -78,38 +78,38 @@ PluginManager.o: PluginManager.cpp Plugin.h ../Common/Options.h \
   Evaluate.h ../Post/OctreePost.h ../Common/Octree.h \
   ../Common/OctreeInternals.h Probe.h FieldView.h GSHHS.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-Levelset.o: Levelset.cpp Levelset.h Plugin.h ../Common/Options.h \
+Levelset${OBJEXT}: Levelset.cpp Levelset.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h MakeSimplex.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Post/adaptiveData.h
-CutPlane.o: CutPlane.cpp CutPlane.h Levelset.h Plugin.h \
+CutPlane${OBJEXT}: CutPlane.cpp CutPlane.h Levelset.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Numeric/GmshMatrix.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Common/GmshUI.h \
   ../Graphics/Draw.h
-CutSphere.o: CutSphere.cpp CutSphere.h Levelset.h Plugin.h \
+CutSphere${OBJEXT}: CutSphere.cpp CutSphere.h Levelset.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Numeric/GmshMatrix.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Common/GmshUI.h \
   ../Graphics/Draw.h
-CutMap.o: CutMap.cpp CutMap.h Levelset.h Plugin.h ../Common/Options.h \
+CutMap${OBJEXT}: CutMap.cpp CutMap.h Levelset.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-Smooth.o: Smooth.cpp Smooth.h Plugin.h ../Common/Options.h \
+Smooth${OBJEXT}: Smooth.cpp Smooth.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h
-CutParametric.o: CutParametric.cpp ../Post/OctreePost.h \
+CutParametric${OBJEXT}: CutParametric.cpp ../Post/OctreePost.h \
   ../Common/Octree.h ../Common/OctreeInternals.h CutParametric.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
@@ -117,25 +117,25 @@ CutParametric.o: CutParametric.cpp ../Post/OctreePost.h \
   ../Common/ListUtils.h ../Numeric/GmshMatrix.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h ../Common/GmshUI.h \
   ../Graphics/Draw.h
-Lambda2.o: Lambda2.cpp Lambda2.h Plugin.h ../Common/Options.h \
+Lambda2${OBJEXT}: Lambda2.cpp Lambda2.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-Eigenvectors.o: Eigenvectors.cpp Eigenvectors.h Plugin.h \
+Eigenvectors${OBJEXT}: Eigenvectors.cpp Eigenvectors.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Numeric/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Numeric/EigSolve.h
-Eigenvalues.o: Eigenvalues.cpp Eigenvalues.h Plugin.h ../Common/Options.h \
+Eigenvalues${OBJEXT}: Eigenvalues.cpp Eigenvalues.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-StreamLines.o: StreamLines.cpp StreamLines.h Plugin.h ../Common/Options.h \
+StreamLines${OBJEXT}: StreamLines.cpp StreamLines.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
@@ -143,24 +143,24 @@ StreamLines.o: StreamLines.cpp StreamLines.h Plugin.h ../Common/Options.h \
   ../Common/OctreeInternals.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Post/PViewOptions.h ../Post/ColorTable.h \
   ../Common/GmshUI.h ../Graphics/Draw.h
-CutGrid.o: CutGrid.cpp ../Post/OctreePost.h ../Common/Octree.h \
+CutGrid${OBJEXT}: CutGrid.cpp ../Post/OctreePost.h ../Common/Octree.h \
   ../Common/OctreeInternals.h CutGrid.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Common/GmshUI.h ../Graphics/Draw.h
-Transform.o: Transform.cpp Transform.h Plugin.h ../Common/Options.h \
+Transform${OBJEXT}: Transform.cpp Transform.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h
-LongitudeLatitude.o: LongitudeLatitude.cpp LongitudeLatitude.h Plugin.h \
+LongitudeLatitude${OBJEXT}: LongitudeLatitude.cpp LongitudeLatitude.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Numeric/GmshMatrix.h
-Triangulate.o: Triangulate.cpp ../Geo/GModel.h ../Geo/GVertex.h \
+Triangulate${OBJEXT}: Triangulate.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 \
@@ -175,26 +175,26 @@ Triangulate.o: Triangulate.cpp ../Geo/GModel.h ../Geo/GVertex.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-Warp.o: Warp.cpp Warp.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \
+Warp${OBJEXT}: Warp.cpp Warp.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \
   ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h ../Numeric/GmshMatrix.h \
   ../Common/SmoothData.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-SphericalRaise.o: SphericalRaise.cpp SphericalRaise.h Plugin.h \
+SphericalRaise${OBJEXT}: SphericalRaise.cpp SphericalRaise.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Numeric/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-Skin.o: Skin.cpp Skin.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \
+Skin${OBJEXT}: Skin.cpp Skin.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \
   ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h ../Numeric/GmshMatrix.h \
   ../Common/TreeUtils.h ../Common/avl.h ../Common/ListUtils.h \
   ../Common/MallocUtils.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h
-GSHHS.o: GSHHS.cpp GSHHS.h Plugin.h ../Common/Options.h \
+GSHHS${OBJEXT}: GSHHS.cpp GSHHS.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
@@ -206,18 +206,18 @@ GSHHS.o: GSHHS.cpp GSHHS.h Plugin.h ../Common/Options.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
-Extract.o: Extract.cpp Extract.h Plugin.h ../Common/Options.h \
+Extract${OBJEXT}: Extract.cpp Extract.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h
-ExtractElements.o: ExtractElements.cpp ExtractElements.h Plugin.h \
+ExtractElements${OBJEXT}: ExtractElements.cpp ExtractElements.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Numeric/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-ExtractEdges.o: ExtractEdges.cpp ExtractEdges.h Plugin.h \
+ExtractEdges${OBJEXT}: ExtractEdges.cpp ExtractEdges.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
@@ -228,18 +228,18 @@ ExtractEdges.o: ExtractEdges.cpp ExtractEdges.h Plugin.h \
   ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/SPoint3.h \
   ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/SPoint2.h ../Geo/SVector3.h \
   ../Geo/Pair.h
-MakeSimplex.o: MakeSimplex.cpp MakeSimplex.h Plugin.h ../Common/Options.h \
+MakeSimplex${OBJEXT}: MakeSimplex.cpp MakeSimplex.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h
-Evaluate.o: Evaluate.cpp Evaluate.h Plugin.h ../Common/Options.h \
+Evaluate${OBJEXT}: Evaluate.cpp Evaluate.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Post/OctreePost.h ../Common/Octree.h \
   ../Common/OctreeInternals.h
-FieldView.o: FieldView.cpp FieldView.h Plugin.h ../Common/Options.h \
+FieldView${OBJEXT}: FieldView.cpp FieldView.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
@@ -251,32 +251,32 @@ FieldView.o: FieldView.cpp FieldView.h Plugin.h ../Common/Options.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
-Integrate.o: Integrate.cpp Integrate.h Plugin.h ../Common/Options.h \
+Integrate${OBJEXT}: Integrate.cpp Integrate.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Post/PViewOptions.h \
   ../Post/ColorTable.h
-Gradient.o: Gradient.cpp Gradient.h Plugin.h ../Common/Options.h \
+Gradient${OBJEXT}: Gradient.cpp Gradient.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-Curl.o: Curl.cpp Curl.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \
+Curl${OBJEXT}: Curl.cpp Curl.h Plugin.h ../Common/Options.h ../Post/ColorTable.h \
   ../Common/GmshMessage.h ../Post/PView.h ../Geo/SPoint3.h \
   ../Post/PViewDataList.h ../Post/PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h ../Numeric/GmshMatrix.h \
   ../Post/shapeFunctions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-Divergence.o: Divergence.cpp Divergence.h Plugin.h ../Common/Options.h \
+Divergence${OBJEXT}: Divergence.cpp Divergence.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Post/shapeFunctions.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-Annotate.o: Annotate.cpp Annotate.h Plugin.h ../Common/Options.h \
+Annotate${OBJEXT}: Annotate.cpp Annotate.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
@@ -285,24 +285,24 @@ Annotate.o: Annotate.cpp Annotate.h Plugin.h ../Common/Options.h \
   ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h \
   ../Fltk/Popup_Button.h ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h \
   ../Graphics/Draw.h
-Remove.o: Remove.cpp Remove.h Plugin.h ../Common/Options.h \
+Remove${OBJEXT}: Remove.cpp Remove.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h
-Probe.o: Probe.cpp Probe.h Plugin.h ../Common/Options.h \
+Probe${OBJEXT}: Probe.cpp Probe.h Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h ../Post/OctreePost.h ../Common/Octree.h \
   ../Common/OctreeInternals.h ../Common/GmshUI.h ../Graphics/Draw.h
-HarmonicToTime.o: HarmonicToTime.cpp HarmonicToTime.h Plugin.h \
+HarmonicToTime${OBJEXT}: HarmonicToTime.cpp HarmonicToTime.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h ../Numeric/GmshMatrix.h
-ModulusPhase.o: ModulusPhase.cpp ModulusPhase.h Plugin.h \
+ModulusPhase${OBJEXT}: ModulusPhase.cpp ModulusPhase.h Plugin.h \
   ../Common/Options.h ../Post/ColorTable.h ../Common/GmshMessage.h \
   ../Post/PView.h ../Geo/SPoint3.h ../Post/PViewDataList.h \
   ../Post/PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
diff --git a/Post/Makefile b/Post/Makefile
index 2d6148d13f..9a75cd54ba 100644
--- a/Post/Makefile
+++ b/Post/Makefile
@@ -42,14 +42,14 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM -MG ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-PView.o: PView.cpp PView.h ../Geo/SPoint3.h PViewDataList.h PViewData.h \
+PView${OBJEXT}: PView.cpp PView.h ../Geo/SPoint3.h PViewDataList.h PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   PViewDataGModel.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \
   ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \
@@ -61,7 +61,7 @@ PView.o: PView.cpp PView.h ../Geo/SPoint3.h PViewDataList.h PViewData.h \
   ../Geo/SBoundingBox3d.h PViewOptions.h ColorTable.h \
   ../Common/VertexArray.h ../Common/SmoothData.h adaptiveData.h \
   ../Numeric/GmshMatrix.h ../Common/GmshMessage.h
-PViewIO.o: PViewIO.cpp PView.h ../Geo/SPoint3.h PViewDataList.h \
+PViewIO${OBJEXT}: PViewIO.cpp PView.h ../Geo/SPoint3.h PViewDataList.h \
   PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Common/ListUtils.h PViewDataGModel.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
@@ -72,24 +72,24 @@ PViewIO.o: PViewIO.cpp PView.h ../Geo/SPoint3.h PViewDataList.h \
   ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Common/StringUtils.h \
   ../Common/GmshMessage.h
-PViewData.o: PViewData.cpp PViewData.h ../Geo/SBoundingBox3d.h \
+PViewData${OBJEXT}: PViewData.cpp PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Common/ListUtils.h adaptiveData.h \
   ../Numeric/GmshMatrix.h ../Common/GmshMessage.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-PViewDataIO.o: PViewDataIO.cpp ../Common/GmshMessage.h \
+PViewDataIO${OBJEXT}: PViewDataIO.cpp ../Common/GmshMessage.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h
-PViewDataList.o: PViewDataList.cpp PViewDataList.h PViewData.h \
+PViewDataList${OBJEXT}: PViewDataList.cpp PViewDataList.h PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/SmoothData.h ../Common/GmshMessage.h ../Common/Context.h \
   ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h
-PViewDataListIO.o: PViewDataListIO.cpp PViewDataList.h PViewData.h \
+PViewDataListIO${OBJEXT}: PViewDataListIO.cpp PViewDataList.h PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \
   ../Common/GmshMessage.h ../Common/Context.h ../Geo/CGNSOptions.h \
   ../Mesh/PartitionOptions.h adaptiveData.h ../Numeric/GmshMatrix.h
-PViewDataGModel.o: PViewDataGModel.cpp PViewDataGModel.h PViewData.h \
+PViewDataGModel${OBJEXT}: PViewDataGModel.cpp PViewDataGModel.h PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \
@@ -104,7 +104,7 @@ PViewDataGModel.o: PViewDataGModel.cpp PViewDataGModel.h PViewData.h \
   ../Common/GmshMessage.h ../Numeric/FunctionSpace.h \
   ../Numeric/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h
-PViewDataGModelIO.o: PViewDataGModelIO.cpp ../Common/GmshMessage.h \
+PViewDataGModelIO${OBJEXT}: PViewDataGModelIO.cpp ../Common/GmshMessage.h \
   PViewDataGModel.h PViewData.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \
   ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \
@@ -119,14 +119,14 @@ PViewDataGModelIO.o: PViewDataGModelIO.cpp ../Common/GmshMessage.h \
   ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h ../Numeric/Numeric.h \
   ../Numeric/NumericEmbedded.h ../Common/StringUtils.h
-PViewOptions.o: PViewOptions.cpp PViewOptions.h ColorTable.h \
+PViewOptions${OBJEXT}: PViewOptions.cpp PViewOptions.h ColorTable.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshMessage.h
-adaptiveData.o: adaptiveData.cpp ../Plugin/Plugin.h ../Common/Options.h \
+adaptiveData${OBJEXT}: adaptiveData.cpp ../Plugin/Plugin.h ../Common/Options.h \
   ../Post/ColorTable.h ../Common/GmshMessage.h ../Post/PView.h \
   ../Geo/SPoint3.h ../Post/PViewDataList.h ../Post/PViewData.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/ListUtils.h \
   ../Numeric/GmshMatrix.h adaptiveData.h
-OctreePost.o: OctreePost.cpp ../Common/Octree.h \
+OctreePost${OBJEXT}: OctreePost.cpp ../Common/Octree.h \
   ../Common/OctreeInternals.h OctreePost.h ../Common/ListUtils.h PView.h \
   ../Geo/SPoint3.h PViewDataList.h PViewData.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h PViewDataGModel.h ../Geo/GModel.h ../Geo/GVertex.h \
@@ -142,6 +142,6 @@ OctreePost.o: OctreePost.cpp ../Common/Octree.h \
   ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h \
   ../Geo/SVector3.h ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h \
   ../Numeric/FunctionSpace.h ../Numeric/GmshMatrix.h
-ColorTable.o: ColorTable.cpp ../Common/GmshMessage.h ColorTable.h \
+ColorTable${OBJEXT}: ColorTable.cpp ../Common/GmshMessage.h ColorTable.h \
   ../Common/Context.h ../Geo/CGNSOptions.h ../Mesh/PartitionOptions.h \
   ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h
diff --git a/contrib/ANN/src/Makefile b/contrib/ANN/src/Makefile
index 6e861fd79e..bf2a3f85f8 100644
--- a/contrib/ANN/src/Makefile
+++ b/contrib/ANN/src/Makefile
@@ -45,43 +45,43 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-ANN.o: ANN.cpp ../include/ANN/ANNx.h ../include/ANN/ANN.h \
+ANN${OBJEXT}: ANN.cpp ../include/ANN/ANNx.h ../include/ANN/ANN.h \
   ../include/ANN/ANNperf.h
-bd_fix_rad_search.o: bd_fix_rad_search.cpp bd_tree.h \
+bd_fix_rad_search${OBJEXT}: bd_fix_rad_search.cpp bd_tree.h \
   ../include/ANN/ANNx.h ../include/ANN/ANN.h kd_tree.h \
   kd_fix_rad_search.h kd_util.h pr_queue_k.h ../include/ANN/ANNperf.h
-bd_pr_search.o: bd_pr_search.cpp bd_tree.h ../include/ANN/ANNx.h \
+bd_pr_search${OBJEXT}: bd_pr_search.cpp bd_tree.h ../include/ANN/ANNx.h \
   ../include/ANN/ANN.h kd_tree.h kd_pr_search.h kd_util.h pr_queue.h \
   ../include/ANN/ANNperf.h pr_queue_k.h
-bd_search.o: bd_search.cpp bd_tree.h ../include/ANN/ANNx.h \
+bd_search${OBJEXT}: bd_search.cpp bd_tree.h ../include/ANN/ANNx.h \
   ../include/ANN/ANN.h kd_tree.h kd_search.h kd_util.h pr_queue_k.h \
   ../include/ANN/ANNperf.h
-bd_tree.o: bd_tree.cpp bd_tree.h ../include/ANN/ANNx.h \
+bd_tree${OBJEXT}: bd_tree.cpp bd_tree.h ../include/ANN/ANNx.h \
   ../include/ANN/ANN.h kd_tree.h kd_util.h kd_split.h \
   ../include/ANN/ANNperf.h
-brute.o: brute.cpp ../include/ANN/ANNx.h ../include/ANN/ANN.h \
+brute${OBJEXT}: brute.cpp ../include/ANN/ANNx.h ../include/ANN/ANN.h \
   pr_queue_k.h ../include/ANN/ANNperf.h
-kd_dump.o: kd_dump.cpp kd_tree.h ../include/ANN/ANNx.h \
+kd_dump${OBJEXT}: kd_dump.cpp kd_tree.h ../include/ANN/ANNx.h \
   ../include/ANN/ANN.h bd_tree.h
-kd_fix_rad_search.o: kd_fix_rad_search.cpp kd_fix_rad_search.h kd_tree.h \
+kd_fix_rad_search${OBJEXT}: kd_fix_rad_search.cpp kd_fix_rad_search.h kd_tree.h \
   ../include/ANN/ANNx.h ../include/ANN/ANN.h kd_util.h pr_queue_k.h \
   ../include/ANN/ANNperf.h
-kd_pr_search.o: kd_pr_search.cpp kd_pr_search.h kd_tree.h \
+kd_pr_search${OBJEXT}: kd_pr_search.cpp kd_pr_search.h kd_tree.h \
   ../include/ANN/ANNx.h ../include/ANN/ANN.h kd_util.h pr_queue.h \
   ../include/ANN/ANNperf.h pr_queue_k.h
-kd_search.o: kd_search.cpp kd_search.h kd_tree.h ../include/ANN/ANNx.h \
+kd_search${OBJEXT}: kd_search.cpp kd_search.h kd_tree.h ../include/ANN/ANNx.h \
   ../include/ANN/ANN.h kd_util.h pr_queue_k.h ../include/ANN/ANNperf.h
-kd_split.o: kd_split.cpp kd_tree.h ../include/ANN/ANNx.h \
+kd_split${OBJEXT}: kd_split.cpp kd_tree.h ../include/ANN/ANNx.h \
   ../include/ANN/ANN.h kd_util.h kd_split.h
-kd_tree.o: kd_tree.cpp kd_tree.h ../include/ANN/ANNx.h \
+kd_tree${OBJEXT}: kd_tree.cpp kd_tree.h ../include/ANN/ANNx.h \
   ../include/ANN/ANN.h kd_split.h kd_util.h ../include/ANN/ANNperf.h
-kd_util.o: kd_util.cpp kd_util.h kd_tree.h ../include/ANN/ANNx.h \
+kd_util${OBJEXT}: kd_util.cpp kd_util.h kd_tree.h ../include/ANN/ANNx.h \
   ../include/ANN/ANN.h ../include/ANN/ANNperf.h
-perf.o: perf.cpp ../include/ANN/ANN.h ../include/ANN/ANNperf.h
+perf${OBJEXT}: perf.cpp ../include/ANN/ANN.h ../include/ANN/ANNperf.h
diff --git a/contrib/MathEval/Makefile b/contrib/MathEval/Makefile
index 85ae7ed441..fc07eab9c2 100644
--- a/contrib/MathEval/Makefile
+++ b/contrib/MathEval/Makefile
@@ -42,21 +42,21 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-matheval.o: matheval.cpp common.h ../../Common/MallocUtils.h matheval.h \
+matheval${OBJEXT}: matheval.cpp common.h ../../Common/MallocUtils.h matheval.h \
   node.h symbol_table.h
-node.o: node.cpp common.h ../../Common/MallocUtils.h node.h \
+node${OBJEXT}: node.cpp common.h ../../Common/MallocUtils.h node.h \
   symbol_table.h
-scanner.yy.o: scanner.yy.cpp common.h ../../Common/MallocUtils.h node.h \
+scanner.yy${OBJEXT}: scanner.yy.cpp common.h ../../Common/MallocUtils.h node.h \
   symbol_table.h parser.tab.hpp
-parser.tab.o: parser.tab.cpp common.h ../../Common/MallocUtils.h node.h \
+parser.tab${OBJEXT}: parser.tab.cpp common.h ../../Common/MallocUtils.h node.h \
   symbol_table.h
-symbol_table.o: symbol_table.cpp common.h ../../Common/MallocUtils.h \
+symbol_table${OBJEXT}: symbol_table.cpp common.h ../../Common/MallocUtils.h \
   symbol_table.h xmath.h
-xmath.o: xmath.cpp xmath.h
+xmath${OBJEXT}: xmath.cpp xmath.h
diff --git a/contrib/Metis/Makefile b/contrib/Metis/Makefile
index 714f5eaf4a..0e066e9646 100644
--- a/contrib/Metis/Makefile
+++ b/contrib/Metis/Makefile
@@ -83,72 +83,72 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-balance.o: balance.c metis.h defs.h struct.h macros.h rename.h proto.h
-fm.o: fm.c metis.h defs.h struct.h macros.h rename.h proto.h
-kwayfm.o: kwayfm.c metis.h defs.h struct.h macros.h rename.h proto.h
-mcoarsen.o: mcoarsen.c metis.h defs.h struct.h macros.h rename.h proto.h
-minitpart2.o: minitpart2.c metis.h defs.h struct.h macros.h rename.h \
+balance${OBJEXT}: balance.c metis.h defs.h struct.h macros.h rename.h proto.h
+fm${OBJEXT}: fm.c metis.h defs.h struct.h macros.h rename.h proto.h
+kwayfm${OBJEXT}: kwayfm.c metis.h defs.h struct.h macros.h rename.h proto.h
+mcoarsen${OBJEXT}: mcoarsen.c metis.h defs.h struct.h macros.h rename.h proto.h
+minitpart2${OBJEXT}: minitpart2.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-mpmetis.o: mpmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-pmetis.o: pmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-subdomains.o: subdomains.c metis.h defs.h struct.h macros.h rename.h \
+mpmetis${OBJEXT}: mpmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
+pmetis${OBJEXT}: pmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
+subdomains${OBJEXT}: subdomains.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-bucketsort.o: bucketsort.c metis.h defs.h struct.h macros.h rename.h \
+bucketsort${OBJEXT}: bucketsort.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-fortran.o: fortran.c metis.h defs.h struct.h macros.h rename.h proto.h
-kwayrefine.o: kwayrefine.c metis.h defs.h struct.h macros.h rename.h \
+fortran${OBJEXT}: fortran.c metis.h defs.h struct.h macros.h rename.h proto.h
+kwayrefine${OBJEXT}: kwayrefine.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-memory.o: memory.c metis.h defs.h struct.h macros.h rename.h proto.h
-minitpart.o: minitpart.c metis.h defs.h struct.h macros.h rename.h \
+memory${OBJEXT}: memory.c metis.h defs.h struct.h macros.h rename.h proto.h
+minitpart${OBJEXT}: minitpart.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-mrefine2.o: mrefine2.c metis.h defs.h struct.h macros.h rename.h proto.h
-pqueue.o: pqueue.c metis.h defs.h struct.h macros.h rename.h proto.h
-timing.o: timing.c metis.h defs.h struct.h macros.h rename.h proto.h
-ccgraph.o: ccgraph.c metis.h defs.h struct.h macros.h rename.h proto.h
-frename.o: frename.c metis.h defs.h struct.h macros.h rename.h proto.h
-kwayvolfm.o: kwayvolfm.c metis.h defs.h struct.h macros.h rename.h \
+mrefine2${OBJEXT}: mrefine2.c metis.h defs.h struct.h macros.h rename.h proto.h
+pqueue${OBJEXT}: pqueue.c metis.h defs.h struct.h macros.h rename.h proto.h
+timing${OBJEXT}: timing.c metis.h defs.h struct.h macros.h rename.h proto.h
+ccgraph${OBJEXT}: ccgraph.c metis.h defs.h struct.h macros.h rename.h proto.h
+frename${OBJEXT}: frename.c metis.h defs.h struct.h macros.h rename.h proto.h
+kwayvolfm${OBJEXT}: kwayvolfm.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-mesh.o: mesh.c metis.h defs.h struct.h macros.h rename.h proto.h
-mkmetis.o: mkmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-mrefine.o: mrefine.c metis.h defs.h struct.h macros.h rename.h proto.h
-refine.o: refine.c metis.h defs.h struct.h macros.h rename.h proto.h
-util.o: util.c metis.h defs.h struct.h macros.h rename.h proto.h
-coarsen.o: coarsen.c metis.h defs.h struct.h macros.h rename.h proto.h
-graph.o: graph.c metis.h defs.h struct.h macros.h rename.h proto.h
-kwayvolrefine.o: kwayvolrefine.c metis.h defs.h struct.h macros.h \
+mesh${OBJEXT}: mesh.c metis.h defs.h struct.h macros.h rename.h proto.h
+mkmetis${OBJEXT}: mkmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
+mrefine${OBJEXT}: mrefine.c metis.h defs.h struct.h macros.h rename.h proto.h
+refine${OBJEXT}: refine.c metis.h defs.h struct.h macros.h rename.h proto.h
+util${OBJEXT}: util.c metis.h defs.h struct.h macros.h rename.h proto.h
+coarsen${OBJEXT}: coarsen.c metis.h defs.h struct.h macros.h rename.h proto.h
+graph${OBJEXT}: graph.c metis.h defs.h struct.h macros.h rename.h proto.h
+kwayvolrefine${OBJEXT}: kwayvolrefine.c metis.h defs.h struct.h macros.h \
   rename.h proto.h
-meshpart.o: meshpart.c metis.h defs.h struct.h macros.h rename.h proto.h
-mkwayfmh.o: mkwayfmh.c metis.h defs.h struct.h macros.h rename.h proto.h
-mutil.o: mutil.c metis.h defs.h struct.h macros.h rename.h proto.h
-separator.o: separator.c metis.h defs.h struct.h macros.h rename.h \
+meshpart${OBJEXT}: meshpart.c metis.h defs.h struct.h macros.h rename.h proto.h
+mkwayfmh${OBJEXT}: mkwayfmh.c metis.h defs.h struct.h macros.h rename.h proto.h
+mutil${OBJEXT}: mutil.c metis.h defs.h struct.h macros.h rename.h proto.h
+separator${OBJEXT}: separator.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-compress.o: compress.c metis.h defs.h struct.h macros.h rename.h proto.h
-initpart.o: initpart.c metis.h defs.h struct.h macros.h rename.h proto.h
-match.o: match.c metis.h defs.h struct.h macros.h rename.h proto.h
-mfm2.o: mfm2.c metis.h defs.h struct.h macros.h rename.h proto.h
-mkwayrefine.o: mkwayrefine.c metis.h defs.h struct.h macros.h rename.h \
+compress${OBJEXT}: compress.c metis.h defs.h struct.h macros.h rename.h proto.h
+initpart${OBJEXT}: initpart.c metis.h defs.h struct.h macros.h rename.h proto.h
+match${OBJEXT}: match.c metis.h defs.h struct.h macros.h rename.h proto.h
+mfm2${OBJEXT}: mfm2.c metis.h defs.h struct.h macros.h rename.h proto.h
+mkwayrefine${OBJEXT}: mkwayrefine.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-myqsort.o: myqsort.c metis.h defs.h struct.h macros.h rename.h proto.h
-sfm.o: sfm.c metis.h defs.h struct.h macros.h rename.h proto.h
-debug.o: debug.c metis.h defs.h struct.h macros.h rename.h proto.h
-kmetis.o: kmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-mbalance2.o: mbalance2.c metis.h defs.h struct.h macros.h rename.h \
+myqsort${OBJEXT}: myqsort.c metis.h defs.h struct.h macros.h rename.h proto.h
+sfm${OBJEXT}: sfm.c metis.h defs.h struct.h macros.h rename.h proto.h
+debug${OBJEXT}: debug.c metis.h defs.h struct.h macros.h rename.h proto.h
+kmetis${OBJEXT}: kmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
+mbalance2${OBJEXT}: mbalance2.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-mfm.o: mfm.c metis.h defs.h struct.h macros.h rename.h proto.h
-mmatch.o: mmatch.c metis.h defs.h struct.h macros.h rename.h proto.h
-ometis.o: ometis.c metis.h defs.h struct.h macros.h rename.h proto.h
-srefine.o: srefine.c metis.h defs.h struct.h macros.h rename.h proto.h
-estmem.o: estmem.c metis.h defs.h struct.h macros.h rename.h proto.h
-kvmetis.o: kvmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-mbalance.o: mbalance.c metis.h defs.h struct.h macros.h rename.h proto.h
-mincover.o: mincover.c metis.h defs.h struct.h macros.h rename.h proto.h
-mmd.o: mmd.c metis.h defs.h struct.h macros.h rename.h proto.h
-parmetis.o: parmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-stat.o: stat.c metis.h defs.h struct.h macros.h rename.h proto.h
+mfm${OBJEXT}: mfm.c metis.h defs.h struct.h macros.h rename.h proto.h
+mmatch${OBJEXT}: mmatch.c metis.h defs.h struct.h macros.h rename.h proto.h
+ometis${OBJEXT}: ometis.c metis.h defs.h struct.h macros.h rename.h proto.h
+srefine${OBJEXT}: srefine.c metis.h defs.h struct.h macros.h rename.h proto.h
+estmem${OBJEXT}: estmem.c metis.h defs.h struct.h macros.h rename.h proto.h
+kvmetis${OBJEXT}: kvmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
+mbalance${OBJEXT}: mbalance.c metis.h defs.h struct.h macros.h rename.h proto.h
+mincover${OBJEXT}: mincover.c metis.h defs.h struct.h macros.h rename.h proto.h
+mmd${OBJEXT}: mmd.c metis.h defs.h struct.h macros.h rename.h proto.h
+parmetis${OBJEXT}: parmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
+stat${OBJEXT}: stat.c metis.h defs.h struct.h macros.h rename.h proto.h
diff --git a/contrib/NR/Makefile b/contrib/NR/Makefile
index 5438a4f1fd..a56f425626 100644
--- a/contrib/NR/Makefile
+++ b/contrib/NR/Makefile
@@ -42,20 +42,20 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-brent.o: brent.cpp nrutil.h
-dpythag.o: dpythag.cpp nrutil.h
-dsvdcmp.o: dsvdcmp.cpp nrutil.h
-fdjac.o: fdjac.cpp nrutil.h
-fmin.o: fmin.cpp nrutil.h
-lnsrch.o: lnsrch.cpp nrutil.h
-lubksb.o: lubksb.cpp
-ludcmp.o: ludcmp.cpp nrutil.h
-newt.o: newt.cpp nrutil.h
-nrutil.o: nrutil.cpp ../../Common/GmshMessage.h
+brent${OBJEXT}: brent.cpp nrutil.h
+dpythag${OBJEXT}: dpythag.cpp nrutil.h
+dsvdcmp${OBJEXT}: dsvdcmp.cpp nrutil.h
+fdjac${OBJEXT}: fdjac.cpp nrutil.h
+fmin${OBJEXT}: fmin.cpp nrutil.h
+lnsrch${OBJEXT}: lnsrch.cpp nrutil.h
+lubksb${OBJEXT}: lubksb.cpp
+ludcmp${OBJEXT}: ludcmp.cpp nrutil.h
+newt${OBJEXT}: newt.cpp nrutil.h
+nrutil${OBJEXT}: nrutil.cpp ../../Common/GmshMessage.h
diff --git a/contrib/NativeFileChooser/Makefile b/contrib/NativeFileChooser/Makefile
index fe8d7f1eab..84017879b7 100644
--- a/contrib/NativeFileChooser/Makefile
+++ b/contrib/NativeFileChooser/Makefile
@@ -31,13 +31,13 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-Fl_Native_File_Chooser.o: Fl_Native_File_Chooser.cxx \
+Fl_Native_File_Chooser${OBJEXT}: Fl_Native_File_Chooser.cxx \
   Fl_Native_File_Chooser_MAC.cxx common.cxx FL/Fl_Native_File_Chooser.H \
   FL/Fl_Native_File_Chooser_MAC.H
diff --git a/contrib/Netgen/Makefile b/contrib/Netgen/Makefile
index 6cfe65819a..3d3fe7cf2b 100644
--- a/contrib/Netgen/Makefile
+++ b/contrib/Netgen/Makefile
@@ -52,4 +52,4 @@ depend:
 	true
 
 # DO NOT DELETE THIS LINE
-nglib_addon.o: ../../Common/GmshMessage.h
+nglib_addon${OBJEXT}: ../../Common/GmshMessage.h
diff --git a/contrib/Tetgen/Makefile b/contrib/Tetgen/Makefile
index b30e6f399a..7766c928bf 100644
--- a/contrib/Tetgen/Makefile
+++ b/contrib/Tetgen/Makefile
@@ -30,12 +30,12 @@ clean:
 
 depend:
 	(sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
-	${CXX} -MM ${CFLAGS} ${SRC} \
-	) >Makefile.new
+         ${CXX} -MM ${CFLAGS} ${SRC} | sed 's/.o:/$${OBJEXT}:/g' \
+        ) > Makefile.new
 	cp Makefile Makefile.bak
 	cp Makefile.new Makefile
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-predicates.o: predicates.cxx tetgen.h
-tetgen.o: tetgen.cxx tetgen.h
+predicates${OBJEXT}: predicates.cxx tetgen.h
+tetgen${OBJEXT}: tetgen.cxx tetgen.h
-- 
GitLab