From 69e9768e7b183d4b276d0e067a5a0000689580eb Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 2 Feb 2012 20:24:38 +0200 Subject: [PATCH] ecpg: Improve test building Further improve on commit c75e1436467f32a06b5ab9d594d2a390e7f4594d. Instead of building both .o files and binaries in the same make rule, just rely on the normal .c -> .o rule. This will ensure that dependency tracking is used when enabled. To do this, disable the implicit direct .c -> binary rule globally, which will also prevent the original problem (*.dSYM junk) from reappearing elsewhere. --- src/Makefile.global.in | 6 ++++++ src/interfaces/ecpg/test/Makefile.regress | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 3bf658d6b0..26b2d5e4a9 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -515,6 +515,12 @@ TAS = @TAS@ %.bz2: % $(BZIP2) -c $< >$@ +# Direct builds of foo.c -> foo are disabled to avoid generating +# *.dSYM junk on Macs. All builds should normally go through the +# foo.c -> foo.o -> foo steps. This also ensures that dependency +# tracking (see below) is used. +%: %.c + ifndef PGXS # Remake Makefile.global from Makefile.global.in if the latter diff --git a/src/interfaces/ecpg/test/Makefile.regress b/src/interfaces/ecpg/test/Makefile.regress index b2417081ee..edfece07df 100644 --- a/src/interfaces/ecpg/test/Makefile.regress +++ b/src/interfaces/ecpg/test/Makefile.regress @@ -7,9 +7,8 @@ override LIBS := -lecpg -lpgtypes $(filter -l%, $(libpq)) $(LIBS) $(PTHREAD_LIBS ECPG = ../../preproc/ecpg --regression -I$(srcdir)/../../include -%: %.c - $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $*.o - $(CC) $(CPPFLAGS) $(CFLAGS) $*.o $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@ +%: %.o + $(CC) $(CFLAGS) $< $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@ %.c: %.pgc ../regression.h $(ECPG) -o $@ -I$(srcdir) $<