mirror of
https://github.com/postgres/postgres.git
synced 2026-10-23 13:29:09 +03:00
source directory even for out-of-tree builds. They are now alsl built in the build tree. This should be more convenient for certain developers' workflows, and shouldn't really break anything else.
64 lines
1.6 KiB
Makefile
64 lines
1.6 KiB
Makefile
#-------------------------------------------------------------------------
|
|
#
|
|
# Makefile for parser
|
|
#
|
|
# $PostgreSQL: pgsql/src/backend/parser/Makefile,v 1.51 2009/08/28 20:26:19 petere Exp $
|
|
#
|
|
#-------------------------------------------------------------------------
|
|
|
|
subdir = src/backend/parser
|
|
top_builddir = ../../..
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
override CPPFLAGS := -I$(srcdir) $(CPPFLAGS)
|
|
|
|
OBJS= analyze.o gram.o keywords.o parser.o parse_agg.o parse_cte.o parse_clause.o \
|
|
parse_expr.o parse_func.o parse_node.o parse_oper.o parse_relation.o \
|
|
parse_type.o parse_coerce.o parse_target.o parse_utilcmd.o scansup.o kwlookup.o
|
|
|
|
FLEXFLAGS = -CF
|
|
|
|
include $(top_srcdir)/src/backend/common.mk
|
|
|
|
|
|
# scan is compiled as part of gram
|
|
gram.o: scan.c
|
|
|
|
# Latest flex causes warnings in this file.
|
|
ifeq ($(GCC),yes)
|
|
gram.o: CFLAGS += -Wno-error
|
|
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 for
|
|
# gram.y=>gram.c.
|
|
|
|
gram.h: gram.c ;
|
|
|
|
gram.c: gram.y
|
|
ifdef BISON
|
|
$(BISON) -d $(BISONFLAGS) -o $@ $<
|
|
else
|
|
@$(missing) bison $< $@
|
|
endif
|
|
|
|
|
|
scan.c: scan.l
|
|
ifdef FLEX
|
|
$(FLEX) $(FLEXFLAGS) -o'$@' $<
|
|
else
|
|
@$(missing) flex $< $@
|
|
endif
|
|
|
|
|
|
# Force these dependencies to be known even without dependency info built:
|
|
gram.o keywords.o parser.o: gram.h
|
|
|
|
|
|
# gram.c, gram.h, and scan.c are in the distribution tarball, so they
|
|
# are not cleaned here.
|