diff options
Diffstat (limited to 'src/backend/parser/Makefile')
-rw-r--r-- | src/backend/parser/Makefile | 70 |
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 |