diff --git a/Misc/gMakefile b/Misc/gMakefile
deleted file mode 100644
index 4e5137a..0000000
--- a/Misc/gMakefile
+++ /dev/null
@@ -1,83 +0,0 @@
-# Generic Makefile for dynamically linked extension modules.
-#
-# Jim Fulton, Digital Creations, jim@digicool.com
-
-
-# Uncomment and modify these lines if you want to fix the location of
-# the PYTHON installation and the python version.  Otherwise, set the
-# environment variables before using this Makefile.
-
-# PYTHONHOME=		/usr/local/
-# PYTHONVERSION=	1.4
-
-# The following lines should be left as is:
-VERSION=	$(PYTHONVERSION)
-pyinstalldir=	$(PYTHONHOME)
-installdir=	$(PYTHONHOME)
-exec_installdir=$(pyinstalldir)
-INCLUDEPY=	$(pyinstalldir)/include/python$(VERSION)
-LIBP=		$(exec_installdir)/lib/python$(VERSION)
-LIBPL=		$(LIBP)/config
-PYMAKE=		make -f $(LIBPL)/Makefile
-
-# LIBSO is the location of platform-dependent dynamically linked 
-# extension libraries.  This can be handy when you need to build 
-# shared libraries that are not extensions but want to store them
-# with other extensions and need to know where they are.
-# Leave this line as it is.
-LIBSO=		`$(PYMAKE) -s echodestshared`
-
-# Put your module name here:
-MODULE=your-module
-
-# Put the object files for your module here:
-OBS=$(MODULE).o
-
-# Put extra linker options, such as libraries here:
-EXTRALD=
-
-# Put Extra compiler options, such as extra -I options, here
-CFLAGS=-O
-
-# If you have any Python modules, include them here, so that they
-# can get installed.
-PYMODULES=
-
-build:
-	if [ "$(MODULE)" != your-module ]; then \
-	  $(PYMAKE) INCLDIR=$(INCLUDEPY) CONFIGINCLDIR=$(LIBPL) \
-		ASHAREDMODULE=$(MODULE) \
-		'ASHAREDMODULESOBS=$(OBS)' \
-		'ASHAREDMODULESEXTRA=$(EXTRALD)' \
-		'OPT=$(CFLAGS)' \
-		asharedmodule; \
-	fi
-
-# Normally we don't install .py files:
-install: installso installpyc
-
-# But sometimes we may want to:
-installpy: install
-	for m in $(PYMODULES) the-end; do \
-	  if [ "$$m" != the-end ]; then \
-	    cp $$m.py $(installdir)/lib/python$(VERSION)/; \
-	  fi; \
-	done
-
-
-installso: build
-	if [ "$(MODULE)" != your-module ]; then \
-	  $(PYMAKE) exec_prefix=$(installdir) \
-		ASHAREDMODULE=$(MODULE) asharedinstall; \
-	fi
-
-installpyc:
-	for m in $(PYMODULES) the-end; do \
-	  if [ "$$m" != the-end ]; then \
-	    python -c "import $$m"; \
-	    cp $$m.pyc $(installdir)/lib/python$(VERSION)/; \
-	  fi; \
-	done
-
-clean::
-	-rm -f *.o *.so *~ *# so_locations
