ImageGrid.Viewer Makefile... To check for buld/development dependencies that make can't install itself: $ make check To setup the development environment: $ make dev To do a default build use: $ make dist In some cases making things directly starting from a clean directory may either fail or use global version of a utility instead of the version specified for the app, if this happens first build the environment and then try again: $ make dev ... $ make dist 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, x64, ...) 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 only possible either without the native modules or with them pre-built for the target platform, at this point. Examples: # check if all dependencies are available... $ make check # make development environment... $ make dev # full build... $ make clean dist # build in repack mode... $ BUILD_MODE=repack make dist # build for darwin... (EXPERIMENTAL) $ TARGET_OS=darwin make clean dist Help and info: help: Print make target help and exit version: Print version and exit 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 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 Windows installer: Deb package: CLI package: --- This file was generated by: make doc/MAKE