postgresql/src/backend/parser/Makefile

62 lines
1.8 KiB
Makefile
Raw Normal View History

#-------------------------------------------------------------------------
#
# Makefile--
# Makefile for parser
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/backend/parser/Makefile,v 1.26 2000/06/07 16:26:41 petere Exp $
#
#-------------------------------------------------------------------------
SRCDIR= ../..
include ../../Makefile.global
1997-04-18 10:57:39 +02:00
ifeq ($(CC), gcc)
CFLAGS+= -Wno-error
endif
OBJS= analyze.o gram.o keywords.o parser.o parse_agg.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 scan.o scansup.o
all: SUBSYS.o
SUBSYS.o: $(OBJS)
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
gram.c parse.h: gram.y
$(YACC) -d $(YFLAGS) $<
mv y.tab.c gram.c
mv y.tab.h parse.h
scan.c: scan.l
$(LEX) $(LFLAGS) $<
mv lex.yy.c scan.c
# The following dependencies on parse.h are computed by
# make depend, but we state them here explicitly anyway because
# parse.h doesn't even exist at first and if user fails to
# do make depend, we still want the build to succeed.
analyze.o keywords.o scan.o: parse.h
# This is unusual: We actually have to build some of the parts before
# we know what the header file dependencies are.
dep depend: gram.c scan.c
$(CC) -MM $(CFLAGS) *.c >depend
# Remove scan.c from the clean since we want to avoid rebuilding when using
# the original source distribution. This should help Solaris machines whose
# lex has trouble with exclusive states.
# Remove gram.c, parse.h from the clean since we have now started to exceed
# internal limits for some non-bison yaccs. - thomas 1998-02-17
clean:
rm -f SUBSYS.o $(OBJS) # gram.c parse.h # scan.c
# And the garbage that might have been left behind by partial build:
rm -f y.tab.c y.tab.h lex.yy.c
ifeq (depend,$(wildcard depend))
include depend
endif