From 6b5813e45e0918cc91815e58b33ca554b89a0c2f Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Wed, 2 Sep 2020 04:10:50 +0300 Subject: [PATCH] added auto-generated make docs... Signed-off-by: Alex A. Naanou --- Viewer/Makefile | 25 ++++++++----- Viewer/doc/MAKE | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+), 8 deletions(-) create mode 100644 Viewer/doc/MAKE diff --git a/Viewer/Makefile b/Viewer/Makefile index b4ce99f5..301f6abc 100755 --- a/Viewer/Makefile +++ b/Viewer/Makefile @@ -285,6 +285,7 @@ JS_FILES := $(ROOT_JS_FILES) \ $(wildcard $(LIB_DIR)/*.js) \ $(wildcard $(LIB_DIR)/*/*.js) \ $(wildcard $(EXT_LIB_DIR)/*.js) +DOC_FILES := doc/MAKE INCLUDE_NODE_MODULES = ig-object ig-actions ig-features @@ -346,6 +347,16 @@ help: done +doc/MAKE: Makefile + # generating doc/MAKE... + @{ \ + make help ; \ + echo ; \ + echo "---" ; \ + echo "This file was generated by: make doc/MAKE" ; \ + } | egrep -v "^make\[1\]:" > doc/MAKE + + #********************************************************************** ### Dependency checking... @@ -382,7 +393,12 @@ check-help: check-message $(foreach dep,$(DEPENDENCIES_HELP),require($(dep))) .PHONY: all all: ## Run the full build chain -all: check dev dist deploy +all: check doc dev dist deploy + + +.PHONY: doc +doc: ## Build the documentation +doc: $(DOC_FILES) .PHONY: dev @@ -829,13 +845,6 @@ $(BUILD_DIR)/package.nw: $$(PACK_MINIMAL) # XXX -#---------------------------------------------------------------------- - -test: - which electron - echo $(ELECTRON) - echo $(ELECTRON_VERSION) - electron -v #********************************************************************** diff --git a/Viewer/doc/MAKE b/Viewer/doc/MAKE new file mode 100644 index 00000000..83ef6f07 --- /dev/null +++ b/Viewer/doc/MAKE @@ -0,0 +1,93 @@ + +ImageGrid.Viewer Makefile... + +To print full list of user make targets use: + make help + + +Variables to control the build: + APP_NAME - Application name + APP_BIN - App binary name (ignored for MacOS) + + ARCH - target achitecture (ia32, x86) + TARGET_OS - target OS (win32, linux, darwin) + + ELECTRON_DOWNOAD_URL + - URL to download electron binary + ELECTRON_DIST - electron distribution file name pattern + BUILD_MODE - can be "repack" or "in-place" (default) + +NOTE: when setting variables avoid using spaces and other characters + make can get fussy about... +NOTE: to do a repack build call: + (export BUILD_MODE=repack && make) +NOTE: cross compilation is at this time not supported, if you try it + and it works then 1) you got very lucky and 2) tell me about it =) + ...at least the node native packages (sharp) will likely either + fail or will get compiled to the wrong arch and not be used and + some non-native packages may misbehave (though I'm not aware of + any at this point, so report them if you encounter one). + This is complicated by the fact that most of ImageGrid.Viewer is + platform-agnostic and will run on almost anything and will simply + try to ignore broken packages and features depending on them, so + check the console log for any odd load reports... + ...but note that cross-building and packaging is possible either + without the native modules or with them pre-built for the target + platform. + + +Examples: + # check if all dependencies are available... + make check + + # full build... + make clean dist + + # build for darwin... (XXX needs testing) + export TARGET_OS=darwin && make clean dist + + +Dependency checking: + check: Run all dependency checks + check-web: Run web build dependency checks + check-help: Run help/build (Makefile) dependency checks + +Generic targets: + all: Run the full build chain + doc: Build the documentation + dev: Build the development environment + dist: Build distributable package + test-dist: Build testing distributable package + deploy: Run ./scripts/deploy.sh on contents of DIST_DIR + run: Run app in-place + +Cleanup: + clean: Clean the BUILD_DIR directory + clean-dist: Clean DIST_DIR directory + clean-all: Clean all + +Generic components: + css: Build CSS + app-dir-full: Build full app directory + app-dir-minimal: Build minimal app directory + +Web/Browser: + web: Build a browser-runnable package + +Electron: + electron-dist: Make electron distributable + electron-test-dist: Make electron test distributable + electron-unpacked: Make unpacked electron app + electron-run: Run app in electron + +NW: + nw-run: Run app in nw (outdated) + +Windows installer: + +Deb package: + +CLI package: + +--- +This file was generated by: make doc/MAKE