diff --git a/skel/make.sh b/skel/make.sh index 47a4210..ca8d7f3 100755 --- a/skel/make.sh +++ b/skel/make.sh @@ -48,6 +48,8 @@ OUTPUT_DIRS="obj html" # MONOLITHIC_TESTS if any file mentioned in this list is newer # than the output file, then we recreate it # MONOLITHIC_SOURCE a list (in order) of the source files +# MONOLITHIC_OPTIONS will #define the options to match the respective +# environment variables. # # Recognised formats are: # none no special processing happens before each file @@ -68,18 +70,21 @@ make_monolithic() { # extract options HASHLINE=0 VERDEFINE=0 + HASHDEFINE=0 if [ "$2" == "C" ] then HASHLINE=1 VERDEFINE=1 + HASHDEFINE=1 elif [ "$2" == "Ch" ] then HASHLINE=1 + HASHDEFINE=1 elif [ "$2" == "none" ] then - HASHLINE=0 # dummy command + HASHLINE=0 # dummy command else - print_failure "make_monolithic() called with unknown format $2" + print_failure "make_monolithic() called with unknown format $2" return 1 fi @@ -115,6 +120,14 @@ make_monolithic() { do_cmd_redir ${MONOLITHIC_OUT} echo "#define VEREXTRA \"${VEREXTRA}\"" || return 1 fi + if [ ${HASHDEFINE} -ne 0 ] + then + for opt in ${MONOLITHIC_OPTIONS} + do + do_cmd_redir ${MONOLITHIC_OUT} echo "#define ${opt} ${!opt}" || return 1 + done + fi + for FILE in ${MONOLITHIC_SOURCE} do if [ ${HASHLINE} -ne 0 ]