mirror of
https://github.com/postgres/postgres.git
synced 2026-04-26 08:37:12 -04:00
Cygwin builds require this of dependencies pertaining to pattern rules.
On Cygwin, stat("foo") in the absence of a file with that exact name can
locate foo.exe. While GNU make uses stat() for dependencies of ordinary
rules, it uses readdir() to assess dependencies of pattern rules.
Therefore, a pattern rule dependency should match any underlying file
name exactly. Back-patch to 9.4, where the dependency was introduced.
32 lines
1.2 KiB
Makefile
32 lines
1.2 KiB
Makefile
# This file is included into the Makefiles of subdirectories of ecpg/test/,
|
|
# so the file references have one more level of .. than you might expect.
|
|
|
|
override CPPFLAGS := -I../../include -I$(top_srcdir)/src/interfaces/ecpg/include \
|
|
-I$(libpq_srcdir) $(CPPFLAGS)
|
|
override CFLAGS += $(PTHREAD_CFLAGS)
|
|
|
|
override LDFLAGS := -L../../ecpglib -L../../pgtypeslib $(filter-out -l%, $(libpq)) $(LDFLAGS)
|
|
override LIBS := -lecpg -lpgtypes $(filter -l%, $(libpq)) $(LIBS) $(PTHREAD_LIBS)
|
|
|
|
# Standard way to invoke the ecpg preprocessor
|
|
ECPG = ../../preproc/ecpg --regression -I$(srcdir)/../../include -I$(srcdir)
|
|
|
|
# Files that most or all ecpg preprocessor test outputs depend on
|
|
ECPG_TEST_DEPENDENCIES = ../../preproc/ecpg$(X) \
|
|
$(srcdir)/../regression.h \
|
|
$(srcdir)/../../include/sqlca.h \
|
|
$(srcdir)/../../include/sqlda.h \
|
|
$(srcdir)/../../include/sqltypes.h \
|
|
$(srcdir)/../../include/sql3types.h
|
|
|
|
%: %.o
|
|
$(CC) $(CFLAGS) $< $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@
|
|
|
|
# Caution: this build rule is overridden in some child Makefiles
|
|
# where it's necessary to use nondefault switches to ecpg;
|
|
# make sure those rules match except for the extra switches.
|
|
%.c: %.pgc $(ECPG_TEST_DEPENDENCIES)
|
|
$(ECPG) -o $@ $<
|
|
|
|
clean:
|
|
rm -f $(TESTS) $(TESTS:%=%.o) $(TESTS:%=%.c)
|