diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.global.in | 16 | ||||
-rw-r--r-- | src/backend/bootstrap/Makefile | 16 | ||||
-rw-r--r-- | src/backend/parser/Makefile | 20 | ||||
-rw-r--r-- | src/backend/replication/Makefile | 14 | ||||
-rw-r--r-- | src/backend/utils/misc/Makefile | 7 | ||||
-rw-r--r-- | src/bin/psql/Makefile | 11 | ||||
-rw-r--r-- | src/interfaces/ecpg/preproc/Makefile | 15 | ||||
-rw-r--r-- | src/pl/plpgsql/src/Makefile | 9 | ||||
-rw-r--r-- | src/test/isolation/Makefile | 14 |
9 files changed, 24 insertions, 98 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 000bfd772ab..fbaaaf995bf 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -500,6 +500,22 @@ TAS = @TAS@ # # Global targets and rules +%.c: %.l +ifdef FLEX + $(FLEX) $(if $(FLEX_NO_BACKUP),-b) $(FLEXFLAGS) -o'$@' $< + @$(if $(FLEX_NO_BACKUP),if [ `wc -l <lex.backup` -eq 1 ]; then rm lex.backup; else echo "Scanner requires backup; see lex.backup." 1>&2; exit 1; fi) +else + @$(missing) flex $< '$@' +endif + +%.c: %.y + $(if $(BISON_CHECK_CMD),$(BISON_CHECK_CMD)) +ifdef BISON + $(BISON) $(BISONFLAGS) -o $@ $< +else + @$(missing) bison $< $@ +endif + %.i: %.c $(CPP) $(CPPFLAGS) -o $@ $< diff --git a/src/backend/bootstrap/Makefile b/src/backend/bootstrap/Makefile index a77d8648008..672bc8b6d7b 100644 --- a/src/backend/bootstrap/Makefile +++ b/src/backend/bootstrap/Makefile @@ -16,24 +16,8 @@ OBJS= bootparse.o bootstrap.o include $(top_srcdir)/src/backend/common.mk - # bootscanner is compiled as part of bootparse bootparse.o: bootscanner.c -bootparse.c: bootparse.y -ifdef BISON - $(BISON) $(BISONFLAGS) -o $@ $< -else - @$(missing) bison $< $@ -endif - -bootscanner.c: bootscanner.l -ifdef FLEX - $(FLEX) $(FLEXFLAGS) -o'$@' $< -else - @$(missing) flex $< $@ -endif - - # bootparse.c and bootscanner.c are in the distribution tarball, so # they are not cleaned here. diff --git a/src/backend/parser/Makefile b/src/backend/parser/Makefile index 1f48e16a76a..0395bd5934a 100644 --- a/src/backend/parser/Makefile +++ b/src/backend/parser/Makefile @@ -17,8 +17,6 @@ OBJS= analyze.o gram.o keywords.o kwlookup.o parser.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 scansup.o -FLEXFLAGS = -CF -b -p -p - include $(top_srcdir)/src/backend/common.mk @@ -40,22 +38,12 @@ endif gram.h: gram.c ; -gram.c: gram.y - $(PERL) $(srcdir)/check_keywords.pl $< $(top_srcdir)/src/include/parser/kwlist.h -ifdef BISON - $(BISON) -d $(BISONFLAGS) -o $@ $< -else - @$(missing) bison $< $@ -endif +gram.c: BISONFLAGS += -d +gram.c: BISON_CHECK_CMD = $(PERL) $(srcdir)/check_keywords.pl $< $(top_srcdir)/src/include/parser/kwlist.h -scan.c: scan.l -ifdef FLEX - $(FLEX) $(FLEXFLAGS) -o'$@' $< - @if [ `wc -l <lex.backup` -eq 1 ]; then rm lex.backup; else echo "Scanner requires backup, see lex.backup."; exit 1; fi -else - @$(missing) flex $< $@ -endif +scan.c: FLEXFLAGS = -CF -p -p +scan.c: FLEX_NO_BACKUP=yes # Force these dependencies to be known even without dependency info built: diff --git a/src/backend/replication/Makefile b/src/backend/replication/Makefile index 1f93ac1e5d1..2dde0118a47 100644 --- a/src/backend/replication/Makefile +++ b/src/backend/replication/Makefile @@ -22,19 +22,5 @@ include $(top_srcdir)/src/backend/common.mk # repl_scanner is compiled as part of repl_gram repl_gram.o: repl_scanner.c -repl_gram.c: repl_gram.y -ifdef BISON - $(BISON) $(BISONFLAGS) -o $@ $< -else - @$(missing) bison $< $@ -endif - -repl_scanner.c: repl_scanner.l -ifdef FLEX - $(FLEX) $(FLEXFLAGS) -o'$@' $< -else - @$(missing) flex $< $@ -endif - # repl_gram.c and repl_scanner.c are in the distribution tarball, so # they are not cleaned here. diff --git a/src/backend/utils/misc/Makefile b/src/backend/utils/misc/Makefile index 08be3bd699d..c7b745e5131 100644 --- a/src/backend/utils/misc/Makefile +++ b/src/backend/utils/misc/Makefile @@ -28,13 +28,6 @@ include $(top_srcdir)/src/backend/common.mk # guc-file is compiled as part of guc guc.o: guc-file.c -guc-file.c: guc-file.l -ifdef FLEX - $(FLEX) $(FLEXFLAGS) -o'$@' $< -else - @$(missing) flex $< $@ -endif - # Note: guc-file.c is not deleted by 'make clean', # since we want to ship it in distribution tarballs. clean: diff --git a/src/bin/psql/Makefile b/src/bin/psql/Makefile index 771fd712e46..9a6776ae83a 100644 --- a/src/bin/psql/Makefile +++ b/src/bin/psql/Makefile @@ -26,8 +26,6 @@ OBJS= command.o common.o help.o input.o stringutils.o mainloop.o copy.o \ sql_help.o \ $(WIN32RES) -FLEXFLAGS = -Cfe -b -p -p - all: psql @@ -49,13 +47,8 @@ sql_help.h: create_help.pl $(wildcard $(REFDOCDIR)/*.sgml) # psqlscan is compiled as part of mainloop mainloop.o: psqlscan.c -psqlscan.c: psqlscan.l -ifdef FLEX - $(FLEX) $(FLEXFLAGS) -o'$@' $< - @if [ `wc -l <lex.backup` -eq 1 ]; then rm lex.backup; else echo "Scanner requires backup, see lex.backup."; exit 1; fi -else - @$(missing) flex $< $@ -endif +psqlscan.c: FLEXFLAGS = -Cfe -p -p +psqlscan.c: FLEX_NO_BACKUP=yes distprep: sql_help.h psqlscan.c diff --git a/src/interfaces/ecpg/preproc/Makefile b/src/interfaces/ecpg/preproc/Makefile index dec425e553d..6e117d49c76 100644 --- a/src/interfaces/ecpg/preproc/Makefile +++ b/src/interfaces/ecpg/preproc/Makefile @@ -42,20 +42,7 @@ ecpg: $(OBJS) | submake-libpgport preproc.o: pgc.c preproc.h: preproc.c ; - -preproc.c: preproc.y -ifdef BISON - $(BISON) -d $(BISONFLAGS) -o $@ $< -else - @$(missing) bison $< $@ -endif - -pgc.c: pgc.l -ifdef FLEX - $(FLEX) $(FLEXFLAGS) -o'$@' $< -else - @$(missing) flex $< $@ -endif +preproc.c: BISONFLAGS += -d preproc.y: ../../../backend/parser/gram.y parse.pl ecpg.addons ecpg.header ecpg.tokens ecpg.trailer ecpg.type $(PERL) $(srcdir)/parse.pl $(srcdir) < $< > $@ diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile index 0db0dc56929..852b0c7ae49 100644 --- a/src/pl/plpgsql/src/Makefile +++ b/src/pl/plpgsql/src/Makefile @@ -55,15 +55,8 @@ uninstall-headers: pl_gram.o pl_handler.o pl_comp.o pl_exec.o pl_funcs.o pl_scanner.o: plpgsql.h pl_gram.h plerrcodes.h # See notes in src/backend/parser/Makefile about the following two rules - pl_gram.h: pl_gram.c ; - -pl_gram.c: pl_gram.y -ifdef BISON - $(BISON) -d $(BISONFLAGS) -o $@ $< -else - @$(missing) bison $< $@ -endif +pl_gram.c: BISONFLAGS += -d # generate plerrcodes.h from src/backend/utils/errcodes.txt plerrcodes.h: $(top_srcdir)/src/backend/utils/errcodes.txt generate-plerrcodes.pl diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile index 482ac3ecb94..6579be148c1 100644 --- a/src/test/isolation/Makefile +++ b/src/test/isolation/Makefile @@ -43,20 +43,6 @@ specparse.h: specparse.c ; # specscanner is compiled as part of specparse specparse.o: specscanner.c -specparse.c: specparse.y -ifdef BISON - $(BISON) $(BISONFLAGS) -o $@ $< -else - @$(missing) bison $< $@ -endif - -specscanner.c: specscanner.l -ifdef FLEX - $(FLEX) $(FLEXFLAGS) -o'$@' $< -else - @$(missing) flex $< $@ -endif - # specparse.c and specscanner.c are in the distribution tarball, # so do not clean them here clean distclean: |