diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 8bfb77d..d0928d5 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -26,6 +26,7 @@ standard_always_targets = distprep clean distclean maintainer-clean
 
 # make `all' the default target
 all:
+	@true
 
 # Delete target files if the command fails after it has
 # started to update the file.
diff --git a/src/backend/Makefile b/src/backend/Makefile
index 318cdbc..cbc6d55 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -124,6 +124,7 @@ submake-schemapg:
 
 # src/port needs a convenient way to force errcodes.h to get built
 submake-errcodes: $(top_builddir)/src/include/utils/errcodes.h
+	@true
 
 .PHONY: submake-schemapg submake-errcodes
 
diff --git a/src/backend/catalog/Makefile b/src/backend/catalog/Makefile
index c4d3f3c..ee8fbcc 100644
--- a/src/backend/catalog/Makefile
+++ b/src/backend/catalog/Makefile
@@ -55,7 +55,9 @@ postgres.description: postgres.bki ;
 
 postgres.shdescription: postgres.bki ;
 
+.PHONY: schemapg.h
 schemapg.h: postgres.bki ;
+	@true
 
 # Technically, this should depend on Makefile.global, but then
 # postgres.bki would need to be rebuilt after every configure run,
