updated make help to include actual help...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2019-03-12 19:46:24 +03:00
parent 02c6cdd79b
commit b996a7e772

View File

@ -1,7 +1,7 @@
#********************************************************************** #**********************************************************************
# #
# ImageGrid.Viewer Makefile... ## ImageGrid.Viewer Makefile...
# ##
# #
# Make dependencies that need to be installed (make check): # Make dependencies that need to be installed (make check):
# - General # - General
@ -27,48 +27,50 @@
# - web # - web
# #
# #
# ## Building:
# Build targets: ## To print full list of user make targets use:
# To list full user make targets use: ## make help
# make help ##
# ##
# ## Variables to control the build:
# Variables to control the build: ## APP_NAME - Application name
# APP_NAME - Application name ## APP_BIN - App binary name (ignored for MacOS)
# APP_BIN - App binary name (ignored for MacOS) ##
# ## ARCH - target achitecture (ia32, x86)
# ARCH - target achitecture (ia32, x86) ## TARGET_OS - target OS (win32, linux, darwin)
# TARGET_OS - target OS (win32, linux, darwin) ##
# ## ELECTRON_DOWNOAD_URL
# ELECTRON_DOWNOAD_URL ## - URL to download electron binary
# - URL to download electron binary ## ELECTRON_DIST - electron distribution file name pattern
# ELECTRON_DIST - electron distribution file name pattern ## BUILD_MODE - can be "repack" or "in-place" (default)
# BUILD_MODE - can be "repack" or "in-place" (default) ##
# ## NOTE: when setting variables avoid using spaces and other characters
# NOTE: when setting variables avoid using spaces and other characters ## make can get fussy about...
# make can get fussy about... ## NOTE: to do a repack build call:
# NOTE: to do a repack build call: ## (export BUILD_MODE=repack && make)
# (export BUILD_MODE=repack && make) ## NOTE: in most cases we do not add a "/" to target dirs to destinguish
# NOTE: in most cases we do not add a "/" to target dirs to destinguish ## them from target files except for one case:
# them from target files except for one case: ## $(BUILD_DIR)/$(APP_NAME)-%/
# $(BUILD_DIR)/$(APP_NAME)-%/ ## this will help make destinguish it from things like:
# this will help make destinguish it from things like: ## $(DIST_DIR)/$(APP_NAME)-%.zip
# $(DIST_DIR)/$(APP_NAME)-%.zip ## NOTE: cross compilation is at this time not supported, if you try it
# 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 =)
# 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
# ...at least the node native packages (sharp) will likely either ## fail or win get compiled to the wrong arch and not be used and
# fail or win get compiled to the wrong arch and not be used and ## for the most part ImageGrid is cleaver about and will simply not
# for the most part ImageGrid is cleaver about and will simply not ## load the depending features...
# load the depending features... ##
# ##
# ## Examples:
# Examples: ## # check if all dependencies are available...
# # full build... ## make check
# make clean dist ##
# ## # full build...
# # build for darwin... (XXX needs testing) ## make clean dist
# export TARGET_OS=darwin && make clean dist ##
# ## # build for darwin... (XXX needs testing)
## export TARGET_OS=darwin && make clean dist
##
# #
# #
#---------------------------------------------------------------------- #----------------------------------------------------------------------
@ -265,23 +267,25 @@ DEPENDENCIES = node npm wget sed zip unzip zipnote git \
#********************************************************************** #**********************************************************************
## Help... ### Generic targets...
.PHONY: help .PHONY: help
help: ## List make targets help:
@IFS=$$'\n' ; \ @IFS=$$'\n' ; \
help_lines=(`fgrep -h "##" $(MAKEFILE_LIST) \ help_lines=(`fgrep -h "##" $(MAKEFILE_LIST) \
| fgrep -v fgrep \ | fgrep -v fgrep \
| sed -e 's/\\$$//'`); \ | sed -e 's/\\$$//'`); \
for help_line in $${help_lines[@]}; do \ for help_line in $${help_lines[@]}; do \
if [ -z "$${help_line/'#'*/}" ] ; then \ IFS=$$'#' ; \
IFS=$$'#' ; \ if [ -z "$${help_line/'#'#[#-]*/}" ] ; then \
echo ; \ echo ;\
echo "$${help_line}" \ echo "$${help_line}" \
| sed 's/#\+[- ]*//' \ | sed 's/#\+[- ]*//' \
| sed 's/\s*\(...\|---\)\s*$$/:/'; \ | sed 's/\s*\(...\|---\)\s*$$/:/'; \
elif [ -z "$${help_line/'#'*/}" ] ; then \
echo "$${help_line}" \
| sed 's/#\+[- ]*//' ; \
else \ else \
IFS=$$'#' ; \
help_split=($$help_line) ; \ help_split=($$help_line) ; \
help_command=`echo $${help_split[0]} \ help_command=`echo $${help_split[0]} \
| sed -e 's/^ *//' -e 's/ *$$//'` ; \ | sed -e 's/^ *//' -e 's/ *$$//'` ; \
@ -292,10 +296,6 @@ help: ## List make targets
done done
#**********************************************************************
## Generic...
.PHONY: all .PHONY: all
all: ## Run the full build chain all: ## Run the full build chain
all: check dev dist deploy all: check dev dist deploy
@ -339,8 +339,8 @@ run: electron-run
## Cleanup... ### Cleanup...
#
.PHONY: clean .PHONY: clean
clean: ## Clean the BUILD_DIR directory clean: ## Clean the BUILD_DIR directory
$(RM) $(BUILD_DIR) $(RM) $(BUILD_DIR)
@ -451,7 +451,7 @@ nw-run: dev
#********************************************************************** #**********************************************************************
## Dependency checking... ### Dependency checking...
require(%): require(%):
@echo Checking for: $* @echo Checking for: $*