diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile
index 6579be148c1b6d16fcd0c894c904007a85afbac7..5e5c9bb74eed097f14a81d58e2abfff882f6dc0f 100644
--- a/src/test/isolation/Makefile
+++ b/src/test/isolation/Makefile
@@ -13,19 +13,19 @@ override CPPFLAGS := -I$(srcdir) -I$(libpq_srcdir) -I$(srcdir)/../regress $(CPPF
 
 OBJS =  specparse.o isolationtester.o
 
+all: isolationtester$(X) pg_isolation_regress$(X)
+
 submake-regress:
 	$(MAKE) -C $(top_builddir)/src/test/regress pg_regress.o
 
 pg_regress.o: | submake-regress
 	rm -f $@ && $(LN_S) $(top_builddir)/src/test/regress/pg_regress.o .
 
-pg_isolation_regress: isolation_main.o pg_regress.o
-	$(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X)
-
-all: isolationtester pg_isolation_regress
+pg_isolation_regress$(X): isolation_main.o pg_regress.o
+	$(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@
 
-isolationtester: $(OBJS) | submake-libpq submake-libpgport
-	$(CC) $(CFLAGS) $^ $(libpq_pgport) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X)
+isolationtester$(X): $(OBJS) | submake-libpq submake-libpgport
+	$(CC) $(CFLAGS) $^ $(libpq_pgport) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@
 
 distprep: specparse.c specscanner.c
 
@@ -36,8 +36,6 @@ distprep: specparse.c specscanner.c
 # important, otherwise make will choose the built-in rule for
 # gram.y=>gram.c.
 
-all: isolationtester$(X) pg_isolation_regress$(X)
-
 specparse.h: specparse.c ;
 
 # specscanner is compiled as part of specparse