From 9b36469a3cb18d6c483d25252d0d17050b8c409e 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 594c91a2b952bc..d2ccffd1225fc8 100644 --- a/Makefile +++ b/Makefile @@ -261,15 +261,14 @@ test-v8-all: test-v8 test-v8-intl test-v8-benchmarks # runs all v8 tests 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): @@ -305,8 +304,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