summaryrefslogtreecommitdiffstats
path: root/src/backend/parser/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/parser/Makefile')
-rw-r--r--src/backend/parser/Makefile70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/backend/parser/Makefile b/src/backend/parser/Makefile
new file mode 100644
index 0000000..5ddb9a9
--- /dev/null
+++ b/src/backend/parser/Makefile
@@ -0,0 +1,70 @@
+#-------------------------------------------------------------------------
+#
+# Makefile for parser
+#
+# src/backend/parser/Makefile
+#
+#-------------------------------------------------------------------------
+
+subdir = src/backend/parser
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
+
+override CPPFLAGS := -I. -I$(srcdir) $(CPPFLAGS)
+
+OBJS = \
+ analyze.o \
+ gram.o \
+ parse_agg.o \
+ parse_clause.o \
+ parse_coerce.o \
+ parse_collate.o \
+ parse_cte.o \
+ parse_enr.o \
+ parse_expr.o \
+ parse_func.o \
+ parse_node.o \
+ parse_oper.o \
+ parse_param.o \
+ parse_relation.o \
+ parse_target.o \
+ parse_type.o \
+ parse_utilcmd.o \
+ parser.o \
+ scan.o \
+ scansup.o
+
+include $(top_srcdir)/src/backend/common.mk
+
+
+# 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. If we have an action
+# that in fact generates two or more files, we must choose one of them
+# as primary and show it as the action's output, then make all of the
+# other output files dependent on the primary, like this. Furthermore,
+# the "touch" action is essential, because it ensures that gram.h is
+# marked as newer than (or at least no older than) gram.c. Without that,
+# make is likely to try to rebuild gram.h in subsequent runs, which causes
+# failures in VPATH builds from tarballs.
+
+gram.h: gram.c
+ touch $@
+
+gram.c: BISONFLAGS += -d
+gram.c: BISON_CHECK_CMD = $(PERL) $(srcdir)/check_keywords.pl $< $(top_srcdir)/src/include/parser/kwlist.h
+
+
+scan.c: FLEXFLAGS = -CF -p -p
+scan.c: FLEX_NO_BACKUP=yes
+scan.c: FLEX_FIX_WARNING=yes
+
+
+# Force these dependencies to be known even without dependency info built:
+gram.o scan.o parser.o: gram.h
+
+
+# gram.c, gram.h, and scan.c are in the distribution tarball, so they
+# are not cleaned here.
+clean distclean maintainer-clean:
+ rm -f lex.backup