diff --git a/src/backend/utils/Makefile b/src/backend/utils/Makefile
index fcd8138f3e..c855042100 100644
--- a/src/backend/utils/Makefile
+++ b/src/backend/utils/Makefile
@@ -27,7 +27,7 @@ fmgrtab.c: Gen_fmgrtab.pl $(catalogdir)/Catalog.pm $(top_srcdir)/src/include/cat
 	$(PERL) -I $(catalogdir) $< $(top_srcdir)/src/include/catalog/pg_proc.h
 
 errcodes.h: $(top_srcdir)/src/backend/utils/errcodes.txt generate-errcodes.pl
-	$(PERL) generate-errcodes.pl $< > $@
+	$(PERL) $(srcdir)/generate-errcodes.pl $< > $@
 
 ifneq ($(enable_dtrace), yes)
 probes.h: Gen_dummy_probes.sed
diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile
index 2abe63b3ad..a5f161dc62 100644
--- a/src/pl/plpgsql/src/Makefile
+++ b/src/pl/plpgsql/src/Makefile
@@ -48,7 +48,7 @@ endif
 
 # generate plerrcodes.h from src/backend/utils/errcodes.txt
 plerrcodes.h: $(top_srcdir)/src/backend/utils/errcodes.txt generate-plerrcodes.pl
-	$(PERL) generate-plerrcodes.pl $< > $@
+	$(PERL) $(srcdir)/generate-plerrcodes.pl $< > $@
 
 distprep: pl_gram.h pl_gram.c plerrcodes.h