summaryrefslogtreecommitdiff
path: root/contrib/pgbench/Makefile
diff options
context:
space:
mode:
authorRobert Haas2015-03-02 19:21:41 +0000
committerRobert Haas2015-03-02 19:21:41 +0000
commit878fdcb843e087cc1cdeadc987d6ef55202ddd04 (patch)
tree46cea8fefefd5d302aef823683372f7cf6b0fd80 /contrib/pgbench/Makefile
parentebd092bc2a07787b31b249d62033b9c8140a5d85 (diff)
pgbench: Add a real expression syntax to \set
Previously, you could do \set variable operand1 operator operand2, but nothing more complicated. Now, you can \set variable expression, which makes it much simpler to do multi-step calculations here. This also adds support for the modulo operator (%), with the same semantics as in C. Robert Haas and Fabien Coelho, reviewed by Álvaro Herrera and Stephen Frost
Diffstat (limited to 'contrib/pgbench/Makefile')
-rw-r--r--contrib/pgbench/Makefile17
1 files changed, 16 insertions, 1 deletions
diff --git a/contrib/pgbench/Makefile b/contrib/pgbench/Makefile
index b8e2fc841ec..6d132228dd7 100644
--- a/contrib/pgbench/Makefile
+++ b/contrib/pgbench/Makefile
@@ -4,7 +4,9 @@ PGFILEDESC = "pgbench - a simple program for running benchmark tests"
PGAPPICON = win32
PROGRAM = pgbench
-OBJS = pgbench.o $(WIN32RES)
+OBJS = pgbench.o exprparse.o $(WIN32RES)
+
+EXTRA_CLEAN = exprparse.c exprscan.c
PG_CPPFLAGS = -I$(libpq_srcdir)
PG_LIBS = $(libpq_pgport) $(PTHREAD_LIBS)
@@ -18,8 +20,21 @@ subdir = contrib/pgbench
top_builddir = ../..
include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
+
+distprep: exprparse.c exprscan.c
endif
ifneq ($(PORTNAME), win32)
override CFLAGS += $(PTHREAD_CFLAGS)
endif
+
+# There is no correct way to write a rule that generates two files.
+# Rules with two targets don't have that meaning, they are merely
+# shorthand for two otherwise separate rules. To be safe for parallel
+# make, we must chain the dependencies like this. The semicolon is
+# important; otherwise, make will choose the built-in rule.
+
+exprparse.h: exprparse.c ;
+
+# exprscan is compiled as part of exprparse
+exprparse.o: exprscan.c