cleanup and docs...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2018-01-22 05:29:35 +03:00
parent 947afd3f38
commit ca36eef78d

View File

@ -5,6 +5,7 @@
# #
# Make dependencies that need to be installed (make check): # Make dependencies that need to be installed (make check):
# - General # - General
# - bash or similar shell
# - git # - git
# - nodejs / npm # - nodejs / npm
# also nodejs-legacy seems to be required by some code... # also nodejs-legacy seems to be required by some code...
@ -17,8 +18,8 @@
# for more info and patch see: # for more info and patch see:
# https://goo.gl/csQmQo # https://goo.gl/csQmQo
# - Windows # - Windows
# - MSVS -- to build node modules (sharp) # - MSVS -- to build native node modules (sharp)
# - WiX # - WiX -- to build the .msi installer
# - Linux # - Linux
# - macOS # - macOS
# - iOS # - iOS
@ -26,25 +27,41 @@
# - web # - web
# #
# #
#
# Build targets: # Build targets:
# Generic targets:
# all - run the full build chain...
# check - check dependencies # check - check dependencies
# dev - build the development environment # dev - build the development environment
# dist - build the distribution
# deploy - run ./scripts/deploy.sh on contents of ./dist/,
# this will do nothing if neither exists.
# run - run the app
# clean - cleanup the ./build
# clean-all - clean up fully.
# removes: ./targets/, ./build/, ./dist/
# #
# Generic app targets:
# app-dir-full - build full app dir # app-dir-full - build full app dir
# app-dir-minimal - build minimal app dir (used for web) # app-dir-minimal - build minimal app dir (used for web)
# NOTE: these are runtime neutral # NOTE: these are runtime neutral
# #
# Web/Browser distribution:
# web - build a version runnable in browser # web - build a version runnable in browser
# #
# Electron:
# electron-dist - electron distribution (default) # electron-dist - electron distribution (default)
# electron-test-dist
# - electron distribution with timestamp added to
# version number (used for test build that do not
# change version)
# electron-unpacked # electron-unpacked
# - build an unpacked electron app dir # - build an unpacked electron app dir
# NOTE: this builds to a different directory than # NOTE: this builds to a different directory than
# app-dir-* # app-dir-*
# electron-insr - build electron app installer (XXX not implemented) # electron-insr - build electron app installer (XXX not implemented)
# electron-run - run the electron distribution in-place
# #
# cleanall - clean up fully.
# removes: ./targets/, ./build/, ./dist/
# #
# #
# Variables to control the build: # Variables to control the build:
@ -276,11 +293,14 @@ dist: electron-test-dist
#dist: electron-dist #dist: electron-dist
.PHONY: test-dist
test-dist: electron-test-dist
# NOTE: with the default sort order this gets the "latest" file, not sure # NOTE: with the default sort order this gets the "latest" file, not sure
# how portable this is... # how portable this is...
# XXX HACK-ish...
# - deploy only when scrip both the script AND target are available
# XXX should we build what we need to deploy??? # XXX should we build what we need to deploy???
# XXX can this be done purely in make???
.PHONY: deploy .PHONY: deploy
deploy: $(wildcard $(DIST_DIR)/$(APP_NAME)-*.zip) $(wildcard scripts/deploy.sh) deploy: $(wildcard $(DIST_DIR)/$(APP_NAME)-*.zip) $(wildcard scripts/deploy.sh)
@[ -e ./scripts/deploy.sh ] \ @[ -e ./scripts/deploy.sh ] \
@ -292,7 +312,6 @@ deploy: $(wildcard $(DIST_DIR)/$(APP_NAME)-*.zip) $(wildcard scripts/deploy.sh)
|| echo Deploy script not found: scripts/deploy.sh || echo Deploy script not found: scripts/deploy.sh
.PHONY: clean .PHONY: clean
clean: clean:
$(RM) $(BUILD_DIR) $(RM) $(BUILD_DIR)
@ -304,6 +323,13 @@ clean-all: clean
#---------------------------------------------- Web/browser targets ---
.PHONY: web
web: $(DIST_DIR)/$(APP_NAME)-$(VERSION)-web.zip
#------------------------------------------------- Electron targets --- #------------------------------------------------- Electron targets ---
.PHONY: electron-dist .PHONY: electron-dist
@ -311,6 +337,7 @@ electron-dist: VERSION := $(VERSION)-el
electron-dist: DIST := $(DIST_DIR)/$(APP_NAME)-$(VERSION)-$(TARGET_OS)-$(ARCH).zip electron-dist: DIST := $(DIST_DIR)/$(APP_NAME)-$(VERSION)-$(TARGET_OS)-$(ARCH).zip
electron-dist: $(DIST) electron-dist: $(DIST)
# add a time stamp to version... # add a time stamp to version...
.PHONY: electron-test-dist .PHONY: electron-test-dist
electron-test-dist: VERSION := $(VERSION)-$(DATE)-el electron-test-dist: VERSION := $(VERSION)-$(DATE)-el
@ -318,24 +345,33 @@ electron-test-dist: DIST := $(DIST_DIR)/$(APP_NAME)-$(VERSION)-$(TARGET_OS)-$(AR
electron-test-dist: $$(DIST) electron-test-dist: $$(DIST)
#electron-test-dist: $(DIST_DIR)/$(APP_NAME)-$$(VERSION)-$(TARGET_OS)-$(ARCH).zip #electron-test-dist: $(DIST_DIR)/$(APP_NAME)-$$(VERSION)-$(TARGET_OS)-$(ARCH).zip
# NOTE: the "/" at the end here is significant... # NOTE: the "/" at the end here is significant...
.PHONY: electron-unpacked .PHONY: electron-unpacked
electron-unpacked: VERSION := $(VERSION)-el electron-unpacked: VERSION := $(VERSION)-el
electron-unpacked: $(BUILD_DIR)/$(APP_NAME)-$$(VERSION)-$(TARGET_OS)-$(ARCH)/ electron-unpacked: $(BUILD_DIR)/$(APP_NAME)-$$(VERSION)-$(TARGET_OS)-$(ARCH)/
#.PHONY: electron-inst #.PHONY: electron-inst
#electron-inst: $(DIST_DIR)/$(APP_NAME)-$(VERSION)-$(TARGET_OS)-$(ARCH).msi #electron-inst: $(DIST_DIR)/$(APP_NAME)-$(VERSION)-$(TARGET_OS)-$(ARCH).msi
# XXX should we have an unpacked run (-clean-run)???
.PHONY: electron-run .PHONY: electron-run
electron-run: dev electron-run: dev
electron . electron .
#---------------------------------------------- Web/browser targets --- #------------------------------------------------------- NW targets ---
.PHONY: web # XXX
web: $(DIST_DIR)/$(APP_NAME)-$(VERSION)-web.zip
#------------------------------------------------------ deb targets ---
# XXX