# fss-0005 iki-0002
#
# Builds the fss_read library and all programs.
#

settings:
  fail exit
  modes android clang coverage debug fanalyzer flex_arrays gcc individual individual_thread level monolithic pinephone test thread threadless

  environment PATH LD_LIBRARY_PATH
  environment LANG LC_ALL LC_COLLATE LC_CTYPE LC_FASTMSG LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LOCPATH NLSPATH

main:
  build settings
  build settings.main
  build settings.basic
  build settings.basic_list
  build settings.extended
  build settings.extended_list
  build settings.embedded_list
  build settings.payload

install:
  shell ./install.sh parameter:'work' parameter:'verbosity' parameter:'color'
  shell ./install.sh parameter:'work' parameter:'verbosity' parameter:'color' -s data/build/settings.main
  shell ./install.sh parameter:'work' parameter:'verbosity' parameter:'color' -s data/build/settings.basic
  shell ./install.sh parameter:'work' parameter:'verbosity' parameter:'color' -s data/build/settings.basic_list
  shell ./install.sh parameter:'work' parameter:'verbosity' parameter:'color' -s data/build/settings.extended
  shell ./install.sh parameter:'work' parameter:'verbosity' parameter:'color' -s data/build/settings.extended_list
  shell ./install.sh parameter:'work' parameter:'verbosity' parameter:'color' -s data/build/settings.embedded_list
  shell ./install.sh parameter:'work' parameter:'verbosity' parameter:'color' -s data/build/settings.payload

help:
  print
  print context:'title'Fakefile Options for FSS Read Programs.context:'reset'

  print
  print The following operations are available\:
  print "  - context:'notable'help:context:'reset'    Perform the help operation, printing this message."
  print "  - context:'notable'install:context:'reset' A helper operation that simply calls the ./install.sh script with default settings."
  print "  - context:'notable'main:context:'reset'    The default compilation using the build settings mode."

  print
  print The context:'notable'install[context]:'reset' operation supports the context:'notable'work[context]:'reset', context:'notable'verbosity[context]:'reset', and context:'notable'color[context]:'reset' parameters.
