--- a/Code/PgSQL/rdkit/Makefile
+++ b/Code/PgSQL/rdkit/Makefile
@@ -10,9 +10,8 @@
 #STATIC_LINK=1
 # -------------------------
 
-
 RDKIT=$(RDBASE)
-
+RDKIT_PGSQL_SRCDIR=$(RDBASE)/Code/PgSQL/rdkit
 
 ifeq ($(USE_INCHI),1)
   INCHILIBS=-lRDKitRDInchiLib -lRDKitInchi
@@ -26,18 +25,17 @@ ifeq ($(USE_AVALON),1)
   AVALONREGRESS=avalon
 endif
 
-POPCOUNTFLAGS=-DRDK_OPTIMIZE_POPCNT -mpopcnt
-
 ifeq ($(USE_THREADS),1)
   THREADLIBS=-L${BOOSTHOME}/lib -lboost_thread -lboost_system
 endif
 
-RDKLIBS       = ${AVALONLIBS} ${INCHILIBS} -lRDKitMolDraw2D -lRDKitMolTransforms -lRDKitMolHash -lRDKitFMCS -lRDKitChemReactions -lRDKitChemTransforms -lRDKitFileParsers -lRDKitSmilesParse -lRDKitFingerprints -lRDKitSubgraphs -lRDKitDescriptors -lRDKitPartialCharges -lRDKitSubstructMatch  -lRDKitGraphMol -lRDKitEigenSolvers -lRDKitDataStructs -lRDKitDepictor -lRDKitRDGeometryLib -lRDKitRDGeneral
+RDKLIBS       = ${AVALONLIBS} ${INCHILIBS} -lRDKitGeneralizedSubstruct -lRDKitMolEnumerator -lRDKitTautomerQuery -lRDKitMolDraw2D -lRDKitMolTransforms -lRDKitMolHash -lRDKitFMCS -lRDKitChemReactions -lRDKitChemTransforms -lRDKitFileParsers -lRDKitSmilesParse -lRDKitFingerprints -lRDKitSubgraphs -lRDKitDescriptors -lRDKitPartialCharges -lRDKitSubstructMatch  -lRDKitGraphMol -lRDKitEigenSolvers -lRDKitDataStructs -lRDKitDepictor -lRDKitRDGeometryLib -lRDKitRDGeneral
+RDKIT_LIBDIR ?= ${RDKIT}/lib
 
 ifeq ($(STATIC_LINK),0)
-  SHLIB_LINK += -L${RDKIT}/lib -Wl,-rpath,'${RDKIT}/lib' ${RDKLIBS}
+  SHLIB_LINK += -L${RDKIT_LIBDIR} ${RDKLIBS}
 else
-  SHLIB_LINK += -L${RDKIT}/lib $(addsuffix _static,${RDKLIBS})
+  SHLIB_LINK += -L${RDKIT_LIBDIR} $(addsuffix _static,${RDKLIBS})
 endif
 
 ifndef BOOSTHOME
@@ -47,7 +45,7 @@ SHLIB_LINK += -pthread
 
 SHLIB_LINK += ${THREADLIBS}
 
-PG_CPPFLAGS = -I${BOOSTHOME}/include -I${RDKIT}/Code -DRDKITVER='"007300"' ${AVALONFLAGS} ${INCHIFLAGS} ${POPCOUNTFLAGS}
+PG_CPPFLAGS = -I${BOOSTHOME}/include -I${RDKIT}/Code -DRDKITVER='"007300"' -DRDK_TOOLKIT_VERSION='"2022.09.01"' ${AVALONFLAGS} ${INCHIFLAGS}
 
 CPLUSPLUSFLAGS = $(filter-out -fexcess-precision=standard -Wmissing-prototypes -Wdeclaration-after-statement, $(CFLAGS))
 CPLUSPLUSFLAGS += -Wno-unused-function
@@ -56,16 +54,31 @@ CPLUSPLUSFLAGS += $(PG_CPPFLAGS)
 CPLUSPLUSFLAGS := $(filter-out -fexcess-precision=standard,$(CPLUSPLUSFLAGS))
 
 EXTENSION  = rdkit
-EXTVERSION = $(shell grep default_version $(EXTENSION).control | sed -e "s/default_version[[:space:]]*=[[:space:]]*'\([^']*\)'/\1/")
+EXTVERSION = $(shell grep default_version ${RDKIT_PGSQL_SRCDIR}/$(EXTENSION).control | sed -e "s/default_version[[:space:]]*=[[:space:]]*'\([^']*\)'/\1/")
 PG_CONFIG  = pg_config
 MODULE_big = rdkit
 OBJS       = rdkit_io.o mol_op.o bfp_op.o sfp_op.o rxn_op.o rdkit_gist.o bfp_gist.o bfp_gin.o low_gist.o guc.o cache.o adapter.o bitstring.o
 PGXS       := $(shell $(PG_CONFIG) --pgxs)
+PGVER := $(shell $(PG_CONFIG) --version | sed 's/[^0-9]//g' | cut -c 1-2)
 
 all: $(EXTENSION)--$(EXTVERSION).sql
 
-REGRESS    = rdkit-91 props btree molgist bfpgist-91 bfpgin sfpgist slfpgist fps reaction ${INCHIREGRESS} ${AVALONREGRESS}
-DATA = $(EXTENSION)--$(EXTVERSION).sql
+ifeq ($(shell test $(PGVER) -gt 13; echo $$?),0)
+$(EXTENSION)--$(EXTVERSION).sql: $(EXTENSION).sql.in
+	sed -e's/@RDKIT_PG_MOL_GIST_SORTSUPPORT@/FUNCTION    11   gmol_sortsupport (internal),/' \
+ -e's/@RDKIT_PG_QMOL_GIST_SORTSUPPORT@/FUNCTION    11   gmol_sortsupport (internal),/' \
+ -e's/@RDKIT_PG_BFP_GIST_SORTSUPPORT@/FUNCTION    11   gbfp_sortsupport (internal),/' \
+ $< > $@
+else
+$(EXTENSION)--$(EXTVERSION).sql: $(EXTENSION).sql.in
+	sed -e's/@RDKIT_PG_MOL_GIST_SORTSUPPORT@//' \
+ -e's/@RDKIT_PG_QMOL_GIST_SORTSUPPORT@//' \
+ -e's/@RDKIT_PG_BFP_GIST_SORTSUPPORT@//' \
+ $< > $@
+endif
+
+REGRESS    = rdkit-91 props btree molgist bfpgist-91 bfpgin sfpgist slfpgist fps reaction ${INCHIREGRESS} fmcs query xqm ${AVALONREGRESS}
+DATA_built = $(EXTENSION)--$(EXTVERSION).sql
 EXTRA_CLEAN = $(EXTENSION)--$(EXTVERSION).sql
 include $(PGXS)
 
