From c5678d3c325ae86e8eacd96e45f1c6d00e13ce44 Mon Sep 17 00:00:00 2001 From: "Sakthipriyan Vairamani (thefourtheye)" Date: Thu, 3 Nov 2016 14:33:13 +0530 Subject: [PATCH] tools: improve docopen target in Makefile 1. As it is, it just tries to build only the `all.html` file. If none of the other files are built already, generated page will not be good. To fix this, we process the assets and generate HTML files first. 2. After the HTML is generated, `google-chrome` is used to open the generated file in browser. This is not very portable as it might not be installed or installations might have used a different name. So, we use Python's webbrowser module to open the file. PR-URL: https://github.com/nodejs/node/pull/9436 Reviewed-By: Daniel Bevenius Reviewed-By: James M Snell Reviewed-By: Roman Reiss --- Makefile | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index ba017622ec71c4..24aa53b64d4fe7 100644 --- a/Makefile +++ b/Makefile @@ -296,15 +296,14 @@ test-v8 test-v8-intl test-v8-benchmarks test-v8-all: endif apidoc_sources = $(wildcard doc/api/*.md) -apidocs = $(addprefix out/,$(apidoc_sources:.md=.html)) \ - $(addprefix out/,$(apidoc_sources:.md=.json)) +apidocs_html = $(apidoc_dirs) $(apiassets) $(addprefix out/,$(apidoc_sources:.md=.html)) +apidocs_json = $(apidoc_dirs) $(apiassets) $(addprefix out/,$(apidoc_sources:.md=.json)) apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*))) -doc-only: $(apidoc_dirs) $(apiassets) $(apidocs) tools/doc/ - +doc-only: $(apidocs_html) $(apidocs_json) doc: $(NODE_EXE) doc-only $(apidoc_dirs): @@ -340,8 +339,8 @@ out/doc/api/%.html: doc/api/%.md fi [ -x $(NODE) ] && $(NODE) $(gen-html) || node $(gen-html) -docopen: out/doc/api/all.html - -google-chrome out/doc/api/all.html +docopen: $(apidocs_html) + @$(PYTHON) -mwebbrowser file://$(PWD)/out/doc/api/all.html docclean: -rm -rf out/doc