From: Kevin Day Date: Tue, 13 Dec 2022 04:29:50 +0000 (-0600) Subject: Update: Improve some of the Featureless Make documentation and specifications. X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=a60c60712af117cfa25c2382b3fbbbf3c5904adf;p=fll Update: Improve some of the Featureless Make documentation and specifications. There will likely be another pass at this. --- diff --git a/level_3/fake/documents/fakefile.txt b/level_3/fake/documents/fakefile.txt index b9f1265..adc600a 100644 --- a/level_3/fake/documents/fakefile.txt +++ b/level_3/fake/documents/fakefile.txt @@ -1,33 +1,33 @@ -# fss-0002 +# fss-0002 iki-0000 # # license: open-standard-license-1.0 # # This file (assumed to be named fakefile.txt) can be more easily read using the following iki_read commands: -# iki_read fakefile.txt +Q -w -rr abbreviation-ASCII ASCII abbreviation-HTML HTML -WWW character "'" "'" code '"' '"' bold '"' '"' +# iki_read fakefile.txt +Q -w -rrr abbreviation-ASCII ASCII abbreviation-GCC GCC abbreviation-HTML HTML -WW character "'" "'" code '"' '"' # # To read the "Fakefile Documentation" section of this file, use this command sequence: -# fss_basic_list_read fakefile.txt +Q -cn "Fakefile Documentation" | iki_read +Q -w -rr abbreviation-ASCII ASCII abbreviation-HTML HTML -WWW character "'" "'" code '"' '"' bold '"' '"' +# fss_basic_list_read fakefile.txt +Q -cn "Fakefile Documentation" | iki_read +Q -w -rrr abbreviation-ASCII ASCII abbreviation-GCC GCC abbreviation-HTML HTML -WW character "'" "'" code '"' '"' # Fakefile Documentation: - This describes intent and purposes of the bold:"fakefile" file settings. + This describes intent and purposes of the file:"fakefile" file settings. For specific details on the allowed formatting, see the file:"fakefile.txt" under the specifications folder. All files specified are relative to the project root. The reserved Section Names are defined as follows\: - code:"settings"\: - Any configuration specific to this bold:"fakefile" is stored here. + Any configuration specific to this file:"fakefile" is stored here. This includes the declaration of define and parameter IKI variable substitution values. - The build settings may also be specified in the Settings Section. + The build settings may also be specified in the bold:"Settings Section". The following settings are available (in addition to the build settings)\: - code:"compiler"\: This represents the name of the compiler program to use, such as code:"gcc". The programs code:"gcc" and code:"clang" are known to work. - Many of the parameters in the settings file can be changed if using a non-GCC, but there may be certain hard-coded functionality that may need to be changed. + Many of the parameters in the settings file can be changed if not using abbreviation-GCC:"GNU Compiler Collection", but there may be certain hard-coded functionality that may need to be changed. When specified and code:"load_build" is code:"true", then this will override the code:"build_compiler" specified in the loaded build settings. @@ -40,7 +40,7 @@ Fakefile Documentation: This represents all environment variables that are exposed when executing sub-programs. This is not auto-populated for environment variables defined in the code:"define" setting. - When defined with no Content, then this means that no environment variables are exposed. + When defined with no bold:"Content", then this means that no environment variables are exposed. When not defined at all, then all environment variables are exposed. Environment variables may still be exposed if code:"load_build" is code:"true" and the build setting file defines any environment variable names. @@ -52,16 +52,16 @@ Fakefile Documentation: - code:"warn": Designates to continue on and if in verbose mode then print a warning. - code:"ignore": Designates to do nothing. - The return code for programs can still be retrieved through using the reserved IKI variable code:"return". + The return code for programs can still be retrieved through using the reserved bold:"IKI" variable code:"return". - code:"import"\: - Load this bold:"fakefile". - The code:"settings" section data from the imported bold:"fakefile" is treated as if it were appended to the end of the current bold:"fakefile" code:"setting" section. - Each section in the imported bole:"fakefile" is treated as if it were appended to either the end of a matching section, if found, or appended at the end of the bold:"fakefile", if no matches are found. + Load this file:"fakefile". + The code:"settings" section data from the imported file:"fakefile" is treated as if it were appended to the end of the current file:"fakefile" code:"setting" section. + Each section in the imported file:"fakefile" is treated as if it were appended to either the end of a matching section, if found, or appended at the end of the file:"fakefile", if no matches are found. This a non-recursive operation and the imported file itself cannot perform an import. Relative paths are relative to the importing file. - Absolute paths that start with "./" are relative to the project root rather than the importing file. - Absolute paths that start with "/" are treated normally. + Absolute paths that start with code:"./" are relative to the project root rather than the importing file. + Absolute paths that start with code:"/" are treated normally. - code:"indexer"\: This represents the name of the indexer program to use, such as code:"ar". @@ -83,14 +83,14 @@ Fakefile Documentation: This defines an IKI variable name to substitute with the value. This replaces the value of any existing environment variable with this name. - The first Content value represents the IKI variable name. - All Content values after the first represent the values the matching IKI variable is replaced with. + The first bold:"Content" value represents the bold:"IKI" variable name. + All bold:"Content" values after the first represent the values the matching bold:"IKI" variable is replaced with. The parameter variable name code:"return" is used to store the return result of a code:"run" or code:"shell" operation. Setting this here only sets the default code:"return" parameter variable value. - code:"main"\: - This is the main entry point when processing the bold:"fakefile". + This is the main entry point when processing the file:"fakefile". This is processed top-down until the end of the list is reached. The following operations are available\: @@ -106,44 +106,44 @@ Fakefile Documentation: Run the fake build operation as if code:"fake build" was run instead of code:"fake make". Command line arguments are automatically passed to the fake build operation. - Accepts an optional Content that is a file name to a build settings file to use instead of the default. - This file name is relative to the data build directory (which can be changed by -D/--data parameter). + Accepts an optional bold:"Content" that is a file name to a build settings file to use instead of the default. + This file name is relative to the data build directory (which can be changed by code:"-D/--data" parameter). If the optional file name Content is specified, then it also supports additional modes to use instead of the default mode. - When no additional Content after the code:"build" is specified, then the default (or program supplied) settings file and modes are used. - When the first Content after the code:"build" is specified as an empty string, then the default (or program supplied) settings file is used. - When the second Content after the code:"build" (and there is no third Content), then no modes are used. + When no additional bold:"Content" after the code:"build" is specified, then the default (or program supplied) settings file and modes are used. + When the first bold:"Content" after the code:"build" is specified as an empty string, then the default (or program supplied) settings file is used. + When the second bold:"Content" after the code:"build" (and there is no third bold:"Content"), then no modes are used. - code:"break"\: Perform an exit from the current make operation. This only exists the current depth. If the depth is at the top (aka: 0), then this is identical to the code:"exit" section operation. - The second Content may be either 'succeed' or 'fail' to designate on whether or not to exit as success or failure. + The second bold:"Content" may be either code:"succeed" or code:"failure" to designate on whether or not to exit as a success or as a failure. When set to code:"failure" this will trigger any failure (with message), depending on the current fail state. - code:"clean"\: Run the fake clean operation as if code:"fake clean" was run instead of code:"fake make". - Command line arguments are automatically passed to the fake build operation. + Command line arguments are automatically passed to the build operation. - code:"clone"\: Copy all files (and directories), preserving all properties, into the last content. If there are more than one file (or directory) being copied, then the final path must be a directory. - All Content, except last, represents the files to clone. - The last Content represents the destination file (or directory) to clone to. + All bold:"Content", except last, represents the files to clone. + The last bold:"Content" represents the destination file (or directory) to clone to. - code:"compile"\: Execute the compiler program, such as code:"gcc". - All Content are passed as arguments to the respective code:"gcc" program. + All bold:"Content" are passed as arguments to the respective code:"gcc" program. - code:"copy"\: Copy all files (and directories) into the last content. If there are more than one file (or directory) being copied, then the final path must be a directory. - All Content, except last, represents the files to copy. - The last Content represents the destination file (or directory) to copy to. + All bold:"Content", except last, represents the files to copy. + The last bold:"Content" represents the destination file (or directory) to copy to. - code:"define"\: This represents an environment variable to define on run. @@ -153,7 +153,7 @@ Fakefile Documentation: - code:"delete"\: Delete one or more files or directories. - All Content must be the file or directory to be deleted. + All bold:"Content" must be the file or directory to be deleted. If the path is a directory and is not empty, then this will not delete the directory. @@ -164,7 +164,7 @@ Fakefile Documentation: Performs a programmatic code:"else" condition. Must be specified following a valid if operation (and the operation it affects). - This has no Content. + This has no bold:"Content". An else operation may not follow this. An if operation may immediately follow to represent an code:"else if" condition. @@ -172,15 +172,15 @@ Fakefile Documentation: - code:"exit"\: Perform an exit from the entire make operation. This always exits completely, regardless of the operation depth. - The second Content may be either 'success' or 'failure' to designate on whether or not to exit as success or failure. + The second bold:"Content" may be either code:"success" or code:"failure" to designate on whether or not to exit as success or failure. When set to code:"failure" this will trigger a failure message. - When set to code:"failure", the fail state will be forcibly changed to code:"fail" regardless of the current fail state. + When set to code:"failure", the fail state will be forcibly changed to code:"failure" regardless of the current fail state. - code:"fail"\: Toggle how the to handle an operation failure. - The first Content may be one of the following\: + The first bold:"Content" may be one of the following\: code:"exit": Set failure handler to exit on failure. code:"warn": Set failure handler to print a warning on failure but continue on. code:"ignore": Set failure handler to continue on regardless of failure. @@ -188,8 +188,8 @@ Fakefile Documentation: - code:"group"\: Change the group role for a given file. - The first Content represents the group to assign. - The second Content represents the file to assign the group to. + The first bold:"Content" represents the group to assign. + The second bold:"Content" represents the file to assign the group to. - code:"groups"\: Identical to group operation, except this will recursively apply the mode to all files within the given file, if that file is a directory file path. @@ -198,7 +198,7 @@ Fakefile Documentation: Performs a programmatic code:"if" condition. May be specified following a valid code:"else" operation. - The Content represents a set of conditions to perform. + The bold:"Content" represents a set of conditions to perform. The code:"if" operation may be used in conjunction with the code:"and", code:"or", and the code:"else" operations. @@ -347,23 +347,23 @@ Fakefile Documentation: - code:"index"\: Execute the linker program, such as code:"ar". - All Content are passed as arguments to the respective code:"ar" program. + All bold:"Content" are passed as arguments to the respective code:"ar" program. - code:"link"\: Create a symbolic link from some point to some target. - The first Content, when there are more than 2 arguments, may be either code:"force" or code:"strict". - The second to last Content represents the target file. - The last Content represents the point file. + The first bold:"Content", when there are more than 2 arguments, may be either code:"force" or code:"strict". + The second to last bold:"Content" represents the target file. + The last bold:"Content" represents the point file. - The code:"force" Content designates that the point file will be overwritten if the file already exists. - The code:"strict" Content requires that the target file already exists. + The code:"force" bold:"Content" designates that the point file will be overwritten if the file already exists. + The code:"strict" bold:"Content" requires that the target file already exists. - code:"mode"\: Change the mode permissions for a given file. - The first Content represents the mode to assign. - The second Content represents the file to assign the mode to. + The first bold:"Content" represents the mode to assign. + The second bold:"Content" represents the file to assign the mode to. - code:"modes"\: Identical to mode operation, except this will recursively apply the mode to all files within the given file, if that file is a directory file path. @@ -372,13 +372,13 @@ Fakefile Documentation: Move all files (and directories) into the last content. If there are more than one file (or directory) being copied, then the final path must be a directory. - All Content, except last, represents the files to move. - The last Content represents the destination file (or directory) to move to. + All bold:"Content", except last, represents the files to move. + The last bold:"Content" represents the destination file (or directory) to move to. - code:"operate"\: Begin execution of another Section. - The first Content represents the name of the Section Object to execute. + The first bold:"Content" represents the name of the Section Object to execute. This may be neither the code:"settings" Section no the code:"main" Section. Recursion is prohibited, a Section that is already on the operation stack may not be called again. Once the operation is off the stack, it can then be called again. @@ -394,14 +394,14 @@ Fakefile Documentation: - code:"owner"\: Change the owner role for a given file. - The first Content represents the role to assign. - The second Content represents the file to assign the role to. + The first bold:"Content" represents the role to assign. + The second bold:"Content" represents the file to assign the role to. - code:"owners"\: Identical to owner operation, except this will recursively apply the mode to all files within the given file, if that file is a directory file path. - code:"parameter"\: - This represents a variable defined within the scope of the bold:"fakefile". + This represents a variable defined within the scope of the file:"fakefile". This is not exported as an environment variable and is therefore not visible to any executed programs or scripts. This replaces the value of any existing parameter variable with this name. The reserved parameter variable names (see IKI vocabulary context section below) may not be changed by this. @@ -410,7 +410,7 @@ Fakefile Documentation: Pop a directory path of the path stack, thereby changing to the previous directory on the stack. This is a change directory command similar to a back button in a browser. - This has no Content. + This has no bold:"Content". This does not generate an error if the path stack is empty. If the directory popping to no longer exists, then an error occurs. @@ -419,7 +419,7 @@ Fakefile Documentation: Print the content to the output screen. This always prints a newline at the end. - All Content is printed, and if no Content is provided, an empty line is printed. + All bold:"Content" is printed, and if no bold:"Content" is provided, an empty line is printed. The following escape sequences are supported for printing special characters\: - character:"\f": Form Feed. @@ -445,8 +445,8 @@ Fakefile Documentation: Manually execute a remote program or script. This program must be in the appropriate PATH environment or otherwise automatically detected when calling without a specific path to the program or script. - The first Content represents the program or script name. - All Content after the first are passed to the program or script when running. + The first bold:"Content" represents the program or script name. + All bold:"Content" after the first are passed to the program or script when running. After this executes the return result is made available via the code:"return" parameter variable name. Any existing value associated with code:"return" gets replaced. @@ -455,8 +455,8 @@ Fakefile Documentation: Manually execute a remote program or script using a specific path to the program or script. This does not require the program to exist in PATH, but the path to the program or script must be relative to the project path. - The first Content represents the program or script name. - All Content after the first are passed to the program or script when running. + The first bold:"Content" represents the program or script name. + All bold:"Content" after the first are passed to the program or script when running. After this executes the return result is made available via the code:"return" parameter variable name. Any existing value associated with code:"return" gets replaced. @@ -469,30 +469,30 @@ Fakefile Documentation: Change to the directory within the project root path tree, pushing the previous directory onto the path stack. The previous path is saved onto the path stack and may later be code:"popped" off. - The first Content represents the path to change directory into. + The first bold:"Content" represents the path to change directory into. - code:"top"\: Change to the project root path, clearing the directory path stack. - This has no Content. + This has no bold:"Content". If the project root path no longer exists, then an error occurs. - code:"touch"\: Manually create a new file or a directory within the project root or update its last changed timestamp if the file already exists. - The first Content must be either code:"file" or code:"directory". - The remaining Content must be a path to the file. + The first bold:"Content" must be either code:"file" or code:"directory". + The remaining bold:"Content" must be a path to the file. - code:"write"\: Write strings to a file within the project root. - The Content after the first Content is appended to the file. + The bold:"Content" after the first bold:"Content" is appended to the file. - The first Content represents the file to write to. - If there is no Content beyond the first, then the file is truncated (all content within the file is deleted). + The first bold:"Content" represents the file to write to. + If there is no bold:"Content" beyond the first, then the file is truncated (all content within the file is deleted). In all cases, if the file does not exist, the file is created. - When only the first Content exists, this acts similar to the code:"touch" operation. + When only the first bold:"Content" exists, this acts similar to the code:"touch" operation. The major difference between the two is that the code:"touch" operation does not alter the content within the file. This does alter the content within the file. @@ -611,7 +611,7 @@ Fakefile Documentation: - code:"work:value"\: This variable holds the value part of the code:"work" program parameters, such as code:"work/". - The Content code:"no_dereference" may be specified in certain cases relating to files. + The bold:"Content" code:"no_dereference" may be specified in certain cases relating to files. These cases operate on a file that can be a link itself or the link target. The default behavior is normally to dereference the link target. diff --git a/level_3/fake/documents/settings.txt b/level_3/fake/documents/settings.txt index 6c2cdde..214889b 100644 --- a/level_3/fake/documents/settings.txt +++ b/level_3/fake/documents/settings.txt @@ -1,12 +1,12 @@ -# fss-0002 +# fss-0002 iki-0000 # # license: open-standard-license-1.0 # # This file (assumed to be named settings.txt) can be more easily read using the following iki_read commands: -# iki_read settings.txt +Q -w -rr abbreviation-ASCII ASCII abbreviation-FLL FLL -WWW character "'" "'" code '"' '"' bold '"' '"' +# iki_read settings.txt +Q -w -rrr abbreviation-ASCII ASCII abbreviation-FLL FLL abbreviation-GCC GCC -WW character "'" "'" code '"' '"' # # To read the "Settings Documentation" section of this file, use this command sequence: -# fss_basic_list_read settings.txt +Q -cn "Settings Documentation" | iki_read +Q -w -rr abbreviation-ASCII ASCII abbreviation-FLL FLL -WWW character "'" "'" code '"' '"' bold '"' '"' +# fss_basic_list_read settings.txt +Q -cn "Settings Documentation" | iki_read +Q -w -rr abbreviation-ASCII ASCII abbreviation-FLL FLL -WW character "'" "'" code '"' '"' # Settings Documentation: @@ -17,10 +17,10 @@ Settings Documentation: - code:"build_compiler"\: This represents the name of the compiler program to use, such as code:"gcc". - This defaults to code:"gcc" (the GNU C Compiler). + This defaults to code:"gcc" (the bold:"GNU C Compiler"). The programs code:"gcc" and code:"clang" are known to work. - Many of the parameters in the bold:"settings" file can be changed if using a non-GCC, but there may be certain hard-coded functionality that may need to be changed. + Many of the parameters in the bold:"settings" file can be changed if not using abbreviation-GCC:"GNU Compiler Collection", but there may be certain hard-coded functionality that may need to be changed. - code:"build_indexer"\: This represents the name of the indexer program to use, such as code:"ar". @@ -42,58 +42,58 @@ Settings Documentation: - code:"build_libraries"\: A collection of libraries to be linked against. This should include the compiler specific parameter parts, such as the code:"-l" prefix in code:"-lc". - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. - code:"build_libraries_shared"\: A collection of libraries to be linked against. This should include the compiler specific parameter parts, such as the code:"-l" prefix in code:"-lc". - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These are applied to only shared builds. - code:"build_libraries_static"\: A collection of libraries to be linked against. This should include the compiler specific parameter parts, such as the code:"-l" prefix in code:"-lc". - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These are applied to only static builds. - code:"build_objects_library"\: A collection of object files to be compile with when building libraries. These are intended to represent already compiled object files. These paths are relative to the code:"path_object_script", code:"path_object_shared", or code:"path_object_static". - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. - code:"build_objects_library_shared"\: A collection of object files to be compile with when building shared libraries. These are intended to represent already compiled object files. These paths are relative to the code:"path_object_shared". - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These are applied to only shared builds. - code:"build_objects_library_static"\: A collection of object files to be compile with when building static libraries. These are intended to represent already compiled object files. These paths are relative to the code:"path_object_static". - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These are applied to only static builds. - code:"build_objects_program"\: A collection of object files to be compile with when building programs. These are intended to represent already compiled object files. These paths are relative to the code:"path_object_script", code:"path_object_shared", or code:"path_object_static". - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. - code:"build_objects_program_shared"\: A collection of object files to be compile with when building shared programs. These are intended to represent already compiled object files. These paths are relative to the code:"path_object_shared". - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These are applied to only shared builds. - code:"build_objects_program_static"\: A collection of object files to be compile with when building static programs. These are intended to represent already compiled object files. These paths are relative to the code:"path_object_static". - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These are applied to only static builds. - code:"build_name"\: @@ -111,19 +111,19 @@ Settings Documentation: - code:"build_sources_headers"\: A collection of header files. May include a relative sub-path to each individual header (such as: code:"level_0/a.h level_0/b.h level_1/c.h"). - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. - code:"build_sources_headers_shared"\: A collection of header files. May include a relative sub-path to each individual header (such as: code:"level_0/a.h level_0/b.h level_1/c.h"). - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. Be careful not to have any conflicting names between this and build_sources_headers_static in case of when static and shared builds are both enabled. These are applied to only shared builds. - code:"build_sources_headers_static"\: A collection of header files. May include a relative sub-path to each individual header (such as: code:"level_0/a.h level_0/b.h level_1/c.h"). - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These files are used when compiling the library. Be careful not to have any conflicting names between this and build_sources_headers_shared in case of when static and shared builds are both enabled. These are applied to only static builds. @@ -131,18 +131,18 @@ Settings Documentation: - code:"build_sources_library"\: A collection of library related source files. May include a relative sub-path to each individual source file (such as: code:"level_0/a.c level_0/b.c level_1/c.c"). - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. - code:"build_sources_library_shared"\: A collection of library related source files. May include a relative sub-path to each individual source file (such as: code:"level_0/a.c level_0/b.c level_1/c.c"). - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These are applied to only shared builds. - code:"build_sources_library_static"\: A collection of library related source files. May include a relative sub-path to each individual source file (such as: code:"level_0/a.c level_0/b.c level_1/c.c"). - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These are applied to only static builds. - code:"build_sources_object"\: @@ -171,19 +171,19 @@ Settings Documentation: - code:"build_sources_program"\: A collection of program related source files. May include a relative sub-path to each individual source file (such as: code:"level_0/a.c level_0/b.c level_1/c.c"). - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These files are used when compiling the program. - code:"build_sources_program_shared"\: A collection of program related source files. May include a relative sub-path to each individual source file (such as: code:"level_0/a.c level_0/b.c level_1/c.c"). - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These files are used when compiling the program for shared builds. - code:"build_sources_program_static"\: A collection of program related source files. May include a relative sub-path to each individual source file (such as: code:"level_0/a.c level_0/b.c level_1/c.c"). - The order of these may matter if the compiler (such as GCC or a linker via GCC) is order sensitive. + The order of these may matter if the compiler (such as abbreviation-GCC:"GNU Compiler Collection" or a linker via abbreviation-GCC:"GNU Compiler Collection") is order sensitive. These files are used when compiling the program for static builds. - code:"build_sources_script"\: @@ -276,7 +276,7 @@ Settings Documentation: - code:"environment"\: A collection of environment names to pass from the callers environment into the executed programs environment. When provided, all environment variables are removed when calling user-space programs, such as code:"gcc". - To remove all environment variables define this with no Content. + To remove all environment variables define this with no bold:"Content". When not provided, all environment variables are loaded. - code:"flags"\: @@ -441,7 +441,7 @@ Settings Documentation: When this is code:"no" and the code:"build_sources_headers" has header files code:"xxx/a.h yyy/a.h", then one of the code:"a.h" files will be overwritten, depending on order they were supplied. - code:"process_post"\: - The filename (relative to the code:"data/build/" directory) of a script to execute after the code:"build" operation successfully completes. + The filename (relative to the file:"data/build/" directory) of a script to execute after the code:"build" operation successfully completes. A small subset of parameters from the main execution are passed to this script during execution as parameters (using short parameter codes)\: Color context parameters, such as: code:"+l", code:"+n", and code:"+d". Operation mode, such as: code:"build", code:"clean", code:"make", or code:"skeleton". @@ -455,7 +455,7 @@ Settings Documentation: Work Path parameter, such as code:"-w X', whereas code:"X" is any valid argument associated with code:"-w". - code:"process_pre"\: - The filename (relative to the code:"data/build/" directory) of a script to execute before the code:"build" operation is executed. + The filename (relative to the file:"data/build/" directory) of a script to execute before the code:"build" operation is executed. A small subset of parameters from the main execution are passed to this script during execution as parameters (using short parameter codes)\: Color context parameters, such as: code:"+l", code:"+n", and code:"+d". Operation mode, such as: code:"build", code:"clean", code:"make", or code:"skeleton". diff --git a/level_3/fake/specifications/fakefile.txt b/level_3/fake/specifications/fakefile.txt index b62b843..6cb340e 100644 --- a/level_3/fake/specifications/fakefile.txt +++ b/level_3/fake/specifications/fakefile.txt @@ -3,27 +3,27 @@ # license: open-standard-license-1.0 # # This file (assumed to be named fakefile.txt) can be more easily read using the following iki_read commands: -# iki_read fakefile.txt +Q -w -WWW character "'" "'" code '"' '"' bold '"' '"' +# iki_read fakefile.txt +Q -w -WW character "'" "'" code '"' '"' # # To read the "Fakefile Specification" section of this file, use this command sequence: -# fss_basic_list_read fakefile.txt +Q -cn "Fakefile Specification" | iki_read +Q -w -WWW character "'" "'" code '"' '"' bold '"' '"' +# fss_basic_list_read fakefile.txt +Q -cn "Fakefile Specification" | iki_read +Q -w -WW character "'" "'" code '"' '"' # Fakefile Specification: - The bold:"fakefile" file follows the code:"FSS-0005 (Somewhat Basic List)" format with a sub-format of code:"IKI-0002 (Simple Script)". + The file:"fakefile" file follows the code:"FSS-0005 (Somewhat Basic List)" format with a sub-format of code:"IKI-0002 (Simple Script)". - A bold:"fakefile" is broken up into multiple Basic Lists, referred to as Sections, with two special purpose reserved Sections. - The Sections are broken up into multiple Extended Objects and their respective Contents, referred to as Section Operations. + A file:"fakefile" is broken up into multiple bold:"Basic Lists", referred to as bold:"Sections", with two special purpose reserved bold:"Sections". + The bold:"Sections" are broken up into multiple bold:"Extended Objects" and their respective bold:"Contents", referred to as bold"Section Operations". - Each of these non-reserved Sections acts as a set to perform some set of Section Operations. - Each of these Section Operations perform a single command or action based on a set of reserved Section Operation types. - Each of these Section Operations have a set of Arguments associated with them. + Each of these non-reserved Sections acts as a set to perform some set of bold:"Section Operations". + Each of these bold:"Section Operations" perform a single command or action based on a set of reserved bold:"Section Operation" types. + Each of these bold:"Section Operations" have a set of bold:"Arguments" associated with them. - How these Arguments are interpreted and processed are specific to each Operation type. - The Section Operations are represented by the Extended Object name and the Extended Content represents the Operation Arguments. - Each of these Section Operations support IKI variable substitution within their respective Arguments. - The Operation Extended Object does not support IKI variable substitution. - The reserved Settings Section does not support IKI variable substitution. + How these bold:"Arguments" are interpreted and processed are specific to each bold:"Operation" type. + The bold:"Section Operations" are represented by the bold:"Extended Object" name and the bold:"Extended Content" represents the bold:"Operation Arguments". + Each of these bold:"Section Operations" support bold:"IKI" variable substitution within their respective bold:"Arguments". + The bold:"Operation Extended Object" does not support bold:"IKI" variable substitution. + The reserved bold:"Settings Section" does not support bold:"IKI" variable substitution. The code:"IKI-0002 (Simple Script)" vocabulary context is further clarified as follows\: - code:"context": The value is case-sensitive variable name. @@ -31,80 +31,80 @@ Fakefile Specification: - code:"parameter": The value is a case-sensitive variable name. - Many parameters also support code:":option" and code:":value" appended at the end of the value. - The reserved Section Objects are\: - - code:"settings": contains a list of Settings Objects and Content in code:"FSS-0001 (Extended)" format. - - code:"main:" contains a list of Operation Objects and Content in code:"FSS-0001 (Extended)" format. + The reserved bold:"Section Objects" are\: + - code:"settings": contains a list of bold:"Settings Objects" and bold:"Content" in code:"FSS-0001 (Extended)" format. + - code:"main:" contains a list of bold:"Operation Objects" and bold:"Content" in code:"FSS-0001 (Extended)" format. - The Settings Objects are\: - - code:"compiler": Only one Content, which must only be a valid filename. - - code:"define": First Content represents variable name (case-sensitive), remaining Content represents the value. - - code:"environment": Zero or more Content representing valid environment variable names (alpha-numeric with underscore, but cannot begin with a number). - - code:"fail": Only one Content, which must be either code:"exit", code:"warn" or code:"ignore" (quotes not required) (case-sensitive). - - code:"import": Only one Content, which must only be a valid filename. - - code:"indexer": Only one Content, which must only be a valid filename. + The bold:"Settings Objects" are\: + - code:"compiler": Only one bold:"Content", which must only be a valid filename. + - code:"define": First bold:"Content" represents variable name (case-sensitive), remaining bold:"Content" represents the value. + - code:"environment": Zero or more bold:"Content" representing valid environment variable names (alpha-numeric with underscore, but cannot begin with a number). + - code:"fail": Only one bold:"Content", which must be either code:"exit", code:"warn" or code:"ignore" (quotes not required) (case-sensitive). + - code:"import": Only one bold:"Content", which must only be a valid filename. + - code:"indexer": Only one bold:"Content", which must only be a valid filename. - code:"indexer_arguments: Zero or more arguments supported by the indexer specified in code:"build_indexer". - - code:"load_build": Only one Content, which must be either code:"yes" or code:"no" (quotes not required) (case-sensitive). - - code:"parameter": First Content represents variable name (case-sensitive), remaining Content represents the value. + - code:"load_build": Only one bold:"Content", which must be either code:"yes" or code:"no" (quotes not required) (case-sensitive). + - code:"parameter": First bold:"Content" represents variable name (case-sensitive), remaining bold:"Content" represents the value. - The build settings may also be specified in the Settings Section. + The build settings may also be specified in the bold:"Settings Section". - The Section Operation Objects are\: - - code:"and": One or more Content. First Content is the condition or code:"no_dereference" (when code:"no_dereference", then the Second Content is the condition, etc..), remaining Content are specific to the condition. - - code:"break": Zero or one Content. If specified, First content must be one of code:"success" or code:"failure". - - code:"build": Zero or more Content. First Content represents file name of the settings file to use, Second Content and on represent custom modes to use. - - code:"clean": Zero Content. - - code:"clone": Two or more Content representing paths to files. - - code:"compile": One or more Content as parameters to compiler. - - code:"copy": Two or more Content representing paths to files. - - code:"define": First Content represents variable name (case-sensitive), remaining Content represents the value. - - code:"delete": One or more Content representing paths to files. - - code:"deletes": One or more Content representing paths to files. - - code:"else": Zero Content. - - code:"exit": Zero or One Content. If specified, First content must be one of code:"succeed" or code:"fail". - - code:"fail": One Content. First Content must be one of code:"exit", code:"warn", or code:"ignore" (case-sensitive). - - code:"group": Two or more Content. First Content is group name, number, or code:"no_dereference" (when code:"no_dereference", then the second Content is the group name or number, etc..), remaining Content are paths to files. - - code:"groups": Two or more Content. First Content is group name, number, or code:"no_dereference" (when code:"no_dereference", then the second Content is the group name or number, etc..), remaining Content are paths to files. - - code:"if": One or more Content. First Content is the condition or is code:"no_dereference" (when code:"no_dereference", then the Second Content is the condition, etc..), remaining Content are specific to the condition. - - code:"index": One or more Content. - - code:"link": Two to Four Content. The first and second Content may be either code:"force" or code:"strict", the second to last Content is the link target file, and the last Content is the pointer file (the link). - - code:"mode": Two or more Content. First Content is the mode, remaining Content are paths to files. - - code:"modes": Two or more Content. First Content is the mode, remaining Content are paths to files. - - code:"move": Two or more Content representing paths to files. - - code:"operate": One Content. First Content is the name of a valid Section Object, except for the reserved Section Objects. - - code:"or": One or more Content. First Content is the condition or code:"no_dereference" (when code:"no_dereference", then the Second Content is the condition, etc..), remaining Content are specific to the condition. - - code:"owner": Two or more Content. First Content is owner name, number, or code:"no_dereference" (when code:"no_dereference", then the second Content is the owner name or number, etc..), remaining Content are paths to files. - - code:"owners": Two or more Content. First Content is owner name, number, or code:"no_dereference" (when code:"no_dereference", then the second Content is the owner name or number, etc..), remaining Content are paths to files. - - code:"parameter": First Content represents variable name (case-sensitive), remaining Content represents the value. - - code:"pop": Zero Content. - - code:"print": Zero or more Content. - - code:"run": One or more Content. First Content is the name of the program (or script) and all remaining Content are passed as arguments to the named program (or script). - - code:"shell": One or more Content. First Content is the file path of the program (or script) and all remaining Content are passed as arguments to the named program (or script). - - code:"skeleton": Zero Content. - - code:"to": One Content. First Content is the directory path. - - code:"top": Zero Content. - - code:"touch": Two or more Content. First Content is one of code:"file" or code:"directory", remaining Content are paths to files. - - code:"write": One or more Content. First Content the file to write to, remaining Content represent the string to write. + The bold:"Section Operation Objects" are\: + - code:"and": One or more bold:"Content". First bold:"Content" is the condition or code:"no_dereference" (when code:"no_dereference", then the second bold:"Content" is the condition, etc..), remaining bold:"Content" are specific to the condition. + - code:"break": Zero or one bold:"Content". If specified, First bold:"Content" must be one of code:"success" or code:"failure". + - code:"build": Zero or more bold:"Content". First bold:"Content" represents file name of the settings file to use, second bold:"Content" and on represent custom modes to use. + - code:"clean": Zero bold:"Content". + - code:"clone": Two or more bold:"Content" representing paths to files. + - code:"compile": One or more bold:"Content" as parameters to compiler. + - code:"copy": Two or more bold:"Content" representing paths to files. + - code:"define": First bold:"Content" represents variable name (case-sensitive), remaining bold:"Content" represents the value. + - code:"delete": One or more bold:"Content" representing paths to files. + - code:"deletes": One or more bold:"Content" representing paths to files. + - code:"else": Zero bold:"Content". + - code:"exit": Zero or one bold:"Content". If specified, first bold:"Content" must be one of code:"succeed" or code:"fail". + - code:"fail": One Content. First bold:"Content" must be one of code:"exit", code:"warn", or code:"ignore" (case-sensitive). + - code:"group": Two or more bold:"Content". First bold:"Content" is group name, number, or code:"no_dereference" (when code:"no_dereference", then the second bold:"Content" is the group name or number, etc..), remaining bold:"Content" are paths to files. + - code:"groups": Two or more bold:"Content". First bold:"Content" is group name, number, or code:"no_dereference" (when code:"no_dereference", then the second bold:"Content" is the group name or number, etc..), remaining bold:"Content" are paths to files. + - code:"if": One or more bold:"Content". First bold:"Content" is the condition or is code:"no_dereference" (when code:"no_dereference", then the second bold:"Content" is the condition, etc..), remaining bold:"Content" are specific to the condition. + - code:"index": One or more bold:"Content". + - code:"link": Two to Four bold:"Content". The first and second bold:"Content" may be either code:"force" or code:"strict", the second to last bold:"Content" is the link target file, and the last bold:"Content" is the pointer file (the link). + - code:"mode": Two or more bold:"Content". First bold:"Content" is the mode, remaining bold:"Content" are paths to files. + - code:"modes": Two or more bold:"Content". First bold:"Content" is the mode, remaining bold:"Content" are paths to files. + - code:"move": Two or more bold:"Content" representing paths to files. + - code:"operate": One bold:"Content". First bold:"Content" is the name of a valid bold:"Section Object", except for the reserved bold:"Section Objects". + - code:"or": One or more bold:"Content". First bold:"Content" is the condition or code:"no_dereference" (when code:"no_dereference", then the second bold:"Content" is the condition, etc..), remaining bold:"Content" are specific to the condition. + - code:"owner": Two or more Content. First bold:"Content" is owner name, number, or code:"no_dereference" (when code:"no_dereference", then the second bold:"Content" is the owner name or number, etc..), remaining bold:"Content" are paths to files. + - code:"owners": Two or more bold:"Content". First bold:"Content" is owner name, number, or code:"no_dereference" (when code:"no_dereference", then the second bold:"Content" is the owner name or number, etc..), remaining bold:"Content" are paths to files. + - code:"parameter": First bold:"Content" represents variable name (case-sensitive), remaining bold:"Content" represents the value. + - code:"pop": Zero bold:"Content". + - code:"print": Zero or more bold:"Content". + - code:"run": One or more bold:"Content". First bold:"Content" is the name of the program (or script) and all remaining bold:"Content" are passed as arguments to the named program (or script). + - code:"shell": One or more bold:"Content". First bold:"Content" is the file path of the program (or script) and all remaining bold:"Content" are passed as arguments to the named program (or script). + - code:"skeleton": Zero bold:"Content". + - code:"to": One bold:"Content". First bold:"Content" is the directory path. + - code:"top": Zero bold:"Content". + - code:"touch": Two or more bold:"Content". First bold:"Content" is one of code:"file" or code:"directory", remaining bold:"Content" are paths to files. + - code:"write": One or more bold:"Content". First bold:"Content" the file to write to, remaining bold:"Content" represent the string to write. - The code:"if" Section Operation conditions are\: - - code:"==": Two or more Content. - - code:">": Two or more Content. - - code:"<": Two or more Content. - - code:">=": Two or more Content. - - code:"<=": Two or more Content. - - code:"<>": Two or more Content. - - code:"define": One or more Content are valid environment variable name. - - code:"exist": One or more Content representing the files to check the existence of. - - code:"failure": has no other Content. - - code:"group": First Content is the name of a group. Second or more Content are paths to files. - - code:"is": First Content is a list of code:"block", code:"character", code:"no_dereference", code:"directory", code:"fifo", code:"link", code:"regular" , or code:"socket" followed by "for" and then the Remaining Content that are paths to files. - - code:"mode": First Content is either code:"has", code:"is", or code:"no_dereference". Second Content is a valid file mode. Third or more Content are paths to files. - - code:"no_dereference": A non-condition inserted before any of code:"exist", code:"is", and code:"mode" (then the second Content is the actual condition followed by any Content associated with that condition). - - code:"not": First Content is one of code:"define", code:"exist", code:"group", code:"is", code:"mode", code:"no_dereference", code:"owner", or code:"parameter" and all remaining Content are based on the First Content's code:"if" Section Operation Content rules. - - code:"owner": First Content is the name of an owner. Second or more Content are paths to files. - - code:"parameter": One or more Content are valid IKI names. - - code:"success": has no other Content. + The code:"if" bold:"Section Operation" conditions are\: + - code:"==": Two or more bold:"Content". + - code:">": Two or more bold:"Content". + - code:"<": Two or more bold:"Content". + - code:">=": Two or more bold:"Content". + - code:"<=": Two or more bold:"Content". + - code:"<>": Two or more bold:"Content". + - code:"define": One or more bold:"Content" are valid environment variable name. + - code:"exist": One or more bold:"Content" representing the files to check the existence of. + - code:"failure": has no other bold:"Content". + - code:"group": First bold:"Content" is the name of a group. Second or more bold:"Content" are paths to files. + - code:"is": First bold:"Content" is a list of code:"block", code:"character", code:"no_dereference", code:"directory", code:"fifo", code:"link", code:"regular" , or code:"socket" followed by "for" and then the remaining bold:"Content" that are paths to files. + - code:"mode": First bold:"Content" is either code:"has", code:"is", or code:"no_dereference". Second bold:"Content" is a valid file mode. Third or more bold:"Content" are paths to files. + - code:"no_dereference": A non-condition inserted before any of code:"exist", code:"is", and code:"mode" (then the second bold:"Content" is the actual condition followed by any bold:"Content" associated with that condition). + - code:"not": First bold:"Content" is one of code:"define", code:"exist", code:"group", code:"is", code:"mode", code:"no_dereference", code:"owner", or code:"parameter" and all remaining bold:"Content" are based on the first bold:"Content"'s code:"if" bold:"Section Operation Content" rules. + - code:"owner": First bold:"Content" is the name of an owner. Second or more bold:"Content" are paths to files. + - code:"parameter": One or more bold:"Content" are valid bold:"IKI" names. + - code:"success": has no other bold:"Content". - The code:"if" Section Operation conditions and numbers\: + The code:"if" bold:"Section Operation" conditions and numbers\: The numbers may be represented in any of the forms\: 1) code:"decimal": all numbers without a base-type prefix are of base-type 10, referred to as decimal. 2) code:"binary": all numbers with the prefix code:"0b" (uppercase or lowercase character:'b') are of base-type 2, referred to as binary. @@ -123,6 +123,6 @@ Fakefile Specification: - code:">=" - code:"<=" - The code:"if" Section Operation condition code:"parameter"\: + The code:"if" bold:"Section Operation" condition code:"parameter"\: The following reserved words are available for parameter names: code:"build", code:"color", code:"current", code:"data", code:"define", code:"fakefile", code:"mode", code:"process", code:"return", code:"settings", code:"sources", code:"top", code:"verbosity", and code:"work". Each of the reserved words supports having code:":option" and code:":value" appended, such as: code:"work:value". diff --git a/level_3/fake/specifications/settings.txt b/level_3/fake/specifications/settings.txt index 32f57d5..b6969e7 100644 --- a/level_3/fake/specifications/settings.txt +++ b/level_3/fake/specifications/settings.txt @@ -3,29 +3,29 @@ # license: open-standard-license-1.0 # # This file (assumed to be named settings.txt) can be more easily read using the following iki_read commands: -# iki_read settings.txt +Q -w -WWW character "'" "'" code '"' '"' bold '"' '"' +# iki_read settings.txt +Q -w -WW character "'" "'" code '"' '"' # # To read the "Settings Specification" section of this file, use this command sequence: -# fss_basic_list_read settings.txt +Q -cn "Settings Specification" | iki_read +Q -w -WWW character "'" "'" code '"' '"' bold '"' '"' +# fss_basic_list_read settings.txt +Q -cn "Settings Specification" | iki_read +Q -w -WW character "'" "'" code '"' '"' # Settings Specification: The build settings bold:"settings" file follows the code:"FSS-0001 (Extended)" format. - Each Object represents a settings property name. + Each bold:"Object" represents a settings property name. There is only a distinct set of setting property names (see below). - Each Content represents the values associated with that property. - Additional restrictions are applied to each Content depending on each specific Object name (see below). + Each bold:"Content" represents the values associated with that property. + Additional restrictions are applied to each bold:"Content" depending on each specific bold:"Object" name (see below). - Object Names and their respective Content purpose/restrictions\: - - code:"build_compiler": Only one Content, which must only be a valid filename. - - code:"build_indexer": Only one Content, which must only be a valid filename. + bold:"Object" names and their respective bold:"Content" purpose/restrictions\: + - code:"build_compiler": Only one bold:"Content", which must only be a valid filename. + - code:"build_indexer": Only one bold:"Content", which must only be a valid filename. - code:"build_indexer_arguments": Zero or more arguments supported by the indexer specified in code:"build_indexer". - code:"build_language": Must only be one of: code:"bash", code:"c", or code:"c++". - - code:"build_libraries": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object. - - code:"build_libraries_shared": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object. - - code:"build_libraries_static": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" Object. + - code:"build_libraries": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" bold:"Object". + - code:"build_libraries_shared": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" bold:"Object". + - code:"build_libraries_static": Must only contain any number of valid library include arguments that are valid for the compiler defined in "build_compiler" bold:"Object". - code:"build_name": Must only contain characters allowed in a filename. - code:"build_objects_library": Must only contain any number of valid object file names relative to the appropriate code:"path_object_*" path. - code:"build_objects_library_shared": Must only contain any number of valid object file names relative to the code:"path_object_shared" path. @@ -76,9 +76,9 @@ Settings Specification: - code:"flags_shared": Must only contain any number of parameters supported by the compiler specified in code:"build_compiler". - code:"flags_static": Must only contain any number of parameters supported by the compiler specified in code:"build_compiler". - code:"has_path_standard": Must only one of: code:"yes" or code:"no". - - code:"import": Only one Content, which must only be a valid filename. + - code:"import": Only one bold:"Content", which must only be a valid filename. - code:"modes": Any valid word character, character:'-', or character:'+'. - - code:"modes_default": May only be a single complete Content word defined in code:"modes" Object. + - code:"modes_default": May only be a single complete bold:"Content" word defined in code:"modes" bold:"Object". - code:"path_headers": Must be a single valid path. - code:"path_language": Must be a single valid path. - code:"path_library_script": Must be a single valid path. @@ -93,8 +93,8 @@ Settings Specification: - code:"path_sources": Must only be a valid directory path or not specified. - code:"path_sources_object": Must only be a valid directory path or not specified. - code:"preserve_path_headers": Must only be one of code:"yes" or code:"no". - - code:"process_post": Only one Content, which must only be a valid filename. - - code:"process_pre": Only one Content, which must only be a valid filename. + - code:"process_post": Only one bold:"Content", which must only be a valid filename. + - code:"process_pre": Only one bold:"Content", which must only be a valid filename. - code:"search_exclusive": Must only one of: code:"yes" or code:"no". - code:"search_shared": Must only one of: code:"yes" or code:"no". - code:"search_static": Must only one of: code:"yes" or code:"no". @@ -109,4 +109,4 @@ Settings Specification: - code:"version_nano_prefix": Must be zero or more valid filename characters. - code:"version_target": Must only be one of: code:"major", code:"minor", code:"micro", or code:"nano". - All Object names support having a code:"-" and a code:"mode" name, such as code:"build_libraries-individual" for a mode called code:"individual", except for the code:"modes" and the code:"modes_default" Object names. + All bold:"Object" names support having a code:"-" and a code:"mode" name, such as code:"build_libraries-individual" for a mode called code:"individual", except for the code:"modes" and the code:"modes_default" bold:"Object" names.