diff --git a/make/modules/jdk.javadoc/Gendata.gmk b/make/modules/jdk.javadoc/Gendata.gmk
index 78432cd6a68..c648df6e032 100644
--- a/make/modules/jdk.javadoc/Gendata.gmk
+++ b/make/modules/jdk.javadoc/Gendata.gmk
@@ -61,36 +61,54 @@ $(eval $(call SetupJavaCompilation, COMPILE_CREATE_SYMBOLS, \
         $(COMPILECREATESYMBOLS_ADD_EXPORTS), \
 ))
 
-$(SUPPORT_OUTPUTDIR)/javadoc-symbols/symbols: \
+GENERATE_SYMBOLS_FROM_JDK_VERSION := 11
+JDK_JAVADOC_DIR := $(JDK_OUTPUTDIR)/modules/jdk.javadoc
+ELEMENT_LISTS_PKG := jdk/javadoc/internal/doclets/toolkit/resources/releases
+ELEMENT_LISTS_DIR := $(JDK_JAVADOC_DIR)/$(ELEMENT_LISTS_PKG)
+
+$(JDK_JAVADOC_DIR)/_element_lists.marker: \
     $(COMPILE_CREATE_SYMBOLS) \
     $(wildcard $(TOPDIR)/make/data/symbols/*) \
     $(MODULE_INFOS)
-	$(RM) -r $(@D)
-	$(MKDIR) -p $(@D)
-	$(ECHO) Creating javadoc element list
-	$(JAVA_SMALL) $(INTERIM_LANGTOOLS_ARGS) \
-	    $(COMPILECREATESYMBOLS_ADD_EXPORTS) \
-	    -classpath $(BUILDTOOLS_OUTPUTDIR)/create_symbols_javadoc \
-	    build.tools.symbolgenerator.CreateSymbols \
-	    build-javadoc-data \
-	    $(CT_DATA_DESCRIPTION) \
-	    $(JDK_OUTPUTDIR)/modules/jdk.javadoc/jdk/javadoc/internal/doclets/toolkit/resources/releases \
-	    11
-	$(JAVA_SMALL) $(INTERIM_LANGTOOLS_ARGS) \
-	    $(COMPILECREATESYMBOLS_ADD_EXPORTS) \
-	    -classpath $(BUILDTOOLS_OUTPUTDIR)/create_symbols_javadoc \
-	    build.tools.symbolgenerator.JavadocElementList \
-	    $(JDK_OUTPUTDIR)/modules/jdk.javadoc/jdk/javadoc/internal/doclets/toolkit/resources/releases/element-list-$(JDK_SOURCE_TARGET_VERSION).txt \
-	    $(JAVADOC_MODULESOURCEPATH) \
-	    $(JAVADOC_MODULES)
+	$(call MakeTargetDir)
+	$(call LogInfo, Creating javadoc element lists)
+	$(RM) -r $(ELEMENT_LISTS_DIR)
+        # Generate element-list files for JDK 11 to current-1
+	$(call ExecuteWithLog, $@_historic, \
+	    $(JAVA_SMALL) $(INTERIM_LANGTOOLS_ARGS) \
+	        $(COMPILECREATESYMBOLS_ADD_EXPORTS) \
+	        -classpath $(BUILDTOOLS_OUTPUTDIR)/create_symbols_javadoc \
+	        build.tools.symbolgenerator.CreateSymbols \
+	        build-javadoc-data \
+	        $(CT_DATA_DESCRIPTION) \
+	        $(ELEMENT_LISTS_DIR) \
+	        $(GENERATE_SYMBOLS_FROM_JDK_VERSION) \
+	)
+        # Generate element-list file for the current JDK version
+	$(call ExecuteWithLog, $@_current, \
+	    $(JAVA_SMALL) $(INTERIM_LANGTOOLS_ARGS) \
+	        $(COMPILECREATESYMBOLS_ADD_EXPORTS) \
+	        -classpath $(BUILDTOOLS_OUTPUTDIR)/create_symbols_javadoc \
+	        build.tools.symbolgenerator.JavadocElementList \
+	        $(ELEMENT_LISTS_DIR)/element-list-$(JDK_SOURCE_TARGET_VERSION).txt \
+	        $(JAVADOC_MODULESOURCEPATH) \
+	        $(JAVADOC_MODULES) \
+	)
 	$(TOUCH) $@
 
-# Copy ct.sym to the modules libs dir
-$(eval $(call SetupCopyFiles, COPY_TO_LIBS, \
-    FILES := $(SUPPORT_OUTPUTDIR)/javadoc-symbols/*.txt, \
-    DEST := $(JDK_OUTPUTDIR)/modules/jdk.javadoc/jdk/javadoc/internal/doclets/toolkit/resources/releases, \
-))
+################################################################################
+# Copy element-lists to interim langtools
 
-TARGETS += $(SUPPORT_OUTPUTDIR)/javadoc-symbols/symbols
+INTERIM_JDK_JAVADOC_DIR := $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules/jdk.javadoc.interim
+INTERIM_ELEMENT_LISTS_DIR := $(INTERIM_JDK_JAVADOC_DIR)/$(ELEMENT_LISTS_PKG)
+
+$(INTERIM_JDK_JAVADOC_DIR)/_element_lists.marker: $(JDK_JAVADOC_DIR)/_element_lists.marker
+	$(call MakeDir, $(INTERIM_ELEMENT_LISTS_DIR))
+	$(RM) -r $(INTERIM_ELEMENT_LISTS_DIR)/*
+	$(CP) -R $(ELEMENT_LISTS_DIR)/* $(INTERIM_ELEMENT_LISTS_DIR)/
+	$(TOUCH) $@
 
 ################################################################################
+
+TARGETS += $(JDK_JAVADOC_DIR)/_element_lists.marker \
+    $(INTERIM_JDK_JAVADOC_DIR)/_element_lists.marker