Fix up problems when compiling in a directory other than the source
directory.
diff --git a/Grammar/Makefile b/Grammar/Makefile
deleted file mode 100644
index a490284..0000000
--- a/Grammar/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-TOP=		..
-PGENDIR=	$(TOP)/Parser
-PGEN=		$(PGENDIR)/pgen
-DESTH=		$(TOP)/Include/graminit.h
-DESTC=		$(TOP)/Python/graminit.c
-
-all:		install
-
-# This target is used by the master Makefile to add the objects to the library
-add2lib:
-
-install:	$(DESTH) $(DESTC)
-
-depend:
-
-$(DESTH):	graminit.h
-		cp graminit.h $(DESTH)
-
-$(DESTC):	graminit.c
-		cp graminit.c $(DESTC)
-
-graminit.c graminit.h: $(PGEN) Grammar
-		$(PGEN) Grammar
-
-$(PGEN):
-		cd $(PGENDIR); make pgen
-
-clean:
-		-rm -f *.o core *~ [@,#]* *.old *.orig *.rej
-		-rm -f graminit.[ch]
-
-clobber:	clean
-		-rm -f tags TAGS
diff --git a/Grammar/Makefile.in b/Grammar/Makefile.in
new file mode 100644
index 0000000..8121409
--- /dev/null
+++ b/Grammar/Makefile.in
@@ -0,0 +1,54 @@
+# NOTE: Makefile.in is converted into Makefile by the configure script
+# in the parent directory.  Once configure has run, you can recreate
+# the Makefile by running just config.status.
+
+# === Variables set by config.stat ===
+
+VERSION=	@VERSION@
+
+srcdir=		@srcdir@
+VPATH=		@srcdir@
+
+CC=		@CC@
+RANLIB=		@RANLIB@
+AR=		@AR@
+
+DEFS=		@DEFS@
+LIBS=		@LIBS@
+
+
+# === Fixed definitions ===
+
+TOP=		..
+PGENDIR=	$(TOP)/Parser
+PGEN=		$(PGENDIR)/pgen
+DESTH=		$(srcdir)/$(TOP)/Include/graminit.h
+DESTC=		$(srcdir)/$(TOP)/Python/graminit.c
+
+all:		install
+
+# This target is used by the master Makefile to add the objects to the library
+add2lib:
+
+install:	$(DESTH) $(DESTC)
+
+depend:
+
+$(DESTH):	graminit.h
+		cp graminit.h $(DESTH)
+
+$(DESTC):	graminit.c
+		cp graminit.c $(DESTC)
+
+graminit.c graminit.h: $(PGEN) Grammar
+		$(PGEN) $(srcdir)/Grammar
+
+$(PGEN):
+		cd $(PGENDIR); $(MAKE) pgen
+
+clean:
+		-rm -f *.o core *~ [@,#]* *.old *.orig *.rej
+		-rm -f graminit.[ch]
+
+clobber:	clean
+		-rm -f tags TAGS
diff --git a/Makefile.in b/Makefile.in
index d4a063e..88f4efe 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -196,8 +196,7 @@
 $(SUBDIRS):	Makefiles
 
 Grammar:
-		P=`pwd`/Parser; cd $(srcdir)/Grammar; $(MAKE) PGENDIR=$$P \
-			OPT="$(OPT)" VERSION="$(VERSION)" \
+		cd Grammar ; $(MAKE) OPT="$(OPT)" VERSION="$(VERSION)" \
 			prefix="$(prefix)" exec_prefix="$(exec_prefix)" all
 
 Parser:
diff --git a/configure.in b/configure.in
index b05ce4b..aeb3223 100644
--- a/configure.in
+++ b/configure.in
@@ -1167,6 +1167,7 @@
 AC_OUTPUT(Makefile \
  Objects/Makefile \
  Parser/Makefile \
+ Grammar/Makefile \
  Python/Makefile \
  Modules/Makefile.pre \
  Modules/Setup.config)