diff --git a/bin/htmlgen/makefile b/bin/htmlgen/makefile
index 0ddd5aff809a7e73ab38e3896ab69d49ff992091..c1d27670f46444dcb219f066838d3b404370e9ab 100644
--- a/bin/htmlgen/makefile
+++ b/bin/htmlgen/makefile
@@ -24,6 +24,8 @@ OUTPUT_FILELIST := $(OUT_DIR)/filelist.flist
 gen_html:
 	@echo building HTML tree
 	@mkdir -p $(OUT_DIR)/build
+	@echo Output Directory is $(OUT_DIR)/build
+	$(MAKE) -C $(SOCLABS_NANOSOC_TECH_DIR) defs_gen
 	@(cd $(OUT_DIR)/build; \
 	rm *.html; rm *.gif; \
 	$(SOCLABS_SOCTOOLS_FLOW_DIR)/bin/filelist_compile.py -ea -f $(FILELIST) -o $(OUTPUT_FILELIST) ; \
diff --git a/bin/htmlgen/project_html_gen.py b/bin/htmlgen/project_html_gen.py
index 5cc6d17829249613b16f8db911e99210e488853f..417c2636648be9d24556f790d5d46246ba4b53fd 100755
--- a/bin/htmlgen/project_html_gen.py
+++ b/bin/htmlgen/project_html_gen.py
@@ -28,7 +28,7 @@ def top_mod_find(filelist):
 
 def bootrom_gen():
     # Runs Bootrom generation script in NanoSoC Directory
-    bootrom_scipt_dir = os.getenv("SOCLABS_NANOSOC_TECH_DIR")+"/system"
+    bootrom_scipt_dir = os.getenv("SOCLABS_NANOSOC_TECH_DIR")
     subprocess.run(["make","-C",bootrom_scipt_dir,"bootrom"])
 
 def html_gen(filelist_path):
@@ -38,7 +38,7 @@ def html_gen(filelist_path):
     # Find Top-level module name
     top_mod = top_mod_find(filelist_path)
     # Work out output Directory
-    outdir = os.getenv("SOCLABS_PROJECT_DIR")+"/"+filelist_name+"/html"
+    outdir = os.getenv("SOCLABS_PROJECT_DIR")+"/html/"+filelist_name
     print(outdir)
     html_scipt_dir = os.getenv("SOCLABS_SOCTOOLS_FLOW_DIR")+"/bin/htmlgen"
     subprocess.run(["make","-C",html_scipt_dir,"gen_html","TOP_MODULE="+top_mod,"OUT_DIR="+outdir])