From: Alexander Korotkov <akorotkov@postgresql.org>
Date: Sun, 17 Mar 2019 07:51:28 +0000 (+0300)
Subject: Fix make rules for jsonpath grammar making them similar to SQL grammar
X-Git-Tag: REL_12_BETA1~514
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=142c400d72f77e7249306b80e0149f4fd35c6304;p=postgresql

Fix make rules for jsonpath grammar making them similar to SQL grammar

Reported-by: Jeff Janes, Tom Lane
Discussion: https://postgr.es/m/CAMkU%3D1w1qBvoW82ZTFpAKae027R-2OHw-m6ALe0VQRNAFueBVA%40mail.gmail.com
---

diff --git a/src/backend/Makefile b/src/backend/Makefile
index 31d9d6605d..ecbfa875af 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -315,8 +315,10 @@ maintainer-clean: distclean
 	      replication/syncrep_scanner.c \
 	      storage/lmgr/lwlocknames.c \
 	      storage/lmgr/lwlocknames.h \
-	      utils/misc/guc-file.c \
+	      utils/adt/jsonpath_gram.c \
 	      utils/adt/jsonpath_gram.h \
+	      utils/adt/jsonpath_scan.c \
+	      utils/misc/guc-file.c \
 	      utils/sort/qsort_tuple.c
 
 
diff --git a/src/backend/utils/adt/Makefile b/src/backend/utils/adt/Makefile
index 6b24a9caa1..60925f4e28 100644
--- a/src/backend/utils/adt/Makefile
+++ b/src/backend/utils/adt/Makefile
@@ -33,11 +33,19 @@ OBJS = acl.o amutils.o arrayfuncs.o array_expanded.o array_selfuncs.o \
 	txid.o uuid.o varbit.o varchar.o varlena.o version.o \
 	windowfuncs.o xid.o xml.o
 
+# There is no correct way to write a rule that generates two files.
+# See comment in src/backend/parser/Makefile for the explanation of
+# the trick used here.
+
+jsonpath_gram.h: jsonpath_gram.c
+	touch $@
+
 jsonpath_gram.c: BISONFLAGS += -d
 
 jsonpath_scan.c: FLEXFLAGS = -CF -p -p
+jsonpath_scan.c: FLEX_NO_BACKUP=yes
+jsonpath_scan.c: FLEX_FIX_WARNING=yes
 
-jsonpath_gram.h: jsonpath_gram.c ;
 
 # Force these dependencies to be known even without dependency info built:
 jsonpath_gram.o jsonpath_scan.o jsonpath_parser.o: jsonpath_gram.h
diff --git a/src/include/Makefile b/src/include/Makefile
index c557375ae3..652f6dc6cc 100644
--- a/src/include/Makefile
+++ b/src/include/Makefile
@@ -54,7 +54,7 @@ install: all installdirs
 	  cp $(srcdir)/$$dir/*.h '$(DESTDIR)$(includedir_server)'/$$dir/ || exit; \
 	done
 ifeq ($(vpath_build),yes)
-	for file in catalog/schemapg.h catalog/pg_*_d.h parser/gram.h storage/lwlocknames.h utils/probes.h; do \
+	for file in catalog/schemapg.h catalog/pg_*_d.h parser/gram.h storage/lwlocknames.h utils/probes.h utils/jsonpath_gram.h; do \
 	  cp $$file '$(DESTDIR)$(includedir_server)'/$$file || exit; \
 	done
 endif
@@ -78,7 +78,7 @@ uninstall:
 
 clean:
 	rm -f utils/fmgroids.h utils/fmgrprotos.h utils/errcodes.h utils/header-stamp
-	rm -f parser/gram.h storage/lwlocknames.h utils/probes.h
+	rm -f parser/gram.h storage/lwlocknames.h utils/probes.h utils/jsonpath_gram.h
 	rm -f catalog/schemapg.h catalog/pg_*_d.h catalog/header-stamp
 
 distclean maintainer-clean: clean