]> Kevux Git Server - fll/commitdiff
Progress: Continue work, focusing on organizing Featureless Make directory structure.
authorKevin Day <kevin@kevux.org>
Tue, 14 Feb 2023 05:12:37 +0000 (23:12 -0600)
committerKevin Day <kevin@kevux.org>
Tue, 14 Feb 2023 05:12:37 +0000 (23:12 -0600)
I am planning on moving all of the print functions into appropriate print source and header files.
While planning this it occurred to me that I first should restructure.

This restructures the code.
Some code has been copied into other files.
This makes the current state rather messy.

Expect follow up commits (eventually) to further clean and organize these.
Expect more files resulting from further clean up and organization.

69 files changed:
level_3/fake/c/main/build.c [moved from level_3/fake/c/main/private-build.c with 98% similarity]
level_3/fake/c/main/build.h [moved from level_3/fake/c/main/private-build.h with 98% similarity]
level_3/fake/c/main/build/library.c [moved from level_3/fake/c/main/private-build-library.c with 99% similarity]
level_3/fake/c/main/build/library.h [moved from level_3/fake/c/main/private-build-library.h with 100% similarity]
level_3/fake/c/main/build/load.c [moved from level_3/fake/c/main/private-build-load.c with 99% similarity]
level_3/fake/c/main/build/load.h [moved from level_3/fake/c/main/private-build-load.h with 100% similarity]
level_3/fake/c/main/build/object.c [moved from level_3/fake/c/main/private-build-object.c with 98% similarity]
level_3/fake/c/main/build/object.h [moved from level_3/fake/c/main/private-build-object.h with 100% similarity]
level_3/fake/c/main/build/objects.c [moved from level_3/fake/c/main/private-build-objects.c with 98% similarity]
level_3/fake/c/main/build/objects.h [moved from level_3/fake/c/main/private-build-objects.h with 100% similarity]
level_3/fake/c/main/build/print.c [new file with mode: 0644]
level_3/fake/c/main/build/print.h [new file with mode: 0644]
level_3/fake/c/main/build/program.c [moved from level_3/fake/c/main/private-build-program.c with 98% similarity]
level_3/fake/c/main/build/program.h [moved from level_3/fake/c/main/private-build-program.h with 100% similarity]
level_3/fake/c/main/build/skeleton.c [moved from level_3/fake/c/main/private-build-skeleton.c with 96% similarity]
level_3/fake/c/main/build/skeleton.h [moved from level_3/fake/c/main/private-build-skeleton.h with 100% similarity]
level_3/fake/c/main/clean.c [moved from level_3/fake/c/main/private-clean.c with 97% similarity]
level_3/fake/c/main/clean.h [moved from level_3/fake/c/main/private-clean.h with 100% similarity]
level_3/fake/c/main/clean/print.c [new file with mode: 0644]
level_3/fake/c/main/clean/print.h [new file with mode: 0644]
level_3/fake/c/main/common-string.c [deleted file]
level_3/fake/c/main/common-string.h [deleted file]
level_3/fake/c/main/common.c
level_3/fake/c/main/common.h
level_3/fake/c/main/common/print.c [moved from level_3/fake/c/main/common-print.c with 99% similarity]
level_3/fake/c/main/common/print.h [moved from level_3/fake/c/main/common-print.h with 100% similarity]
level_3/fake/c/main/common/string.c [new file with mode: 0644]
level_3/fake/c/main/common/string.h [new file with mode: 0644]
level_3/fake/c/main/common/type.c [moved from level_3/fake/c/main/common-type.c with 79% similarity]
level_3/fake/c/main/common/type.h [moved from level_3/fake/c/main/common-type.h with 100% similarity]
level_3/fake/c/main/fake.c
level_3/fake/c/main/fake.h
level_3/fake/c/main/fake/path_generate.c [moved from level_3/fake/c/main/private-fake-path_generate.c with 99% similarity]
level_3/fake/c/main/fake/path_generate.h [moved from level_3/fake/c/main/private-fake-path_generate.h with 100% similarity]
level_3/fake/c/main/fake/print.c [new file with mode: 0644]
level_3/fake/c/main/fake/print.h [new file with mode: 0644]
level_3/fake/c/main/make.c [moved from level_3/fake/c/main/private-make.c with 99% similarity]
level_3/fake/c/main/make.h [moved from level_3/fake/c/main/private-make.h with 100% similarity]
level_3/fake/c/main/make/load_fakefile.c [moved from level_3/fake/c/main/private-make-load_fakefile.c with 99% similarity]
level_3/fake/c/main/make/load_fakefile.h [moved from level_3/fake/c/main/private-make-load_fakefile.h with 100% similarity]
level_3/fake/c/main/make/load_parameters.c [moved from level_3/fake/c/main/private-make-load_parameters.c with 99% similarity]
level_3/fake/c/main/make/load_parameters.h [moved from level_3/fake/c/main/private-make-load_parameters.h with 100% similarity]
level_3/fake/c/main/make/operate.c [moved from level_3/fake/c/main/private-make-operate.c with 99% similarity]
level_3/fake/c/main/make/operate.h [moved from level_3/fake/c/main/private-make-operate.h with 100% similarity]
level_3/fake/c/main/make/operate_block.c [moved from level_3/fake/c/main/private-make-operate_block.c with 99% similarity]
level_3/fake/c/main/make/operate_block.h [moved from level_3/fake/c/main/private-make-operate_block.h with 100% similarity]
level_3/fake/c/main/make/operate_process.c [moved from level_3/fake/c/main/private-make-operate_process.c with 98% similarity]
level_3/fake/c/main/make/operate_process.h [moved from level_3/fake/c/main/private-make-operate_process.h with 100% similarity]
level_3/fake/c/main/make/operate_process_type.c [moved from level_3/fake/c/main/private-make-operate_process_type.c with 99% similarity]
level_3/fake/c/main/make/operate_process_type.h [moved from level_3/fake/c/main/private-make-operate_process_type.h with 100% similarity]
level_3/fake/c/main/make/operate_validate.c [moved from level_3/fake/c/main/private-make-operate_validate.c with 96% similarity]
level_3/fake/c/main/make/operate_validate.h [moved from level_3/fake/c/main/private-make-operate_validate.h with 100% similarity]
level_3/fake/c/main/make/operate_validate_type.c [moved from level_3/fake/c/main/private-make-operate_validate_type.c with 99% similarity]
level_3/fake/c/main/make/operate_validate_type.h [moved from level_3/fake/c/main/private-make-operate_validate_type.h with 100% similarity]
level_3/fake/c/main/make/print.c [new file with mode: 0644]
level_3/fake/c/main/make/print.h [new file with mode: 0644]
level_3/fake/c/main/print.c
level_3/fake/c/main/print.h
level_3/fake/c/main/private-common.c
level_3/fake/c/main/private-common.h
level_3/fake/c/main/private-fake.c
level_3/fake/c/main/private-fake.h
level_3/fake/c/main/private-print.c
level_3/fake/c/main/private-print.h
level_3/fake/c/main/skeleton.c [moved from level_3/fake/c/main/private-skeleton.c with 99% similarity]
level_3/fake/c/main/skeleton.h [moved from level_3/fake/c/main/private-skeleton.h with 100% similarity]
level_3/fake/c/main/skeleton/print.c [new file with mode: 0644]
level_3/fake/c/main/skeleton/print.h [new file with mode: 0644]
level_3/fake/data/build/settings

similarity index 98%
rename from level_3/fake/c/main/private-build.c
rename to level_3/fake/c/main/build.c
index be1a25cc5317d6b738c5e89aea6eca2f782af15c..53c0e1ca0600e42c94f3ea145d511346b645483c 100644 (file)
@@ -1,27 +1,26 @@
 #include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build.h"
-#include "private-build-library.h"
-#include "private-build-load.h"
-#include "private-build-object.h"
-#include "private-build-objects.h"
-#include "private-build-program.h"
-#include "private-build-skeleton.h"
-#include "private-print.h"
+#include "build.h"
+#include "build/library.h"
+#include "build/load.h"
+#include "build/object.h"
+#include "build/objects.h"
+#include "build/print.h"
+#include "build/program.h"
+#include "build/skeleton.h"
+#include "print.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#ifndef _di_fake_build_strings_
+#ifndef _di_fake_build_s_
 const f_string_static_t fake_build_documentation_files_s = macro_f_string_static_t_initialize(FAKE_build_documentation_files_s, 0, FAKE_build_documentation_files_s_length);
   const f_string_static_t fake_build_header_files_s = macro_f_string_static_t_initialize(FAKE_build_header_files_s, 0, FAKE_build_header_files_s_length);
   const f_string_static_t fake_build_header_files_shared_s = macro_f_string_static_t_initialize(FAKE_build_header_files_shared_s, 0, FAKE_build_header_files_shared_s_length);
   const f_string_static_t fake_build_header_files_static_s = macro_f_string_static_t_initialize(FAKE_build_header_files_static_s, 0, FAKE_build_header_files_static_s_length);
   const f_string_static_t fake_build_scripts_s = macro_f_string_static_t_initialize(FAKE_build_scripts_s, 0, FAKE_build_scripts_s_length);
   const f_string_static_t fake_build_setting_files_s = macro_f_string_static_t_initialize(FAKE_build_setting_files_s, 0, FAKE_build_setting_files_s_length);
-#endif // _di_fake_build_strings_
+#endif // _di_fake_build_s_
 
 #ifndef _di_fake_build_arguments_standard_add_
   void fake_build_arguments_standard_add(fake_data_t * const data, fake_build_data_t * const data_build, const bool is_shared, const uint8_t type, f_string_dynamics_t *arguments, f_status_t *status) {
@@ -514,7 +513,7 @@ const f_string_static_t fake_build_documentation_files_s = macro_f_string_static
         *status = f_file_copy(path_source, destination_file, mode, F_file_default_read_size_d, f_file_stat_flag_reference_e);
 
         if (F_status_is_error(*status)) {
-          fake_print_error_build_operation_file(data, F_status_set_fine(*status), "f_file_copy", f_file_operation_copy_s, f_file_operation_to_s, path_source, destination_file, F_true);
+          fake_print_error_build_operation_file(data, F_status_set_fine(*status), macro_fake_f(f_file_copy), f_file_operation_copy_s, f_file_operation_to_s, path_source, destination_file, F_true);
 
           break;
         }
similarity index 98%
rename from level_3/fake/c/main/private-build.h
rename to level_3/fake/c/main/build.h
index a473c35b51b7c17ff8b220c8c79b9fc57ffb451a..2808300841103bfc8e2760fbf119fbfbbe66c48b 100644 (file)
@@ -12,7 +12,7 @@
 extern "C" {
 #endif
 
-#ifndef _di_fake_build_strings_
+#ifndef _di_fake_build_s_
   #define FAKE_build_documentation_files_s "documentation files"
   #define FAKE_build_header_files_s        "header files"
   #define FAKE_build_header_files_shared_s "shared header files"
@@ -33,7 +33,7 @@ extern "C" {
   extern const f_string_static_t fake_build_header_files_static_s;
   extern const f_string_static_t fake_build_scripts_s;
   extern const f_string_static_t fake_build_setting_files_s;
-#endif // _di_fake_build_strings_
+#endif // _di_fake_build_s_
 
 /**
  * Build Types.
@@ -43,13 +43,13 @@ extern "C" {
  *   - object:  An object build type.
  *   - program: A program build type.
  */
-#ifndef _di_fake_build_types_
+#ifndef _di_fake_build_type_e_
   enum {
     fake_build_type_library_e = 1,
     fake_build_type_object_e,
     fake_build_type_program_e,
   };
-#endif // _di_fake_build_types_
+#endif // _di_fake_build_type_e_
 
 /**
  * Add the standard arguments for building a library/program.
similarity index 99%
rename from level_3/fake/c/main/private-build-library.c
rename to level_3/fake/c/main/build/library.c
index 75d1e9ad44485d218697eac3a90d622311a51dfd..95f5feb7603445dd81395b8ca8f944644cd56633 100644 (file)
@@ -1,7 +1,5 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build.h"
+#include "../fake.h"
+#include "../build.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 99%
rename from level_3/fake/c/main/private-build-load.c
rename to level_3/fake/c/main/build/load.c
index 302b2c1f37d7b905f027cc1da78998b190e62227..a3eae98ebee22a010221d5edae494b5d4298fc45 100644 (file)
@@ -1,8 +1,6 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build-load.h"
-#include "private-print.h"
+#include "../fake.h"
+#include "../print.h"
+#include "load.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 98%
rename from level_3/fake/c/main/private-build-object.c
rename to level_3/fake/c/main/build/object.c
index eb86130f00b52dcc1a18e6b5b72a63282bf7c6a2..d7d4ffb20f3b726066ea0973490bcb0ff6959ebc 100644 (file)
@@ -1,8 +1,6 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build.h"
-#include "private-build-object.h"
+#include "../fake.h"
+#include "../build.h"
+#include "object.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 98%
rename from level_3/fake/c/main/private-build-objects.c
rename to level_3/fake/c/main/build/objects.c
index 34ae8ffeb6f0ce4a8ac4c843908a3882e22b38f3..db38b6965c1c307686e98a4065f71df4e0112153 100644 (file)
@@ -1,8 +1,6 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build.h"
-#include "private-build-objects.h"
+#include "../fake.h"
+#include "../build.h"
+#include "objects.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/level_3/fake/c/main/build/print.c b/level_3/fake/c/main/build/print.c
new file mode 100644 (file)
index 0000000..9dcac6e
--- /dev/null
@@ -0,0 +1,10 @@
+#include "../fake.h"
+#include "print.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_3/fake/c/main/build/print.h b/level_3/fake/c/main/build/print.h
new file mode 100644 (file)
index 0000000..779a1a0
--- /dev/null
@@ -0,0 +1,19 @@
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ */
+#ifndef _PRIVATE_build_print_h
+#define _PRIVATE_build_print_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _PRIVATE_build_print_h
similarity index 98%
rename from level_3/fake/c/main/private-build-program.c
rename to level_3/fake/c/main/build/program.c
index 520e80f6322926e67aa3722ff928f22bb3c13eec..9b3867250e12bf2cfc0385366d3c15d6303ae1bb 100644 (file)
@@ -1,8 +1,6 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build.h"
-#include "private-build-program.h"
+#include "../fake.h"
+#include "../build.h"
+#include "program.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 96%
rename from level_3/fake/c/main/private-build-skeleton.c
rename to level_3/fake/c/main/build/skeleton.c
index 2dc84981a95b2ad3a3c33c806305c8add939f7eb..f118cc3185d48ab20c5dc51e63b7538e2a81d4a1 100644 (file)
@@ -1,8 +1,6 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build.h"
-#include "private-build-skeleton.h"
+#include "../fake.h"
+#include "../build.h"
+#include "skeleton.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 97%
rename from level_3/fake/c/main/private-clean.c
rename to level_3/fake/c/main/clean.c
index a9d5e4dfa5943306a23f96cf2bd257574e716abc..f60042521a1729d61c2a11a18e61cf9a77d6e1e3 100644 (file)
@@ -1,6 +1,5 @@
 #include "fake.h"
-#include "private-common.h"
-#include "private-clean.h"
+#include "clean.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/level_3/fake/c/main/clean/print.c b/level_3/fake/c/main/clean/print.c
new file mode 100644 (file)
index 0000000..9dcac6e
--- /dev/null
@@ -0,0 +1,10 @@
+#include "../fake.h"
+#include "print.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_3/fake/c/main/clean/print.h b/level_3/fake/c/main/clean/print.h
new file mode 100644 (file)
index 0000000..8608a37
--- /dev/null
@@ -0,0 +1,19 @@
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ */
+#ifndef _PRIVATE_clean_print_h
+#define _PRIVATE_clean_print_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _PRIVATE_clean_print_h
diff --git a/level_3/fake/c/main/common-string.c b/level_3/fake/c/main/common-string.c
deleted file mode 100644 (file)
index 958e664..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-#include "fake.h"
-#include "private-common.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _di_fake_program_version_s_
-  const f_string_static_t fake_program_version_s = macro_f_string_static_t_initialize(FAKE_program_version_s, 0, FAKE_program_version_s_length);
-#endif // _di_fake_program_version_s_
-
-#ifndef _di_fake_program_name_s_
-  const f_string_static_t fake_program_name_s = macro_f_string_static_t_initialize(FAKE_program_name_s, 0, FAKE_program_name_s_length);
-  const f_string_static_t fake_program_name_long_s = macro_f_string_static_t_initialize(FAKE_program_name_long_s, 0, FAKE_program_name_long_s_length);
-#endif // _di_fake_program_name_s_
-
-#ifndef _di_fake_program_help_parameter_s_
-  const f_string_static_t fake_program_help_parameters_s = macro_f_string_static_t_initialize(FAKE_program_help_parameters_s, 0, FAKE_program_help_parameters_s_length);
-#endif // _di_fake_program_help_parameter_s_
-
-#ifndef _di_fake_path_s_
-  const f_string_static_t fake_path_part_build_s = macro_f_string_static_t_initialize(FAKE_path_part_build_s, 0, FAKE_path_part_build_s_length);
-  const f_string_static_t fake_path_part_c_s = macro_f_string_static_t_initialize(FAKE_path_part_c_s, 0, FAKE_path_part_c_s_length);
-  const f_string_static_t fake_path_part_cpp_s = macro_f_string_static_t_initialize(FAKE_path_part_cpp_s, 0, FAKE_path_part_cpp_s_length);
-  const f_string_static_t fake_path_part_data_s = macro_f_string_static_t_initialize(FAKE_path_part_data_s, 0, FAKE_path_part_data_s_length);
-  const f_string_static_t fake_path_part_documentation_s = macro_f_string_static_t_initialize(FAKE_path_part_documentation_s, 0, FAKE_path_part_documentation_s_length);
-  const f_string_static_t fake_path_part_documents_s = macro_f_string_static_t_initialize(FAKE_path_part_documents_s, 0, FAKE_path_part_documents_s_length);
-  const f_string_static_t fake_path_part_includes_s = macro_f_string_static_t_initialize(FAKE_path_part_includes_s, 0, FAKE_path_part_includes_s_length);
-  const f_string_static_t fake_path_part_libraries_s = macro_f_string_static_t_initialize(FAKE_path_part_libraries_s, 0, FAKE_path_part_libraries_s_length);
-  const f_string_static_t fake_path_part_licenses_s = macro_f_string_static_t_initialize(FAKE_path_part_licenses_s, 0, FAKE_path_part_licenses_s_length);
-  const f_string_static_t fake_path_part_objects_s = macro_f_string_static_t_initialize(FAKE_path_part_objects_s, 0, FAKE_path_part_objects_s_length);
-  const f_string_static_t fake_path_part_process_s = macro_f_string_static_t_initialize(FAKE_path_part_process_s, 0, FAKE_path_part_process_s_length);
-  const f_string_static_t fake_path_part_programs_s = macro_f_string_static_t_initialize(FAKE_path_part_programs_s, 0, FAKE_path_part_programs_s_length);
-  const f_string_static_t fake_path_part_script_s = macro_f_string_static_t_initialize(FAKE_path_part_script_s, 0, FAKE_path_part_script_s_length);
-  const f_string_static_t fake_path_part_settings_s = macro_f_string_static_t_initialize(FAKE_path_part_settings_s, 0, FAKE_path_part_settings_s_length);
-  const f_string_static_t fake_path_part_shared_s = macro_f_string_static_t_initialize(FAKE_path_part_shared_s, 0, FAKE_path_part_shared_s_length);
-  const f_string_static_t fake_path_part_shell_s = macro_f_string_static_t_initialize(FAKE_path_part_shell_s, 0, FAKE_path_part_shell_s_length);
-  const f_string_static_t fake_path_part_specifications_s = macro_f_string_static_t_initialize(FAKE_path_part_specifications_s, 0, FAKE_path_part_specifications_s_length);
-  const f_string_static_t fake_path_part_stage_s = macro_f_string_static_t_initialize(FAKE_path_part_stage_s, 0, FAKE_path_part_stage_s_length);
-  const f_string_static_t fake_path_part_static_s = macro_f_string_static_t_initialize(FAKE_path_part_static_s, 0, FAKE_path_part_static_s_length);
-#endif // _di_fake_path_s_
-
-#ifndef _di_fake_file_s_
-  const f_string_static_t fake_file_defines_s = macro_f_string_static_t_initialize(FAKE_file_defines_s, 0, FAKE_file_defines_s_length);
-  const f_string_static_t fake_file_dependencies_s = macro_f_string_static_t_initialize(FAKE_file_dependencies_s, 0, FAKE_file_dependencies_s_length);
-  const f_string_static_t fake_file_process_pre_s = macro_f_string_static_t_initialize(FAKE_file_process_pre_s, 0, FAKE_file_process_pre_s_length);
-  const f_string_static_t fake_file_process_post_s = macro_f_string_static_t_initialize(FAKE_file_process_post_s, 0, FAKE_file_process_post_s_length);
-  const f_string_static_t fake_file_readme_s = macro_f_string_static_t_initialize(FAKE_file_readme_s, 0, FAKE_file_readme_s_length);
-#endif // _di_fake_file_s_
-
-#ifndef _di_fake_default_s_
-  const f_string_static_t fake_default_build_s = macro_f_string_static_t_initialize(FAKE_default_build_s, 0, FAKE_default_build_s_length);
-  const f_string_static_t fake_default_data_s = macro_f_string_static_t_initialize(FAKE_default_data_s, 0, FAKE_default_data_s_length);
-  const f_string_static_t fake_default_documents_s = macro_f_string_static_t_initialize(FAKE_default_documents_s, 0, FAKE_default_documents_s_length);
-  const f_string_static_t fake_default_fakefile_s = macro_f_string_static_t_initialize(FAKE_default_fakefile_s, 0, FAKE_default_fakefile_s_length);
-  const f_string_static_t fake_default_licenses_s = macro_f_string_static_t_initialize(FAKE_default_licenses_s, 0, FAKE_default_licenses_s_length);
-  const f_string_static_t fake_default_process_s = macro_f_string_static_t_initialize(FAKE_default_process_s, 0, FAKE_default_process_s_length);
-  const f_string_static_t fake_default_settings_s = macro_f_string_static_t_initialize(FAKE_default_settings_s, 0, FAKE_default_settings_s_length);
-  const f_string_static_t fake_default_sources_s = macro_f_string_static_t_initialize(FAKE_default_sources_s, 0, FAKE_default_sources_s_length);
-  const f_string_static_t fake_default_work_s = macro_f_string_static_t_initialize(FAKE_default_work_s, 0, FAKE_default_work_s_length);
-#endif // _di_fake_default_s_
-
-#ifndef _di_fake_build_language_s_
-  const f_string_static_t fake_build_language_bash_s = macro_f_string_static_t_initialize(FAKE_build_language_bash_s, 0, FAKE_build_language_bash_s_length);
-  const f_string_static_t fake_build_language_c_s = macro_f_string_static_t_initialize(FAKE_build_language_c_s, 0, FAKE_build_language_c_s_length);
-  const f_string_static_t fake_build_language_cpp_s = macro_f_string_static_t_initialize(FAKE_build_language_cpp_s, 0, FAKE_build_language_cpp_s_length);
-  const f_string_static_t fake_build_language_zsh_s = macro_f_string_static_t_initialize(FAKE_build_language_zsh_s, 0, FAKE_build_language_zsh_s_length);
-#endif // _di_fake_build_language_s_
-
-#ifndef _di_fake_build_version_s_
-  const f_string_static_t fake_build_version_major_s = macro_f_string_static_t_initialize(FAKE_build_version_major_s, 0, FAKE_build_version_major_s_length);
-  const f_string_static_t fake_build_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_version_minor_s, 0, FAKE_build_version_minor_s_length);
-  const f_string_static_t fake_build_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_version_micro_s, 0, FAKE_build_version_micro_s_length);
-  const f_string_static_t fake_build_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_version_nano_s, 0, FAKE_build_version_nano_s_length);
-#endif // _di_fake_build_version_s_
-
-#ifndef _di_fake_parameter_s_
-  const f_string_static_t fake_short_build_s = macro_f_string_static_t_initialize(FAKE_short_build_s, 0, FAKE_short_build_s_length);
-  const f_string_static_t fake_short_data_s = macro_f_string_static_t_initialize(FAKE_short_data_s, 0, FAKE_short_data_s_length);
-  const f_string_static_t fake_short_define_s = macro_f_string_static_t_initialize(FAKE_short_define_s, 0, FAKE_short_define_s_length);
-  const f_string_static_t fake_short_documents_s = macro_f_string_static_t_initialize(FAKE_short_documents_s, 0, FAKE_short_documents_s_length);
-  const f_string_static_t fake_short_fakefile_s = macro_f_string_static_t_initialize(FAKE_short_fakefile_s, 0, FAKE_short_fakefile_s_length);
-  const f_string_static_t fake_short_licenses_s = macro_f_string_static_t_initialize(FAKE_short_licenses_s, 0, FAKE_short_licenses_s_length);
-  const f_string_static_t fake_short_mode_s = macro_f_string_static_t_initialize(FAKE_short_mode_s, 0, FAKE_short_mode_s_length);
-  const f_string_static_t fake_short_process_s = macro_f_string_static_t_initialize(FAKE_short_process_s, 0, FAKE_short_process_s_length);
-  const f_string_static_t fake_short_settings_s = macro_f_string_static_t_initialize(FAKE_short_settings_s, 0, FAKE_short_settings_s_length);
-  const f_string_static_t fake_short_sources_s = macro_f_string_static_t_initialize(FAKE_short_sources_s, 0, FAKE_short_sources_s_length);
-  const f_string_static_t fake_short_work_s = macro_f_string_static_t_initialize(FAKE_short_work_s, 0, FAKE_short_work_s_length);
-
-  const f_string_static_t fake_long_build_s = macro_f_string_static_t_initialize(FAKE_long_build_s, 0, FAKE_long_build_s_length);
-  const f_string_static_t fake_long_data_s = macro_f_string_static_t_initialize(FAKE_long_data_s, 0, FAKE_long_data_s_length);
-  const f_string_static_t fake_long_define_s = macro_f_string_static_t_initialize(FAKE_long_define_s, 0, FAKE_long_define_s_length);
-  const f_string_static_t fake_long_documents_s = macro_f_string_static_t_initialize(FAKE_long_documents_s, 0, FAKE_long_documents_s_length);
-  const f_string_static_t fake_long_fakefile_s = macro_f_string_static_t_initialize(FAKE_long_fakefile_s, 0, FAKE_long_fakefile_s_length);
-  const f_string_static_t fake_long_licenses_s = macro_f_string_static_t_initialize(FAKE_long_licenses_s, 0, FAKE_long_licenses_s_length);
-  const f_string_static_t fake_long_mode_s = macro_f_string_static_t_initialize(FAKE_long_mode_s, 0, FAKE_long_mode_s_length);
-  const f_string_static_t fake_long_process_s = macro_f_string_static_t_initialize(FAKE_long_process_s, 0, FAKE_long_process_s_length);
-  const f_string_static_t fake_long_settings_s = macro_f_string_static_t_initialize(FAKE_long_settings_s, 0, FAKE_long_settings_s_length);
-  const f_string_static_t fake_long_sources_s = macro_f_string_static_t_initialize(FAKE_long_sources_s, 0, FAKE_long_sources_s_length);
-  const f_string_static_t fake_long_work_s = macro_f_string_static_t_initialize(FAKE_long_work_s, 0, FAKE_long_work_s_length);
-
-  const f_string_static_t fake_long_documents_disabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_disabled_s, 0, FAKE_long_documents_disabled_s_length);
-  const f_string_static_t fake_long_documents_enabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_enabled_s, 0, FAKE_long_documents_enabled_s_length);
-  const f_string_static_t fake_long_shared_disabled_s = macro_f_string_static_t_initialize(FAKE_long_shared_disabled_s, 0, FAKE_long_shared_disabled_s_length);
-  const f_string_static_t fake_long_shared_enabled_s = macro_f_string_static_t_initialize(FAKE_long_shared_enabled_s, 0, FAKE_long_shared_enabled_s_length);
-  const f_string_static_t fake_long_static_disabled_s = macro_f_string_static_t_initialize(FAKE_long_static_disabled_s, 0, FAKE_long_static_disabled_s_length);
-  const f_string_static_t fake_long_static_enabled_s = macro_f_string_static_t_initialize(FAKE_long_static_enabled_s, 0, FAKE_long_static_enabled_s_length);
-
-  const f_string_static_t fake_other_operation_build_s = macro_f_string_static_t_initialize(FAKE_other_operation_build_s, 0, FAKE_other_operation_build_s_length);
-  const f_string_static_t fake_other_operation_clean_s = macro_f_string_static_t_initialize(FAKE_other_operation_clean_s, 0, FAKE_other_operation_clean_s_length);
-  const f_string_static_t fake_other_operation_make_s = macro_f_string_static_t_initialize(FAKE_other_operation_make_s, 0, FAKE_other_operation_make_s_length);
-  const f_string_static_t fake_other_operation_skeleton_s = macro_f_string_static_t_initialize(FAKE_other_operation_skeleton_s, 0, FAKE_other_operation_skeleton_s_length);
-#endif // _di_fake_parameter_s_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
diff --git a/level_3/fake/c/main/common-string.h b/level_3/fake/c/main/common-string.h
deleted file mode 100644 (file)
index fcdc877..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-/**
- * FLL - Level 3
- *
- * Project: Featureless Make
- * API Version: 0.7
- * Licenses: lgpl-2.1-or-later
- *
- * Provides the common string structures.
- *
- * This is auto-included and should not need to be explicitly included.
- */
-#ifndef _fake_common_string_h
-#define _fake_common_string_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * The program version.
- */
-#ifndef _di_fake_program_version_s_
-  #define FAKE_program_version_major_s F_string_ascii_0_s
-  #define FAKE_program_version_minor_s F_string_ascii_7_s
-  #define FAKE_program_version_micro_s F_string_ascii_0_s
-
-  #define FAKE_program_version_major_s_length F_string_ascii_0_s_length
-  #define FAKE_program_version_minor_s_length F_string_ascii_7_s_length
-  #define FAKE_program_version_micro_s_length F_string_ascii_0_s_length
-
-  #ifndef FAKE_program_version_nano_prefix_s
-    #define FAKE_program_version_nano_prefix_s
-    #define FAKE_program_version_nano_prefix_s_length 0
-  #endif // FAKE_program_version_major_s_length F_string_ascii_0_s_length
-
-  #ifndef FAKE_program_version_nano_s
-    #define FAKE_program_version_nano_s
-    #define FAKE_program_version_nano_s_length 0
-  #endif // FAKE_program_version_nano_s
-
-  #define FAKE_program_version_s FAKE_program_version_major_s F_string_ascii_period_s FAKE_program_version_minor_s F_string_ascii_period_s FAKE_program_version_micro_s FAKE_program_version_nano_prefix_s FAKE_program_version_nano_s
-
-  #define FAKE_program_version_s_length FAKE_program_version_major_s_length + F_string_ascii_period_s_length + FAKE_program_version_minor_s_length + F_string_ascii_period_s_length + FAKE_program_version_micro_s_length + FAKE_program_version_nano_prefix_s_length + FAKE_program_version_nano_s_length
-
-  extern const f_string_static_t fake_program_version_s;
-#endif // _di_fake_program_version_s_
-
-/**
- * The program name.
- */
-#ifndef _di_fake_program_name_s_
-  #define FAKE_program_name_s      "fake"
-  #define FAKE_program_name_long_s "Featureless Make"
-
-  #define FAKE_program_name_s_length      4
-  #define FAKE_program_name_long_s_length 16
-
-  extern const f_string_static_t fake_program_name_s;
-  extern const f_string_static_t fake_program_name_long_s;
-#endif // _di_fake_program_name_s_
-
-/**
- * The program help related data.
- */
-#ifndef _di_fake_program_help_parameter_s_
-  #define FAKE_program_help_parameters_s "operation / section"
-
-  #define FAKE_program_help_parameters_s_length 19
-
-  extern const f_string_static_t fake_program_help_parameters_s;
-#endif // _di_fake_program_help_parameter_s_
-
-/**
- * The build operation utilizes pre-defined path structures.
- * These structures are hard-coded by their individual pieces to be constructed later on.
- */
-#ifndef _di_fake_path_s_
-  #define FAKE_path_part_build_s          "build"          F_path_separator_s
-  #define FAKE_path_part_c_s              "c"              F_path_separator_s
-  #define FAKE_path_part_cpp_s            "c++"            F_path_separator_s
-  #define FAKE_path_part_data_s           "data"           F_path_separator_s
-  #define FAKE_path_part_documentation_s  "documentation"  F_path_separator_s
-  #define FAKE_path_part_documents_s      "documents"      F_path_separator_s
-  #define FAKE_path_part_includes_s       "includes"       F_path_separator_s
-  #define FAKE_path_part_libraries_s      "libraries"      F_path_separator_s
-  #define FAKE_path_part_licenses_s       "licenses"       F_path_separator_s
-  #define FAKE_path_part_objects_s        "objects"        F_path_separator_s
-  #define FAKE_path_part_process_s        "process"        F_path_separator_s
-  #define FAKE_path_part_programs_s       "programs"       F_path_separator_s
-  #define FAKE_path_part_script_s         "script"         F_path_separator_s
-  #define FAKE_path_part_settings_s       "settings"       F_path_separator_s
-  #define FAKE_path_part_shared_s         "shared"         F_path_separator_s
-  #define FAKE_path_part_shell_s          "shell"          F_path_separator_s
-  #define FAKE_path_part_specifications_s "specifications" F_path_separator_s
-  #define FAKE_path_part_stage_s          "stage"          F_path_separator_s
-  #define FAKE_path_part_static_s         "static"         F_path_separator_s
-
-  #define FAKE_path_part_build_s_length          5 + F_path_separator_s_length
-  #define FAKE_path_part_c_s_length              1 + F_path_separator_s_length
-  #define FAKE_path_part_cpp_s_length            3 + F_path_separator_s_length
-  #define FAKE_path_part_data_s_length           4 + F_path_separator_s_length
-  #define FAKE_path_part_documentation_s_length  13 + F_path_separator_s_length
-  #define FAKE_path_part_documents_s_length      9 + F_path_separator_s_length
-  #define FAKE_path_part_includes_s_length       8 + F_path_separator_s_length
-  #define FAKE_path_part_libraries_s_length      9 + F_path_separator_s_length
-  #define FAKE_path_part_licenses_s_length       8 + F_path_separator_s_length
-  #define FAKE_path_part_objects_s_length        7 + F_path_separator_s_length
-  #define FAKE_path_part_process_s_length        7 + F_path_separator_s_length
-  #define FAKE_path_part_programs_s_length       8 + F_path_separator_s_length
-  #define FAKE_path_part_script_s_length         6 + F_path_separator_s_length
-  #define FAKE_path_part_settings_s_length       8 + F_path_separator_s_length
-  #define FAKE_path_part_shared_s_length         6 + F_path_separator_s_length
-  #define FAKE_path_part_shell_s_length          5 + F_path_separator_s_length
-  #define FAKE_path_part_specifications_s_length 14 + F_path_separator_s_length
-  #define FAKE_path_part_stage_s_length          5 + F_path_separator_s_length
-  #define FAKE_path_part_static_s_length         6 + F_path_separator_s_length
-
-  extern const f_string_static_t fake_path_part_build_s;
-  extern const f_string_static_t fake_path_part_c_s;
-  extern const f_string_static_t fake_path_part_cpp_s;
-  extern const f_string_static_t fake_path_part_data_s;
-  extern const f_string_static_t fake_path_part_documentation_s;
-  extern const f_string_static_t fake_path_part_documents_s;
-  extern const f_string_static_t fake_path_part_includes_s;
-  extern const f_string_static_t fake_path_part_libraries_s;
-  extern const f_string_static_t fake_path_part_licenses_s;
-  extern const f_string_static_t fake_path_part_objects_s;
-  extern const f_string_static_t fake_path_part_process_s;
-  extern const f_string_static_t fake_path_part_programs_s;
-  extern const f_string_static_t fake_path_part_script_s;
-  extern const f_string_static_t fake_path_part_settings_s;
-  extern const f_string_static_t fake_path_part_shared_s;
-  extern const f_string_static_t fake_path_part_shell_s;
-  extern const f_string_static_t fake_path_part_specifications_s;
-  extern const f_string_static_t fake_path_part_stage_s;
-  extern const f_string_static_t fake_path_part_static_s;
-#endif // _di_fake_path_s_
-
-/**
- * The file settings.
- */
-#ifndef _di_fake_file_s_
-  #define FAKE_file_defines_s      "defines"
-  #define FAKE_file_dependencies_s "dependencies"
-  #define FAKE_file_process_pre_s  "process_pre.sh"
-  #define FAKE_file_process_post_s "process_post.sh"
-  #define FAKE_file_readme_s       "readme.txt"
-
-  #define FAKE_file_defines_s_length      7
-  #define FAKE_file_dependencies_s_length 12
-  #define FAKE_file_process_pre_s_length  14
-  #define FAKE_file_process_post_s_length 15
-  #define FAKE_file_readme_s_length       10
-
-  extern const f_string_static_t fake_file_defines_s;
-  extern const f_string_static_t fake_file_dependencies_s;
-  extern const f_string_static_t fake_file_process_pre_s;
-  extern const f_string_static_t fake_file_process_post_s;
-  extern const f_string_static_t fake_file_readme_s;
-#endif // _di_fake_file_s_
-
-/**
- * Provide default settings.
- */
-#ifndef _di_fake_default_s_
-  #define FAKE_default_build_s     "build"     F_path_separator_s
-  #define FAKE_default_data_s      "data"      F_path_separator_s
-  #define FAKE_default_documents_s "documents" F_path_separator_s
-  #define FAKE_default_fakefile_s  "fakefile"
-  #define FAKE_default_licenses_s  "licenses"  F_path_separator_s
-  #define FAKE_default_process_s   ""
-  #define FAKE_default_settings_s  "settings"
-  #define FAKE_default_sources_s   "sources"   F_path_separator_s
-  #define FAKE_default_work_s      ""
-
-  #define FAKE_default_build_s_length     5 + F_path_separator_s_length
-  #define FAKE_default_data_s_length      4 + F_path_separator_s_length
-  #define FAKE_default_documents_s_length 9 + F_path_separator_s_length
-  #define FAKE_default_fakefile_s_length  8
-  #define FAKE_default_licenses_s_length  8 + F_path_separator_s_length
-  #define FAKE_default_process_s_length   0
-  #define FAKE_default_settings_s_length  8
-  #define FAKE_default_sources_s_length   7 + F_path_separator_s_length
-  #define FAKE_default_work_s_length      0
-
-  extern const f_string_static_t fake_default_build_s;
-  extern const f_string_static_t fake_default_data_s;
-  extern const f_string_static_t fake_default_documents_s;
-  extern const f_string_static_t fake_default_fakefile_s;
-  extern const f_string_static_t fake_default_licenses_s;
-  extern const f_string_static_t fake_default_process_s;
-  extern const f_string_static_t fake_default_settings_s;
-  extern const f_string_static_t fake_default_sources_s;
-  extern const f_string_static_t fake_default_work_s;
-#endif // _di_fake_default_s_
-
-/**
- * The build language strings.
- *
- * fake_build_language_*_s:
- *   - bash: The GNU Bash language.
- *   - c:    The C language.
- *   - cpp:  The C++ language.
- *   - zsh:  The ZSH language (Similar to and somewhat compatible with GNU Bash).
- */
-#ifndef _di_fake_build_language_s_
-  #define FAKE_build_language_bash_s "bash"
-  #define FAKE_build_language_c_s    "c"
-  #define FAKE_build_language_cpp_s  "c++"
-  #define FAKE_build_language_zsh_s  "zsh"
-
-  #define FAKE_build_language_bash_s_length 4
-  #define FAKE_build_language_c_s_length    1
-  #define FAKE_build_language_cpp_s_length  3
-  #define FAKE_build_language_zsh_s_length  3
-
-  extern const f_string_static_t fake_build_language_bash_s;
-  extern const f_string_static_t fake_build_language_c_s;
-  extern const f_string_static_t fake_build_language_cpp_s;
-  extern const f_string_static_t fake_build_language_zsh_s;
-#endif // _di_fake_build_language_s_
-
-/**
- * The program version strings.
- */
-#ifndef _di_fake_build_version_s_
-  #define FAKE_build_version_major_s "major"
-  #define FAKE_build_version_minor_s "minor"
-  #define FAKE_build_version_micro_s "micro"
-  #define FAKE_build_version_nano_s  "nano"
-
-  #define FAKE_build_version_major_s_length 5
-  #define FAKE_build_version_minor_s_length 5
-  #define FAKE_build_version_micro_s_length 5
-  #define FAKE_build_version_nano_s_length  4
-
-  extern const f_string_static_t fake_build_version_major_s;
-  extern const f_string_static_t fake_build_version_minor_s;
-  extern const f_string_static_t fake_build_version_micro_s;
-  extern const f_string_static_t fake_build_version_nano_s;
-#endif // _di_fake_build_version_s_
-
-/**
- * The main program parameters.
- */
-#ifndef _di_fake_parameter_s_
-  #define FAKE_short_build_s     "b"
-  #define FAKE_short_data_s      "D"
-  #define FAKE_short_define_s    "d"
-  #define FAKE_short_documents_s "O"
-  #define FAKE_short_fakefile_s  "f"
-  #define FAKE_short_licenses_s  "l"
-  #define FAKE_short_mode_s      "m"
-  #define FAKE_short_process_s   "p"
-  #define FAKE_short_settings_s  "s"
-  #define FAKE_short_sources_s   "S"
-  #define FAKE_short_work_s      "w"
-
-  #define FAKE_long_build_s     "build"
-  #define FAKE_long_data_s      "data"
-  #define FAKE_long_define_s    "define"
-  #define FAKE_long_documents_s "documents"
-  #define FAKE_long_fakefile_s  "fakefile"
-  #define FAKE_long_licenses_s  "licenses"
-  #define FAKE_long_mode_s      "mode"
-  #define FAKE_long_process_s   "process"
-  #define FAKE_long_settings_s  "settings"
-  #define FAKE_long_sources_s   "sources"
-  #define FAKE_long_work_s      "work"
-
-  // These special parameters are provided in such a way that they mimic the traditional ./configure script.
-  #define FAKE_long_documents_disabled_s "disable-doc"
-  #define FAKE_long_documents_enabled_s  "enable-doc"
-  #define FAKE_long_shared_disabled_s    "disable-shared"
-  #define FAKE_long_shared_enabled_s     "enable-shared"
-  #define FAKE_long_static_disabled_s    "disable-static"
-  #define FAKE_long_static_enabled_s     "enable-static"
-
-  #define FAKE_other_operation_build_s    "build"
-  #define FAKE_other_operation_clean_s    "clean"
-  #define FAKE_other_operation_make_s     "make"
-  #define FAKE_other_operation_skeleton_s "skeleton"
-
-  #define FAKE_short_build_s_length     1
-  #define FAKE_short_data_s_length      1
-  #define FAKE_short_define_s_length    1
-  #define FAKE_short_documents_s_length 1
-  #define FAKE_short_fakefile_s_length  1
-  #define FAKE_short_licenses_s_length  1
-  #define FAKE_short_mode_s_length      1
-  #define FAKE_short_process_s_length   1
-  #define FAKE_short_settings_s_length  1
-  #define FAKE_short_sources_s_length   1
-  #define FAKE_short_work_s_length      1
-
-  #define FAKE_long_build_s_length     5
-  #define FAKE_long_data_s_length      4
-  #define FAKE_long_define_s_length    6
-  #define FAKE_long_documents_s_length 9
-  #define FAKE_long_fakefile_s_length  8
-  #define FAKE_long_licenses_s_length  8
-  #define FAKE_long_mode_s_length      4
-  #define FAKE_long_process_s_length   7
-  #define FAKE_long_settings_s_length  8
-  #define FAKE_long_sources_s_length   7
-  #define FAKE_long_work_s_length      4
-
-  #define FAKE_long_documents_disabled_s_length 11
-  #define FAKE_long_documents_enabled_s_length  10
-  #define FAKE_long_shared_disabled_s_length    14
-  #define FAKE_long_shared_enabled_s_length     13
-  #define FAKE_long_static_disabled_s_length    14
-  #define FAKE_long_static_enabled_s_length     13
-
-  #define FAKE_other_operation_build_s_length    5
-  #define FAKE_other_operation_clean_s_length    5
-  #define FAKE_other_operation_make_s_length     4
-  #define FAKE_other_operation_skeleton_s_length 8
-
-  extern const f_string_static_t fake_short_build_s;
-  extern const f_string_static_t fake_short_data_s;
-  extern const f_string_static_t fake_short_define_s;
-  extern const f_string_static_t fake_short_documents_s;
-  extern const f_string_static_t fake_short_fakefile_s;
-  extern const f_string_static_t fake_short_licenses_s;
-  extern const f_string_static_t fake_short_mode_s;
-  extern const f_string_static_t fake_short_process_s;
-  extern const f_string_static_t fake_short_settings_s;
-  extern const f_string_static_t fake_short_sources_s;
-  extern const f_string_static_t fake_short_work_s;
-
-  extern const f_string_static_t fake_long_build_s;
-  extern const f_string_static_t fake_long_data_s;
-  extern const f_string_static_t fake_long_define_s;
-  extern const f_string_static_t fake_long_documents_s;
-  extern const f_string_static_t fake_long_fakefile_s;
-  extern const f_string_static_t fake_long_licenses_s;
-  extern const f_string_static_t fake_long_mode_s;
-  extern const f_string_static_t fake_long_process_s;
-  extern const f_string_static_t fake_long_settings_s;
-  extern const f_string_static_t fake_long_sources_s;
-  extern const f_string_static_t fake_long_work_s;
-
-  extern const f_string_static_t fake_long_documents_disabled_s;
-  extern const f_string_static_t fake_long_documents_enabled_s;
-  extern const f_string_static_t fake_long_shared_disabled_s;
-  extern const f_string_static_t fake_long_shared_enabled_s;
-  extern const f_string_static_t fake_long_static_disabled_s;
-  extern const f_string_static_t fake_long_static_enabled_s;
-
-  extern const f_string_static_t fake_other_operation_build_s;
-  extern const f_string_static_t fake_other_operation_clean_s;
-  extern const f_string_static_t fake_other_operation_make_s;
-  extern const f_string_static_t fake_other_operation_skeleton_s;
-#endif // _di_fake_parameter_s_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _fake_common_string_h
index 6e1971f6cfc135e89cf0118b3316ab2e21a746d2..ab1c44841a64b6f73473a28d0c9d4f246ca08276 100644 (file)
@@ -1,5 +1,4 @@
 #include "fake.h"
-#include "private-common.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -519,6 +518,87 @@ extern "C" {
   }
 #endif // _di_fake_setting_unload_
 
+#ifndef _di_fake_data_delete_
+  f_status_t fake_data_delete(fake_data_t * const data) {
+
+    f_string_dynamic_resize(0, &data->path_build);
+    f_string_dynamic_resize(0, &data->path_build_documentation);
+    f_string_dynamic_resize(0, &data->path_build_documents);
+    f_string_dynamic_resize(0, &data->path_build_includes);
+    f_string_dynamic_resize(0, &data->path_build_libraries);
+    f_string_dynamic_resize(0, &data->path_build_libraries_script);
+    f_string_dynamic_resize(0, &data->path_build_libraries_shared);
+    f_string_dynamic_resize(0, &data->path_build_libraries_static);
+    f_string_dynamic_resize(0, &data->path_build_objects);
+    f_string_dynamic_resize(0, &data->path_build_objects_script);
+    f_string_dynamic_resize(0, &data->path_build_objects_shared);
+    f_string_dynamic_resize(0, &data->path_build_objects_static);
+    f_string_dynamic_resize(0, &data->path_build_programs);
+    f_string_dynamic_resize(0, &data->path_build_programs_script);
+    f_string_dynamic_resize(0, &data->path_build_programs_shared);
+    f_string_dynamic_resize(0, &data->path_build_programs_static);
+    f_string_dynamic_resize(0, &data->path_build_settings);
+    f_string_dynamic_resize(0, &data->path_build_stage);
+
+    f_string_dynamic_resize(0, &data->path_data_build);
+    f_string_dynamic_resize(0, &data->path_data_documentation);
+    f_string_dynamic_resize(0, &data->path_data_settings);
+
+    f_string_dynamic_resize(0, &data->path_documents);
+
+    f_string_dynamic_resize(0, &data->path_licenses);
+
+    f_string_dynamic_resize(0, &data->path_work_includes);
+    f_string_dynamic_resize(0, &data->path_work_libraries);
+    f_string_dynamic_resize(0, &data->path_work_libraries_script);
+    f_string_dynamic_resize(0, &data->path_work_libraries_shared);
+    f_string_dynamic_resize(0, &data->path_work_libraries_static);
+    f_string_dynamic_resize(0, &data->path_work_programs);
+    f_string_dynamic_resize(0, &data->path_work_programs_script);
+    f_string_dynamic_resize(0, &data->path_work_programs_shared);
+    f_string_dynamic_resize(0, &data->path_work_programs_static);
+
+    f_string_dynamic_resize(0, &data->file_data_build_defines);
+    f_string_dynamic_resize(0, &data->file_data_build_dependencies);
+    f_string_dynamic_resize(0, &data->file_data_build_process_post);
+    f_string_dynamic_resize(0, &data->file_data_build_process_pre);
+    f_string_dynamic_resize(0, &data->file_data_build_fakefile);
+    f_string_dynamic_resize(0, &data->file_data_build_settings);
+
+    f_string_dynamic_resize(0, &data->file_documents_readme);
+
+    return F_none;
+  }
+#endif // _di_fake_data_delete_
+
+#ifndef _di_fake_make_data_delete_
+  f_status_t fake_make_data_delete(fake_make_data_t * const data) {
+
+    macro_fake_build_setting_t_delete_simple(data->setting_build);
+    macro_fake_make_setting_t_delete_simple(data->setting_make);
+
+    f_string_maps_resize(0, &data->environment);
+
+    macro_fake_make_parameter_delete_simple(data->parameter);
+    macro_fake_make_parameter_delete_simple(data->parameter_option);
+    macro_fake_make_parameter_delete_simple(data->parameter_value);
+    macro_fake_make_path_delete_simple(data->path);
+
+    f_fss_nameds_resize(0, &data->fakefile);
+
+    f_string_dynamic_resize(0, &data->buffer);
+    f_string_dynamic_resize(0, &data->cache_1);
+    f_string_dynamic_resize(0, &data->cache_2);
+    f_string_dynamic_resize(0, &data->cache_path);
+
+    f_string_dynamics_resize(0, &data->cache_arguments);
+
+    f_iki_data_delete(&data->cache_iki);
+
+    return F_none;
+  }
+#endif // _di_fake_make_data_delete_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
index 08cc5ca7f589f0e9c713485c098ac1ba00e65c90..5ff0ca98afecd7acd20c8d4c84418ebd6ca846a9 100644 (file)
 #ifndef _fake_common_h
 #define _fake_common_h
 
+/**
+ * The program data.
+ *
+ * operation: A code representing the currrent operation.
+ *
+ * main:    The main program data.
+ * setting: The settings data.
+ *
+ * path_build:                  The build path.
+ * path_build_documentation:    The build documentation path.
+ * path_build_documents:        The build documents path.
+ * path_build_includes:         The build includes path.
+ * path_build_libraries:        The build libraries path.
+ * path_build_libraries_script: The build libraries_script path.
+ * path_build_libraries_shared: The build libraries_shared path.
+ * path_build_libraries_static: The build libraries_static path.
+ * path_build_objects:          The build objects path.
+ * path_build_objects_script:   The build objects_script path.
+ * path_build_objects_shared:   The build objects_shared path.
+ * path_build_objects_static:   The build objects_static path.
+ * path_build_programs:         The build programs path.
+ * path_build_programs_script:  The build programs_script path.
+ * path_build_programs_shared:  The build programs_shared path.
+ * path_build_programs_static:  The build programs_static path.
+ * path_build_settings:         The build settings path.
+ * path_build_stage:            The build stage path.
+ *
+ * path_data_build:         The build data path.
+ * path_data_documentation: The documentation data path.
+ * path_data_settings:      The settings data path.
+ *
+ * path_documents: The documents path.
+ * path_licenses:  The licenses path.
+ * path_sources:   The sources path.
+ *
+ * path_work_includes:         The includes work path.
+ * path_work_libraries:        The libraries work path.
+ * path_work_libraries_script: The libraries_script work path.
+ * path_work_libraries_shared: The libraries_shared work path.
+ * path_work_libraries_static: The libraries_static work path.
+ * path_work_programs:         The programs work path.
+ * path_work_programs_script:  The programs_script work path.
+ * path_work_programs_shared:  The programs_shared work path.
+ * path_work_programs_static:  The programs_static work path.
+ *
+ * file_data_build_defines:      The defines build file data.
+ * file_data_build_dependencies: The dependencies build file data.
+ * file_data_build_fakefile:     The fakefile build file data.
+ * file_data_build_process_post: The process_post_s build file data.
+ * file_data_build_process_pre:  The process_pre_s build file data.
+ * file_data_build_settings:     The settings build file data.
+ *
+ * file_documents_readme: The documents readme file data.
+ */
+#ifndef _di_fake_data_t_
+  typedef struct {
+    uint8_t operation;
+
+    fll_program_data_t *main;
+    fake_setting_t *setting;
+
+    f_string_dynamic_t path_build;
+    f_string_dynamic_t path_build_documentation;
+    f_string_dynamic_t path_build_documents;
+    f_string_dynamic_t path_build_includes;
+    f_string_dynamic_t path_build_libraries;
+    f_string_dynamic_t path_build_libraries_script;
+    f_string_dynamic_t path_build_libraries_shared;
+    f_string_dynamic_t path_build_libraries_static;
+    f_string_dynamic_t path_build_objects;
+    f_string_dynamic_t path_build_objects_script;
+    f_string_dynamic_t path_build_objects_shared;
+    f_string_dynamic_t path_build_objects_static;
+    f_string_dynamic_t path_build_programs;
+    f_string_dynamic_t path_build_programs_script;
+    f_string_dynamic_t path_build_programs_shared;
+    f_string_dynamic_t path_build_programs_static;
+    f_string_dynamic_t path_build_settings;
+    f_string_dynamic_t path_build_stage;
+
+    f_string_dynamic_t path_data_build;
+    f_string_dynamic_t path_data_documentation;
+    f_string_dynamic_t path_data_settings;
+
+    f_string_dynamic_t path_documents; // @todo: make this a settings configurable parameter, moving it to fake_setting_t.
+
+    f_string_dynamic_t path_licenses; // @todo: make this a settings configurable parameter, moving it to fake_setting_t.
+
+    f_string_dynamic_t path_work_includes;
+    f_string_dynamic_t path_work_libraries;
+    f_string_dynamic_t path_work_libraries_script;
+    f_string_dynamic_t path_work_libraries_shared;
+    f_string_dynamic_t path_work_libraries_static;
+    f_string_dynamic_t path_work_programs;
+    f_string_dynamic_t path_work_programs_script;
+    f_string_dynamic_t path_work_programs_shared;
+    f_string_dynamic_t path_work_programs_static;
+
+    f_string_dynamic_t file_data_build_defines;
+    f_string_dynamic_t file_data_build_dependencies;
+    f_string_dynamic_t file_data_build_fakefile;
+    f_string_dynamic_t file_data_build_process_post;
+    f_string_dynamic_t file_data_build_process_pre;
+    f_string_dynamic_t file_data_build_settings;
+
+    f_string_dynamic_t file_documents_readme;
+  } fake_data_t;
+
+  #define fake_data_t_initialize \
+    { \
+      0, \
+      0, \
+      0, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+      f_string_dynamic_t_initialize, \
+    }
+#endif // _di_fake_main_t_
+
+/**
+ * Build settings flag enumeration.
+ *
+ * data_build_setting_flag_*:
+ *   - has_environment: Designate that the "environment" is specified in the "settings" Section of the Fakefile.
+ */
+#ifndef _di_fake_build_setting_e_
+  enum {
+    data_build_setting_flag_has_environment_e = 0x1,
+  };
+#endif // _di_fake_build_setting_e_
+
+/**
+ * Build settings data.
+ *
+ * flag: Flags from data_build_setting_flag_* (Not strictly part of the build settings file).
+ *
+ * build_language: The build_language setting.
+ *
+ * version_file:   The version_file setting.
+ * version_target: The version_target setting.
+ *
+ * build_script: The build_script setting.
+ * build_shared: The build_shared setting.
+ * build_static: The build_static setting.
+ *
+ * has_path_standard:     The has_path_standard setting.
+ * preserve_path_headers: The preserve_path_headers setting.
+ *
+ * search_exclusive: The search_exclusive setting.
+ * search_shared:    The search_shared setting.
+ * search_static:    The search_static setting.
+ *
+ * build_compiler:              The build_compiler setting.
+ * build_indexer:               The build_indexer setting.
+ * build_name:                  The build_name setting.
+ * build_sources_object:        The build_sources_object setting.
+ * build_sources_object_shared: The build_sources_object_shared setting.
+ * build_sources_object_static: The build_sources_object_static setting.
+ * path_headers:                The path_headers setting.
+ * path_language:               The path_language setting.
+ * path_library_script:         The path_library_script setting.
+ * path_library_shared:         The path_library_shared setting.
+ * path_library_static:         The path_library_static setting.
+ * path_object_script:          The path_object_script setting.
+ * path_object_shared:          The path_object_shared setting.
+ * path_object_static:          The path_object_static setting.
+ * path_program_script:         The path_program_script setting.
+ * path_program_shared:         The path_program_shared setting.
+ * path_program_static:         The path_program_static setting.
+ * path_sources:                The path_sources setting.
+ * path_sources_object:         The path_sources_object setting.
+ * process_post:                The process_post setting.
+ * process_pre:                 The process_pre setting.
+ * version_major:               The version_major setting.
+ * version_major_prefix:        The version_major_prefix setting.
+ * version_micro:               The version_micro setting.
+ * version_micro_prefix:        The version_micro_prefix setting.
+ * version_minor:               The version_minor setting.
+ * version_minor_prefix:        The version_minor_prefix setting.
+ * version_nano:                The version_nano setting.
+ * version_nano_prefix:         The version_nano_prefix setting.
+ *
+ * build_indexer_arguments:      The build_indexer_arguments setting.
+ * build_libraries:              The build_libraries setting.
+ * build_libraries_shared:       The build_libraries_shared setting.
+ * build_libraries_static:       The build_libraries_static setting.
+ * build_objects_library:        The build_objects_library setting.
+ * build_objects_library_shared: The build_objects_library_shared setting.
+ * build_objects_library_static: The build_objects_library_static setting.
+ * build_objects_program:        The build_objects_program setting.
+ * build_objects_program_shared: The build_objects_program_shared setting.
+ * build_objects_program_static: The build_objects_program_static setting.
+ * build_sources_documentation:  The build_sources_documentation setting.
+ * build_sources_headers:        The build_sources_headers setting.
+ * build_sources_headers_shared: The build_sources_headers_shared setting.
+ * build_sources_headers_static: The build_sources_headers_static setting.
+ * build_sources_library:        The build_sources_library setting.
+ * build_sources_library_shared: The build_sources_library_shared setting.
+ * build_sources_library_static: The build_sources_library_static setting.
+ * build_sources_program:        The build_sources_program setting.
+ * build_sources_program_shared: The build_sources_program_shared setting.
+ * build_sources_program_static: The build_sources_program_static setting.
+ * build_sources_script:         The build_sources_script setting.
+ * build_sources_setting:        The build_sources_setting setting.
+ * defines:                      The defines setting.
+ * defines_library:              The defines_library setting.
+ * defines_library_shared:       The defines_library_shared setting.
+ * defines_library_static:       The defines_library_static setting.
+ * defines_object:               The defines_object setting.
+ * defines_object_shared:        The defines_object_shared setting.
+ * defines_object_static:        The defines_object_static setting.
+ * defines_program:              The defines_program setting.
+ * defines_program_shared:       The defines_program_shared setting.
+ * defines_program_static:       The defines_program_static setting.
+ * defines_shared:               The defines_shared setting.
+ * defines_static:               The defines_static setting.
+ * environment:                  The environment setting.
+ * flags:                        The flags setting.
+ * flags_library:                The flags_library setting.
+ * flags_library_shared:         The flags_library_shared setting.
+ * flags_library_static:         The flags_library_static setting.
+ * flags_object:                 The flags_object setting.
+ * flags_object_shared:          The flags_object_shared setting.
+ * flags_object_static:          The flags_object_static setting.
+ * flags_program:                The flags_program setting.
+ * flags_program_shared:         The flags_program_shared setting.
+ * flags_program_static:         The flags_program_static setting.
+ * flags_shared:                 The flags_shared setting.
+ * flags_static:                 The flags_static setting.
+ * modes:                        The modes setting.
+ * modes_default:                The modes_default setting.
+ */
+#ifndef _di_fake_build_setting_t_
+  typedef struct {
+    uint8_t flag;
+
+    uint8_t build_language;
+
+    uint8_t version_file;
+    uint8_t version_target;
+
+    bool build_script;
+    bool build_shared;
+    bool build_static;
+
+    bool has_path_standard;
+    bool preserve_path_headers;
+
+    bool search_exclusive;
+    bool search_shared;
+    bool search_static;
+
+    f_string_dynamic_t build_compiler;
+    f_string_dynamic_t build_indexer;
+    f_string_dynamic_t build_name;
+    f_string_dynamic_t build_sources_object;
+    f_string_dynamic_t build_sources_object_shared;
+    f_string_dynamic_t build_sources_object_static;
+    f_string_dynamic_t path_headers;
+    f_string_dynamic_t path_language;
+    f_string_dynamic_t path_library_script;
+    f_string_dynamic_t path_library_shared;
+    f_string_dynamic_t path_library_static;
+    f_string_dynamic_t path_object_script;
+    f_string_dynamic_t path_object_shared;
+    f_string_dynamic_t path_object_static;
+    f_string_dynamic_t path_program_script;
+    f_string_dynamic_t path_program_shared;
+    f_string_dynamic_t path_program_static;
+    f_string_dynamic_t path_sources;
+    f_string_dynamic_t path_sources_object;
+    f_string_dynamic_t process_post;
+    f_string_dynamic_t process_pre;
+    f_string_dynamic_t version_major;
+    f_string_dynamic_t version_major_prefix;
+    f_string_dynamic_t version_micro;
+    f_string_dynamic_t version_micro_prefix;
+    f_string_dynamic_t version_minor;
+    f_string_dynamic_t version_minor_prefix;
+    f_string_dynamic_t version_nano;
+    f_string_dynamic_t version_nano_prefix;
+
+    f_string_dynamics_t build_indexer_arguments;
+    f_string_dynamics_t build_libraries;
+    f_string_dynamics_t build_libraries_shared;
+    f_string_dynamics_t build_libraries_static;
+    f_string_dynamics_t build_objects_library;
+    f_string_dynamics_t build_objects_library_shared;
+    f_string_dynamics_t build_objects_library_static;
+    f_string_dynamics_t build_objects_program;
+    f_string_dynamics_t build_objects_program_shared;
+    f_string_dynamics_t build_objects_program_static;
+    f_string_dynamics_t build_sources_documentation;
+    f_string_dynamics_t build_sources_headers;
+    f_string_dynamics_t build_sources_headers_shared;
+    f_string_dynamics_t build_sources_headers_static;
+    f_string_dynamics_t build_sources_library;
+    f_string_dynamics_t build_sources_library_shared;
+    f_string_dynamics_t build_sources_library_static;
+    f_string_dynamics_t build_sources_program;
+    f_string_dynamics_t build_sources_program_shared;
+    f_string_dynamics_t build_sources_program_static;
+    f_string_dynamics_t build_sources_script;
+    f_string_dynamics_t build_sources_setting;
+    f_string_dynamics_t defines;
+    f_string_dynamics_t defines_library;
+    f_string_dynamics_t defines_library_shared;
+    f_string_dynamics_t defines_library_static;
+    f_string_dynamics_t defines_object;
+    f_string_dynamics_t defines_object_shared;
+    f_string_dynamics_t defines_object_static;
+    f_string_dynamics_t defines_program;
+    f_string_dynamics_t defines_program_shared;
+    f_string_dynamics_t defines_program_static;
+    f_string_dynamics_t defines_shared;
+    f_string_dynamics_t defines_static;
+    f_string_dynamics_t environment;
+    f_string_dynamics_t flags;
+    f_string_dynamics_t flags_library;
+    f_string_dynamics_t flags_library_shared;
+    f_string_dynamics_t flags_library_static;
+    f_string_dynamics_t flags_object;
+    f_string_dynamics_t flags_object_shared;
+    f_string_dynamics_t flags_object_static;
+    f_string_dynamics_t flags_program;
+    f_string_dynamics_t flags_program_shared;
+    f_string_dynamics_t flags_program_static;
+    f_string_dynamics_t flags_shared;
+    f_string_dynamics_t flags_static;
+    f_string_dynamics_t modes;
+    f_string_dynamics_t modes_default;
+  } fake_build_setting_t;
+
+  #define fake_build_setting_t_initialize { \
+    0, \
+    0, \
+    0, \
+    0, \
+    F_true, \
+    F_true, \
+    F_true, \
+    F_true, \
+    F_true, \
+    F_true, \
+    F_true, \
+    F_true, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+  }
+
+  #define macro_fake_build_setting_t_delete_simple(setting) \
+    macro_f_string_dynamic_t_delete_simple(setting.build_compiler) \
+    macro_f_string_dynamic_t_delete_simple(setting.build_indexer) \
+    macro_f_string_dynamic_t_delete_simple(setting.build_name) \
+    macro_f_string_dynamic_t_delete_simple(setting.build_sources_object) \
+    macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_shared) \
+    macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_static) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_headers) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_language) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_library_script) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_library_shared) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_library_static) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_object_script) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_object_shared) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_object_static) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_program_script) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_program_shared) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_program_static) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_sources) \
+    macro_f_string_dynamic_t_delete_simple(setting.path_sources_object) \
+    macro_f_string_dynamic_t_delete_simple(setting.process_post) \
+    macro_f_string_dynamic_t_delete_simple(setting.process_pre) \
+    macro_f_string_dynamic_t_delete_simple(setting.version_major) \
+    macro_f_string_dynamic_t_delete_simple(setting.version_major_prefix) \
+    macro_f_string_dynamic_t_delete_simple(setting.version_micro) \
+    macro_f_string_dynamic_t_delete_simple(setting.version_micro_prefix) \
+    macro_f_string_dynamic_t_delete_simple(setting.version_minor) \
+    macro_f_string_dynamic_t_delete_simple(setting.version_minor_prefix) \
+    macro_f_string_dynamic_t_delete_simple(setting.version_nano) \
+    macro_f_string_dynamic_t_delete_simple(setting.version_nano_prefix) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_indexer_arguments) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_libraries) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_libraries_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_libraries_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_objects_library) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_objects_program) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_documentation) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_library) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_program) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_script) \
+    macro_f_string_dynamics_t_delete_simple(setting.build_sources_setting) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_library) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_library_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_library_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_object) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_object_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_object_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_program) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_program_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_program_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.defines_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.environment) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_library) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_library_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_library_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_object) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_object_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_object_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_program) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_program_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_program_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_shared) \
+    macro_f_string_dynamics_t_delete_simple(setting.flags_static) \
+    macro_f_string_dynamics_t_delete_simple(setting.modes) \
+    macro_f_string_dynamics_t_delete_simple(setting.modes_default)
+
+  #define fake_build_setting_total_d 89
+#endif // _di_fake_build_setting_t_
+
+#ifndef _di_fake_build_stage_t_
+  typedef struct {
+    f_string_dynamic_t file_library_script;
+    f_string_dynamic_t file_library_shared;
+    f_string_dynamic_t file_library_static;
+    f_string_dynamic_t file_object_script;
+    f_string_dynamic_t file_object_shared;
+    f_string_dynamic_t file_object_static;
+    f_string_dynamic_t file_objects_static;
+    f_string_dynamic_t file_process_post;
+    f_string_dynamic_t file_process_pre;
+    f_string_dynamic_t file_program_script;
+    f_string_dynamic_t file_program_shared;
+    f_string_dynamic_t file_program_static;
+    f_string_dynamic_t file_skeleton;
+    f_string_dynamic_t file_sources_documentation;
+    f_string_dynamic_t file_sources_headers;
+    f_string_dynamic_t file_sources_script;
+    f_string_dynamic_t file_sources_settings;
+  } fake_build_stage_t;
+
+  #define fake_build_stage_t_initialize { \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+  }
+
+  #define fake_build_stage_total_d 17
+
+  #define macro_fake_build_stage_t_delete_simple(stage) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_library_script) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_library_shared) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_library_static) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_object_script) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_object_shared) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_object_static) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_objects_static) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_process_post) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_process_pre) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_program_script) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_program_shared) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_program_static) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_skeleton) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_sources_documentation) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_sources_headers) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_sources_script) \
+    macro_f_string_dynamic_t_delete_simple(stage.file_sources_settings)
+#endif // _di_fake_build_stage_t_
+
+/**
+ * The build data.
+ *
+ * setting:     The build settings.
+ * environment: The environment variables.
+ */
+#ifndef _di_fake_build_data_t_
+  typedef struct {
+    fake_build_setting_t setting;
+    f_string_maps_t environment;
+  } fake_build_data_t;
+
+  #define fake_build_data_t_initialize { \
+    fake_build_setting_t_initialize, \
+    f_string_maps_t_initialize, \
+  }
+
+  #define macro_fake_build_main_delete_simple(build) \
+    macro_fake_build_setting_t_delete_simple(build.setting) \
+    macro_f_string_maps_t_delete_simple(build.environment);
+#endif // _di_fake_build_data_t_
+
+/**
+ * Provide common/generic definitions.
+ *
+ * _di_fake_common_*_d:
+ *   - allocation_large:   Large allocation block size.
+ *   - allocation_small:   Small allocation block size.
+ *   - initial_buffer_max: Max size to maintain the buffer (to avoid buffer bloat after an overly large allocation) (131072 = 128k).
+ */
+#ifndef _di_fake_common_d_
+  #define fake_common_allocation_large_d   256
+  #define fake_common_allocation_small_d   16
+  #define fake_common_initial_buffer_max_d 131072
+#endif // _di_fake_common_d_
+
+/**
+ * Provide common/generic definitions.
+ *
+ * fake_make_section_*_d:
+ *   - stack_max: Maximum stack call depth.
+ */
+#ifndef _di_fake_make_section_d_
+  #define fake_make_section_stack_max_d 8192
+#endif // _di_fake_make_section_d_
+
+#ifndef _di_fake_make_setting_t_
+  typedef struct {
+    bool load_build;
+
+    uint8_t fail;
+
+    f_string_map_multis_t parameter;
+  } fake_make_setting_t;
+
+  #define fake_make_setting_t_initialize { \
+    0, \
+    0, \
+    f_string_map_multis_t_initialize, \
+  }
+
+  #define macro_fake_make_setting_t_delete_simple(setting) \
+    macro_f_string_map_multis_t_delete_simple(setting.parameter)
+#endif // _di_fake_make_setting_t_
+
+#ifndef _di_fake_make_operation_type_e_
+  enum {
+    fake_make_operation_type_none_e = 0,
+    fake_make_operation_type_and_e,
+    fake_make_operation_type_break_e,
+    fake_make_operation_type_build_e,
+    fake_make_operation_type_clean_e,
+    fake_make_operation_type_clone_e,
+    fake_make_operation_type_compile_e,
+    fake_make_operation_type_copy_e,
+    fake_make_operation_type_define_e,
+    fake_make_operation_type_delete_e,
+    fake_make_operation_type_deletes_e,
+    fake_make_operation_type_else_e,
+    fake_make_operation_type_exit_e,
+    fake_make_operation_type_fail_e,
+    fake_make_operation_type_group_e,
+    fake_make_operation_type_groups_e,
+    fake_make_operation_type_if_e,
+    fake_make_operation_type_index_e,
+    fake_make_operation_type_link_e,
+    fake_make_operation_type_mode_e,
+    fake_make_operation_type_modes_e,
+    fake_make_operation_type_move_e,
+    fake_make_operation_type_operate_e,
+    fake_make_operation_type_or_e,
+    fake_make_operation_type_owner_e,
+    fake_make_operation_type_owners_e,
+    fake_make_operation_type_parameter_e,
+    fake_make_operation_type_pop_e,
+    fake_make_operation_type_print_e,
+    fake_make_operation_type_run_e,
+    fake_make_operation_type_shell_e,
+    fake_make_operation_type_skeleton_e,
+    fake_make_operation_type_to_e,
+    fake_make_operation_type_top_e,
+    fake_make_operation_type_touch_e,
+    fake_make_operation_type_write_e,
+  };
+#endif // _di_fake_make_operation_type_e_
+
+#ifndef _di_fake_make_operation_if_e_
+  enum {
+    fake_make_operation_if_type_else_e = 1,
+    fake_make_operation_if_type_if_e,
+    fake_make_operation_if_type_if_define_e,
+    fake_make_operation_if_type_if_equal_e,
+    fake_make_operation_if_type_if_equal_not_e,
+    fake_make_operation_if_type_if_exist_e,
+    fake_make_operation_if_type_if_failure_e,
+    fake_make_operation_if_type_if_greater_e,
+    fake_make_operation_if_type_if_greater_equal_e,
+    fake_make_operation_if_type_if_group_e,
+    fake_make_operation_if_type_if_is_e,
+    fake_make_operation_if_type_if_less_e,
+    fake_make_operation_if_type_if_less_equal_e,
+    fake_make_operation_if_type_if_mode_e,
+    fake_make_operation_if_type_if_not_e,
+    fake_make_operation_if_type_if_not_define_e,
+    fake_make_operation_if_type_if_not_exist_e,
+    fake_make_operation_if_type_if_not_group_e,
+    fake_make_operation_if_type_if_not_is_e,
+    fake_make_operation_if_type_if_not_mode_e,
+    fake_make_operation_if_type_if_not_owner_e,
+    fake_make_operation_if_type_if_not_parameter_e,
+    fake_make_operation_if_type_if_parameter_e,
+    fake_make_operation_if_type_if_owner_e,
+    fake_make_operation_if_type_if_success_e,
+  };
+#endif // _di_fake_make_operation_if_e_
+
+#ifndef _di_fake_make_operation_fail_e_
+  enum {
+    fake_make_operation_fail_type_exit_e = 1,
+    fake_make_operation_fail_type_warn_e,
+    fake_make_operation_fail_type_ignore_e,
+  };
+#endif // _di_fake_make_operation_fail_e_
+
+#ifndef _di_fake_make_operation_d_
+  #define fake_make_operation_recursion_depth_max_d 65535
+
+  // Total does not include "fake_make_operation_type_none_e".
+  #define fake_make_operation_total_d 35
+#endif // _di_fake_make_operation_d_
+
+#ifndef _di_fake_make_parameter_t_
+  typedef struct {
+    f_string_dynamics_t build;
+    f_string_dynamics_t color;
+    f_string_dynamics_t data;
+    f_string_dynamics_t define;
+    f_string_dynamics_t documents;
+    f_string_dynamics_t fakefile;
+    f_string_dynamics_t licenses;
+    f_string_dynamics_t mode;
+    f_string_dynamics_t process;
+    f_string_dynamics_t settings;
+    f_string_dynamics_t sources;
+    f_string_dynamics_t verbosity;
+    f_string_dynamics_t work;
+  } fake_make_parameter_t;
+
+  #define fake_make_parameter_t_initialize { \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_string_dynamics_t_initialize, \
+  }
+
+  #define macro_fake_make_parameter_delete_simple(parameter) \
+    macro_f_string_dynamics_t_delete_simple(parameter.build) \
+    macro_f_string_dynamics_t_delete_simple(parameter.color) \
+    macro_f_string_dynamics_t_delete_simple(parameter.data) \
+    macro_f_string_dynamics_t_delete_simple(parameter.define) \
+    macro_f_string_dynamics_t_delete_simple(parameter.documents) \
+    macro_f_string_dynamics_t_delete_simple(parameter.fakefile) \
+    macro_f_string_dynamics_t_delete_simple(parameter.licenses) \
+    macro_f_string_dynamics_t_delete_simple(parameter.mode) \
+    macro_f_string_dynamics_t_delete_simple(parameter.process) \
+    macro_f_string_dynamics_t_delete_simple(parameter.settings) \
+    macro_f_string_dynamics_t_delete_simple(parameter.sources) \
+    macro_f_string_dynamics_t_delete_simple(parameter.verbosity) \
+    macro_f_string_dynamics_t_delete_simple(parameter.work)
+#endif // _di_fake_make_parameter_t_
+
+#ifndef _di_fake_make_path_t_
+  typedef struct {
+    f_file_t top;
+
+    f_string_dynamics_t stack;
+  } fake_make_path_t;
+
+  #define fake_make_path_t_initialize { \
+    f_file_t_initialize, \
+    f_string_dynamics_t_initialize, \
+  }
+
+  #define macro_fake_make_path_delete_simple(path) \
+    macro_f_string_dynamics_t_delete_simple(path.stack);
+#endif // _di_fake_make_path_t_
+
+/**
+ * The control data.
+ *
+ * setting_build:    The build settings.
+ * setting_make:     The make settings.
+ * environment:      All environment variables allowed to be exposed to the when processing.
+ * parameter:        A set of parameters available for IKI substitution.
+ * parameter_option: A set of parameters available for IKI option substitution.
+ * parameter_value:  A set of parameters available for IKI value substitution.
+ * path:             The path to the Fakefile.
+ * error:            The error output print structure.
+ * fakefile:         The loaded Fakefile.
+ * buffer:           A buffer used during processing.
+ * cache_1:          An additional buffer for caching purposes.
+ * cache_2:          An additional buffer for caching purposes.
+ * cache_path:       A buffer for path-specific caching.
+ * cache_arguments:  A cache for expanded arguments.
+ * cache_iki:        A cache for IKI data.
+ * id_main:          Index of the "main" Section.
+ * main:             The main program data.
+ * data:             The Fake make program data.
+ * setting:          The settings data.
+ */
+#ifndef _di_fake_make_data_t_
+  typedef struct {
+    fake_build_setting_t setting_build;
+    fake_make_setting_t setting_make;
+
+    f_string_maps_t environment;
+
+    fake_make_parameter_t parameter;
+    fake_make_parameter_t parameter_option;
+    fake_make_parameter_t parameter_value;
+    fake_make_path_t path;
+
+    fl_print_t error;
+
+    f_fss_nameds_t fakefile;
+
+    f_string_dynamic_t buffer;
+    f_string_dynamic_t cache_1;
+    f_string_dynamic_t cache_2;
+    f_string_dynamic_t cache_path;
+    f_string_dynamics_t cache_arguments;
+    f_iki_data_t cache_iki;
+
+    f_array_length_t id_main;
+
+    fll_program_data_t *main;
+    fake_data_t *data;
+    fake_setting_t *setting;
+  } fake_make_data_t;
+
+  #define fake_make_data_t_initialize { \
+    fake_build_setting_t_initialize, \
+    fake_make_setting_t_initialize, \
+    f_string_maps_t_initialize, \
+    fake_make_parameter_t_initialize, \
+    fake_make_parameter_t_initialize, \
+    fake_make_parameter_t_initialize, \
+    fake_make_path_t_initialize, \
+    fl_print_t_initialize, \
+    f_fss_nameds_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamic_t_initialize, \
+    f_string_dynamics_t_initialize, \
+    f_iki_data_t_initialize, \
+    0, \
+    0, \
+    0, \
+    0, \
+  }
+#endif // _di_fake_make_data_t_
+
+/**
+ * A structure for managing the operation and if-condition states.
+ *
+ * block:              The process block state.
+ * block_result:       The result of the block.
+ * condition:          The current if-condition type.
+ * condition_result:   The result of the currently processed condition.
+ * operation:          The current operation type.
+ * operation_previous: The previous operation type.
+ * success:            Current state is considered success when F_true and failure when F_false.
+ * success_block:      Current block state is considered success when F_true and failure when F_false.
+ */
+#ifndef _di_fake_state_process_t_
+  typedef struct {
+    uint8_t block;
+    uint8_t block_result;
+    uint8_t condition;
+    uint8_t condition_result;
+    uint8_t operation;
+    uint8_t operation_previous;
+    uint8_t success;
+    uint8_t success_block;
+  } fake_state_process_t;
+
+  #define fake_state_process_t_initialize { \
+    0, \
+    0, \
+    0, \
+    0, \
+    0, \
+    0, \
+    F_true, \
+    F_true, \
+  }
+#endif // _di_fake_state_process_t_
+
+/**
+ * Designate the current process block state.
+ *
+ * fake_condition_result_*:
+ *   - none:    No if-condition is set.
+ *   - operate: The condition passed or perform condition, process the next operation or the condition.
+ *   - skip:    The condition failed, skip the next operation.
+ *   - done:    After the condition passed, the next operation was performed, all future operations within block are skipped.
+ */
+#ifndef _di_fake_state_process_block_e_
+  enum {
+    fake_state_process_block_none_e = 0,
+    fake_state_process_block_operate_e,
+    fake_state_process_block_skip_e,
+    fake_state_process_block_done_e,
+  };
+#endif // _di_fake_state_process_block_e_
+
+/**
+ * Designate that the if state is true, false, or undefined (none).
+ *
+ * fake_condition_result_*:
+ *   - none:  The result of the if-condition is not set.
+ *   - false: The result of the if-condition is false.
+ *   - true:  The result of the if-condition is true.
+ *   - error: An error occurred, any if-condition is to be skipped, falling back to the else condition, if any.
+ */
+#ifndef _di_fake_condition_result_e_
+  enum {
+    fake_condition_result_none_e = 0,
+    fake_condition_result_false_e,
+    fake_condition_result_true_e,
+    fake_condition_result_error_e,
+  };
+#endif // _di_fake_condition_result_e_
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -110,6 +1082,40 @@ extern "C" {
   extern f_status_t fake_setting_unload(fll_program_data_t * const main, fake_setting_t * const setting);
 #endif // _di_fake_setting_unload_
 
+/**
+ * Deallocate data.
+ *
+ * @param data
+ *   The program data.
+ *
+ * @return
+ *   F_none on success.
+ *
+ *   Status codes (with error bit) are returned on any problem.
+ *
+ * @see fake_main()
+ */
+#ifndef _di_fake_data_delete_
+  extern f_status_t fake_data_delete(fake_data_t * const data);
+#endif // _di_fake_data_delete_
+
+/**
+ * Deallocate make data.
+ *
+ * @param data
+ *   The make data.
+ *
+ * @return
+ *   F_none on success.
+ *
+ * @see f_fss_nameds_resize()
+ * @see f_string_dynamic_resize()
+ * @see f_string_maps_resize()
+ */
+#ifndef _di_fake_make_data_delete_
+  extern f_status_t fake_make_data_delete(fake_make_data_t * const data) F_attribute_visibility_internal_d;
+#endif // _di_fake_make_data_delete_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
similarity index 99%
rename from level_3/fake/c/main/common-print.c
rename to level_3/fake/c/main/common/print.c
index b6075b2d58fbcf303b3fd7095649c28a247cc68c..356a8e6a4ae1f5305073c599874f3b78cf009e6b 100644 (file)
@@ -1,4 +1,4 @@
-#include "fake.h"
+#include "../fake.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/level_3/fake/c/main/common/string.c b/level_3/fake/c/main/common/string.c
new file mode 100644 (file)
index 0000000..60545f9
--- /dev/null
@@ -0,0 +1,436 @@
+#include "../fake.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_fake_program_version_s_
+  const f_string_static_t fake_program_version_s = macro_f_string_static_t_initialize(FAKE_program_version_s, 0, FAKE_program_version_s_length);
+#endif // _di_fake_program_version_s_
+
+#ifndef _di_fake_program_name_s_
+  const f_string_static_t fake_program_name_s = macro_f_string_static_t_initialize(FAKE_program_name_s, 0, FAKE_program_name_s_length);
+  const f_string_static_t fake_program_name_long_s = macro_f_string_static_t_initialize(FAKE_program_name_long_s, 0, FAKE_program_name_long_s_length);
+#endif // _di_fake_program_name_s_
+
+#ifndef _di_fake_program_help_parameter_s_
+  const f_string_static_t fake_program_help_parameters_s = macro_f_string_static_t_initialize(FAKE_program_help_parameters_s, 0, FAKE_program_help_parameters_s_length);
+#endif // _di_fake_program_help_parameter_s_
+
+#ifndef _di_fake_path_s_
+  const f_string_static_t fake_path_part_build_s = macro_f_string_static_t_initialize(FAKE_path_part_build_s, 0, FAKE_path_part_build_s_length);
+  const f_string_static_t fake_path_part_c_s = macro_f_string_static_t_initialize(FAKE_path_part_c_s, 0, FAKE_path_part_c_s_length);
+  const f_string_static_t fake_path_part_cpp_s = macro_f_string_static_t_initialize(FAKE_path_part_cpp_s, 0, FAKE_path_part_cpp_s_length);
+  const f_string_static_t fake_path_part_data_s = macro_f_string_static_t_initialize(FAKE_path_part_data_s, 0, FAKE_path_part_data_s_length);
+  const f_string_static_t fake_path_part_documentation_s = macro_f_string_static_t_initialize(FAKE_path_part_documentation_s, 0, FAKE_path_part_documentation_s_length);
+  const f_string_static_t fake_path_part_documents_s = macro_f_string_static_t_initialize(FAKE_path_part_documents_s, 0, FAKE_path_part_documents_s_length);
+  const f_string_static_t fake_path_part_includes_s = macro_f_string_static_t_initialize(FAKE_path_part_includes_s, 0, FAKE_path_part_includes_s_length);
+  const f_string_static_t fake_path_part_libraries_s = macro_f_string_static_t_initialize(FAKE_path_part_libraries_s, 0, FAKE_path_part_libraries_s_length);
+  const f_string_static_t fake_path_part_licenses_s = macro_f_string_static_t_initialize(FAKE_path_part_licenses_s, 0, FAKE_path_part_licenses_s_length);
+  const f_string_static_t fake_path_part_objects_s = macro_f_string_static_t_initialize(FAKE_path_part_objects_s, 0, FAKE_path_part_objects_s_length);
+  const f_string_static_t fake_path_part_process_s = macro_f_string_static_t_initialize(FAKE_path_part_process_s, 0, FAKE_path_part_process_s_length);
+  const f_string_static_t fake_path_part_programs_s = macro_f_string_static_t_initialize(FAKE_path_part_programs_s, 0, FAKE_path_part_programs_s_length);
+  const f_string_static_t fake_path_part_script_s = macro_f_string_static_t_initialize(FAKE_path_part_script_s, 0, FAKE_path_part_script_s_length);
+  const f_string_static_t fake_path_part_settings_s = macro_f_string_static_t_initialize(FAKE_path_part_settings_s, 0, FAKE_path_part_settings_s_length);
+  const f_string_static_t fake_path_part_shared_s = macro_f_string_static_t_initialize(FAKE_path_part_shared_s, 0, FAKE_path_part_shared_s_length);
+  const f_string_static_t fake_path_part_shell_s = macro_f_string_static_t_initialize(FAKE_path_part_shell_s, 0, FAKE_path_part_shell_s_length);
+  const f_string_static_t fake_path_part_specifications_s = macro_f_string_static_t_initialize(FAKE_path_part_specifications_s, 0, FAKE_path_part_specifications_s_length);
+  const f_string_static_t fake_path_part_stage_s = macro_f_string_static_t_initialize(FAKE_path_part_stage_s, 0, FAKE_path_part_stage_s_length);
+  const f_string_static_t fake_path_part_static_s = macro_f_string_static_t_initialize(FAKE_path_part_static_s, 0, FAKE_path_part_static_s_length);
+#endif // _di_fake_path_s_
+
+#ifndef _di_fake_file_s_
+  const f_string_static_t fake_file_defines_s = macro_f_string_static_t_initialize(FAKE_file_defines_s, 0, FAKE_file_defines_s_length);
+  const f_string_static_t fake_file_dependencies_s = macro_f_string_static_t_initialize(FAKE_file_dependencies_s, 0, FAKE_file_dependencies_s_length);
+  const f_string_static_t fake_file_process_pre_s = macro_f_string_static_t_initialize(FAKE_file_process_pre_s, 0, FAKE_file_process_pre_s_length);
+  const f_string_static_t fake_file_process_post_s = macro_f_string_static_t_initialize(FAKE_file_process_post_s, 0, FAKE_file_process_post_s_length);
+  const f_string_static_t fake_file_readme_s = macro_f_string_static_t_initialize(FAKE_file_readme_s, 0, FAKE_file_readme_s_length);
+#endif // _di_fake_file_s_
+
+#ifndef _di_fake_default_s_
+  const f_string_static_t fake_default_build_s = macro_f_string_static_t_initialize(FAKE_default_build_s, 0, FAKE_default_build_s_length);
+  const f_string_static_t fake_default_data_s = macro_f_string_static_t_initialize(FAKE_default_data_s, 0, FAKE_default_data_s_length);
+  const f_string_static_t fake_default_documents_s = macro_f_string_static_t_initialize(FAKE_default_documents_s, 0, FAKE_default_documents_s_length);
+  const f_string_static_t fake_default_fakefile_s = macro_f_string_static_t_initialize(FAKE_default_fakefile_s, 0, FAKE_default_fakefile_s_length);
+  const f_string_static_t fake_default_licenses_s = macro_f_string_static_t_initialize(FAKE_default_licenses_s, 0, FAKE_default_licenses_s_length);
+  const f_string_static_t fake_default_process_s = macro_f_string_static_t_initialize(FAKE_default_process_s, 0, FAKE_default_process_s_length);
+  const f_string_static_t fake_default_settings_s = macro_f_string_static_t_initialize(FAKE_default_settings_s, 0, FAKE_default_settings_s_length);
+  const f_string_static_t fake_default_sources_s = macro_f_string_static_t_initialize(FAKE_default_sources_s, 0, FAKE_default_sources_s_length);
+  const f_string_static_t fake_default_work_s = macro_f_string_static_t_initialize(FAKE_default_work_s, 0, FAKE_default_work_s_length);
+#endif // _di_fake_default_s_
+
+#ifndef _di_fake_build_language_s_
+  const f_string_static_t fake_build_language_bash_s = macro_f_string_static_t_initialize(FAKE_build_language_bash_s, 0, FAKE_build_language_bash_s_length);
+  const f_string_static_t fake_build_language_c_s = macro_f_string_static_t_initialize(FAKE_build_language_c_s, 0, FAKE_build_language_c_s_length);
+  const f_string_static_t fake_build_language_cpp_s = macro_f_string_static_t_initialize(FAKE_build_language_cpp_s, 0, FAKE_build_language_cpp_s_length);
+  const f_string_static_t fake_build_language_zsh_s = macro_f_string_static_t_initialize(FAKE_build_language_zsh_s, 0, FAKE_build_language_zsh_s_length);
+#endif // _di_fake_build_language_s_
+
+#ifndef _di_fake_build_version_s_
+  const f_string_static_t fake_build_version_major_s = macro_f_string_static_t_initialize(FAKE_build_version_major_s, 0, FAKE_build_version_major_s_length);
+  const f_string_static_t fake_build_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_version_minor_s, 0, FAKE_build_version_minor_s_length);
+  const f_string_static_t fake_build_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_version_micro_s, 0, FAKE_build_version_micro_s_length);
+  const f_string_static_t fake_build_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_version_nano_s, 0, FAKE_build_version_nano_s_length);
+#endif // _di_fake_build_version_s_
+
+#ifndef _di_fake_parameter_s_
+  const f_string_static_t fake_short_build_s = macro_f_string_static_t_initialize(FAKE_short_build_s, 0, FAKE_short_build_s_length);
+  const f_string_static_t fake_short_data_s = macro_f_string_static_t_initialize(FAKE_short_data_s, 0, FAKE_short_data_s_length);
+  const f_string_static_t fake_short_define_s = macro_f_string_static_t_initialize(FAKE_short_define_s, 0, FAKE_short_define_s_length);
+  const f_string_static_t fake_short_documents_s = macro_f_string_static_t_initialize(FAKE_short_documents_s, 0, FAKE_short_documents_s_length);
+  const f_string_static_t fake_short_fakefile_s = macro_f_string_static_t_initialize(FAKE_short_fakefile_s, 0, FAKE_short_fakefile_s_length);
+  const f_string_static_t fake_short_licenses_s = macro_f_string_static_t_initialize(FAKE_short_licenses_s, 0, FAKE_short_licenses_s_length);
+  const f_string_static_t fake_short_mode_s = macro_f_string_static_t_initialize(FAKE_short_mode_s, 0, FAKE_short_mode_s_length);
+  const f_string_static_t fake_short_process_s = macro_f_string_static_t_initialize(FAKE_short_process_s, 0, FAKE_short_process_s_length);
+  const f_string_static_t fake_short_settings_s = macro_f_string_static_t_initialize(FAKE_short_settings_s, 0, FAKE_short_settings_s_length);
+  const f_string_static_t fake_short_sources_s = macro_f_string_static_t_initialize(FAKE_short_sources_s, 0, FAKE_short_sources_s_length);
+  const f_string_static_t fake_short_work_s = macro_f_string_static_t_initialize(FAKE_short_work_s, 0, FAKE_short_work_s_length);
+
+  const f_string_static_t fake_long_build_s = macro_f_string_static_t_initialize(FAKE_long_build_s, 0, FAKE_long_build_s_length);
+  const f_string_static_t fake_long_data_s = macro_f_string_static_t_initialize(FAKE_long_data_s, 0, FAKE_long_data_s_length);
+  const f_string_static_t fake_long_define_s = macro_f_string_static_t_initialize(FAKE_long_define_s, 0, FAKE_long_define_s_length);
+  const f_string_static_t fake_long_documents_s = macro_f_string_static_t_initialize(FAKE_long_documents_s, 0, FAKE_long_documents_s_length);
+  const f_string_static_t fake_long_fakefile_s = macro_f_string_static_t_initialize(FAKE_long_fakefile_s, 0, FAKE_long_fakefile_s_length);
+  const f_string_static_t fake_long_licenses_s = macro_f_string_static_t_initialize(FAKE_long_licenses_s, 0, FAKE_long_licenses_s_length);
+  const f_string_static_t fake_long_mode_s = macro_f_string_static_t_initialize(FAKE_long_mode_s, 0, FAKE_long_mode_s_length);
+  const f_string_static_t fake_long_process_s = macro_f_string_static_t_initialize(FAKE_long_process_s, 0, FAKE_long_process_s_length);
+  const f_string_static_t fake_long_settings_s = macro_f_string_static_t_initialize(FAKE_long_settings_s, 0, FAKE_long_settings_s_length);
+  const f_string_static_t fake_long_sources_s = macro_f_string_static_t_initialize(FAKE_long_sources_s, 0, FAKE_long_sources_s_length);
+  const f_string_static_t fake_long_work_s = macro_f_string_static_t_initialize(FAKE_long_work_s, 0, FAKE_long_work_s_length);
+
+  const f_string_static_t fake_long_documents_disabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_disabled_s, 0, FAKE_long_documents_disabled_s_length);
+  const f_string_static_t fake_long_documents_enabled_s = macro_f_string_static_t_initialize(FAKE_long_documents_enabled_s, 0, FAKE_long_documents_enabled_s_length);
+  const f_string_static_t fake_long_shared_disabled_s = macro_f_string_static_t_initialize(FAKE_long_shared_disabled_s, 0, FAKE_long_shared_disabled_s_length);
+  const f_string_static_t fake_long_shared_enabled_s = macro_f_string_static_t_initialize(FAKE_long_shared_enabled_s, 0, FAKE_long_shared_enabled_s_length);
+  const f_string_static_t fake_long_static_disabled_s = macro_f_string_static_t_initialize(FAKE_long_static_disabled_s, 0, FAKE_long_static_disabled_s_length);
+  const f_string_static_t fake_long_static_enabled_s = macro_f_string_static_t_initialize(FAKE_long_static_enabled_s, 0, FAKE_long_static_enabled_s_length);
+
+  const f_string_static_t fake_other_operation_build_s = macro_f_string_static_t_initialize(FAKE_other_operation_build_s, 0, FAKE_other_operation_build_s_length);
+  const f_string_static_t fake_other_operation_clean_s = macro_f_string_static_t_initialize(FAKE_other_operation_clean_s, 0, FAKE_other_operation_clean_s_length);
+  const f_string_static_t fake_other_operation_make_s = macro_f_string_static_t_initialize(FAKE_other_operation_make_s, 0, FAKE_other_operation_make_s_length);
+  const f_string_static_t fake_other_operation_skeleton_s = macro_f_string_static_t_initialize(FAKE_other_operation_skeleton_s, 0, FAKE_other_operation_skeleton_s_length);
+#endif // _di_fake_parameter_s_
+
+#ifndef _di_fake_build_setting_t_
+  const f_string_static_t fake_build_setting_default_ar_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_ar_s, 0, FAKE_build_setting_default_ar_s_length);
+  const f_string_static_t fake_build_setting_default_gcc_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_gcc_s, 0, FAKE_build_setting_default_gcc_s_length);
+  const f_string_static_t fake_build_setting_default_version_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_s, 0, FAKE_build_setting_default_version_s_length);
+  const f_string_static_t fake_build_setting_default_version_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_prefix_s, 0, FAKE_build_setting_default_version_prefix_s_length);
+  const f_string_static_t fake_build_setting_default_yes_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_yes_s, 0, FAKE_build_setting_default_yes_s_length);
+
+  const f_string_static_t fake_build_setting_name_build_compiler_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_compiler_s, 0, FAKE_build_setting_name_build_compiler_s_length);
+  const f_string_static_t fake_build_setting_name_build_indexer_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_s, 0, FAKE_build_setting_name_build_indexer_s_length);
+  const f_string_static_t fake_build_setting_name_build_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_arguments_s, 0, FAKE_build_setting_name_build_indexer_arguments_s_length);
+  const f_string_static_t fake_build_setting_name_build_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_language_s, 0, FAKE_build_setting_name_build_language_s_length);
+  const f_string_static_t fake_build_setting_name_build_libraries_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_s, 0, FAKE_build_setting_name_build_libraries_s_length);
+  const f_string_static_t fake_build_setting_name_build_libraries_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_shared_s, 0, FAKE_build_setting_name_build_libraries_shared_s_length);
+  const f_string_static_t fake_build_setting_name_build_libraries_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_static_s, 0, FAKE_build_setting_name_build_libraries_static_s_length);
+  const f_string_static_t fake_build_setting_name_build_name_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_name_s, 0, FAKE_build_setting_name_build_name_s_length);
+  const f_string_static_t fake_build_setting_name_build_objects_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_s, 0, FAKE_build_setting_name_build_objects_library_s_length);
+  const f_string_static_t fake_build_setting_name_build_objects_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_shared_s, 0, FAKE_build_setting_name_build_objects_library_shared_s_length);
+  const f_string_static_t fake_build_setting_name_build_objects_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_static_s, 0, FAKE_build_setting_name_build_objects_library_static_s_length);
+  const f_string_static_t fake_build_setting_name_build_objects_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_s, 0, FAKE_build_setting_name_build_objects_program_s_length);
+  const f_string_static_t fake_build_setting_name_build_objects_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_shared_s, 0, FAKE_build_setting_name_build_objects_program_shared_s_length);
+  const f_string_static_t fake_build_setting_name_build_objects_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_static_s, 0, FAKE_build_setting_name_build_objects_program_static_s_length);
+  const f_string_static_t fake_build_setting_name_build_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_script_s, 0, FAKE_build_setting_name_build_script_s_length);
+  const f_string_static_t fake_build_setting_name_build_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_shared_s, 0, FAKE_build_setting_name_build_shared_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_documentation_s, 0, FAKE_build_setting_name_build_sources_documentation_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_s, 0, FAKE_build_setting_name_build_sources_headers_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_shared_s, 0, FAKE_build_setting_name_build_sources_headers_shared_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_headers_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_static_s, 0, FAKE_build_setting_name_build_sources_headers_static_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_s, 0, FAKE_build_setting_name_build_sources_library_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_shared_s, 0, FAKE_build_setting_name_build_sources_library_shared_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_static_s, 0, FAKE_build_setting_name_build_sources_library_static_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_s, 0, FAKE_build_setting_name_build_sources_object_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_shared_s, 0, FAKE_build_setting_name_build_sources_object_shared_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_static_s, 0, FAKE_build_setting_name_build_sources_object_static_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_s, 0, FAKE_build_setting_name_build_sources_program_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_shared_s, 0, FAKE_build_setting_name_build_sources_program_shared_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_static_s, 0, FAKE_build_setting_name_build_sources_program_static_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_script_s, 0, FAKE_build_setting_name_build_sources_script_s_length);
+  const f_string_static_t fake_build_setting_name_build_sources_setting_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_setting_s, 0, FAKE_build_setting_name_build_sources_setting_s_length);
+  const f_string_static_t fake_build_setting_name_build_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_static_s, 0, FAKE_build_setting_name_build_static_s_length);
+  const f_string_static_t fake_build_setting_name_defines_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_s, 0, FAKE_build_setting_name_defines_s_length);
+  const f_string_static_t fake_build_setting_name_defines_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_s, 0, FAKE_build_setting_name_defines_library_s_length);
+  const f_string_static_t fake_build_setting_name_defines_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_shared_s, 0, FAKE_build_setting_name_defines_library_shared_s_length);
+  const f_string_static_t fake_build_setting_name_defines_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_static_s, 0, FAKE_build_setting_name_defines_library_static_s_length);
+  const f_string_static_t fake_build_setting_name_defines_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_s, 0, FAKE_build_setting_name_defines_object_s_length);
+  const f_string_static_t fake_build_setting_name_defines_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_shared_s, 0, FAKE_build_setting_name_defines_object_shared_s_length);
+  const f_string_static_t fake_build_setting_name_defines_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_static_s, 0, FAKE_build_setting_name_defines_object_static_s_length);
+  const f_string_static_t fake_build_setting_name_defines_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_s, 0, FAKE_build_setting_name_defines_program_s_length);
+  const f_string_static_t fake_build_setting_name_defines_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_shared_s, 0, FAKE_build_setting_name_defines_program_shared_s_length);
+  const f_string_static_t fake_build_setting_name_defines_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_static_s, 0, FAKE_build_setting_name_defines_program_static_s_length);
+  const f_string_static_t fake_build_setting_name_defines_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_shared_s, 0, FAKE_build_setting_name_defines_shared_s_length);
+  const f_string_static_t fake_build_setting_name_defines_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_static_s, 0, FAKE_build_setting_name_defines_static_s_length);
+  const f_string_static_t fake_build_setting_name_environment_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_environment_s, 0, FAKE_build_setting_name_environment_s_length);
+  const f_string_static_t fake_build_setting_name_flags_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_s, 0, FAKE_build_setting_name_flags_s_length);
+  const f_string_static_t fake_build_setting_name_flags_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_s, 0, FAKE_build_setting_name_flags_library_s_length);
+  const f_string_static_t fake_build_setting_name_flags_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_shared_s, 0, FAKE_build_setting_name_flags_library_shared_s_length);
+  const f_string_static_t fake_build_setting_name_flags_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_static_s, 0, FAKE_build_setting_name_flags_library_static_s_length);
+  const f_string_static_t fake_build_setting_name_flags_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_s, 0, FAKE_build_setting_name_flags_object_s_length);
+  const f_string_static_t fake_build_setting_name_flags_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_shared_s, 0, FAKE_build_setting_name_flags_object_shared_s_length);
+  const f_string_static_t fake_build_setting_name_flags_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_static_s, 0, FAKE_build_setting_name_flags_object_static_s_length);
+  const f_string_static_t fake_build_setting_name_flags_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_s, 0, FAKE_build_setting_name_flags_program_s_length);
+  const f_string_static_t fake_build_setting_name_flags_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_shared_s, 0, FAKE_build_setting_name_flags_program_shared_s_length);
+  const f_string_static_t fake_build_setting_name_flags_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_static_s, 0, FAKE_build_setting_name_flags_program_static_s_length);
+  const f_string_static_t fake_build_setting_name_flags_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_shared_s, 0, FAKE_build_setting_name_flags_shared_s_length);
+  const f_string_static_t fake_build_setting_name_flags_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_static_s, 0, FAKE_build_setting_name_flags_static_s_length);
+  const f_string_static_t fake_build_setting_name_has_path_standard_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_has_path_standard_s, 0, FAKE_build_setting_name_has_path_standard_s_length);
+  const f_string_static_t fake_build_setting_name_modes_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_s, 0, FAKE_build_setting_name_modes_s_length);
+  const f_string_static_t fake_build_setting_name_modes_default_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_default_s, 0, FAKE_build_setting_name_modes_default_s_length);
+  const f_string_static_t fake_build_setting_name_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_headers_s, 0, FAKE_build_setting_name_path_headers_s_length);
+  const f_string_static_t fake_build_setting_name_path_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_language_s, 0, FAKE_build_setting_name_path_language_s_length);
+  const f_string_static_t fake_build_setting_name_path_library_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_script_s, 0, FAKE_build_setting_name_path_library_script_s_length);
+  const f_string_static_t fake_build_setting_name_path_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_shared_s, 0, FAKE_build_setting_name_path_library_shared_s_length);
+  const f_string_static_t fake_build_setting_name_path_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_static_s, 0, FAKE_build_setting_name_path_library_static_s_length);
+  const f_string_static_t fake_build_setting_name_path_object_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_script_s, 0, FAKE_build_setting_name_path_object_script_s_length);
+  const f_string_static_t fake_build_setting_name_path_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_shared_s, 0, FAKE_build_setting_name_path_object_shared_s_length);
+  const f_string_static_t fake_build_setting_name_path_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_static_s, 0, FAKE_build_setting_name_path_object_static_s_length);
+  const f_string_static_t fake_build_setting_name_path_program_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_script_s, 0, FAKE_build_setting_name_path_program_script_s_length);
+  const f_string_static_t fake_build_setting_name_path_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_shared_s, 0, FAKE_build_setting_name_path_program_shared_s_length);
+  const f_string_static_t fake_build_setting_name_path_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_static_s, 0, FAKE_build_setting_name_path_program_static_s_length);
+  const f_string_static_t fake_build_setting_name_path_sources_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_s, 0, FAKE_build_setting_name_path_sources_s_length);
+  const f_string_static_t fake_build_setting_name_path_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_object_s, 0, FAKE_build_setting_name_path_sources_object_s_length);
+  const f_string_static_t fake_build_setting_name_preserve_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_preserve_path_headers_s, 0, FAKE_build_setting_name_preserve_path_headers_s_length);
+  const f_string_static_t fake_build_setting_name_process_post_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_post_s, 0, FAKE_build_setting_name_process_post_s_length);
+  const f_string_static_t fake_build_setting_name_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_pre_s, 0, FAKE_build_setting_name_process_pre_s_length);
+  const f_string_static_t fake_build_setting_name_search_exclusive_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_exclusive_s, 0, FAKE_build_setting_name_search_exclusive_s_length);
+  const f_string_static_t fake_build_setting_name_search_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_shared_s, 0, FAKE_build_setting_name_search_shared_s_length);
+  const f_string_static_t fake_build_setting_name_search_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_static_s, 0, FAKE_build_setting_name_search_static_s_length);
+  const f_string_static_t fake_build_setting_name_version_file_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_file_s, 0, FAKE_build_setting_name_version_file_s_length);
+  const f_string_static_t fake_build_setting_name_version_major_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_s, 0, FAKE_build_setting_name_version_major_s_length);
+  const f_string_static_t fake_build_setting_name_version_major_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_prefix_s, 0, FAKE_build_setting_name_version_major_prefix_s_length);
+  const f_string_static_t fake_build_setting_name_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_s, 0, FAKE_build_setting_name_version_micro_s_length);
+  const f_string_static_t fake_build_setting_name_version_micro_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_prefix_s, 0, FAKE_build_setting_name_version_micro_prefix_s_length);
+  const f_string_static_t fake_build_setting_name_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_s, 0, FAKE_build_setting_name_version_minor_s_length);
+  const f_string_static_t fake_build_setting_name_version_minor_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_prefix_s, 0, FAKE_build_setting_name_version_minor_prefix_s_length);
+  const f_string_static_t fake_build_setting_name_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_s, 0, FAKE_build_setting_name_version_nano_s_length);
+  const f_string_static_t fake_build_setting_name_version_nano_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_prefix_s, 0, FAKE_build_setting_name_version_nano_prefix_s_length);
+  const f_string_static_t fake_build_setting_name_version_target_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_target_s, 0, FAKE_build_setting_name_version_target_s_length);
+#endif // _di_fake_build_setting_t_
+
+#ifndef _di_fake_build_stage_t_
+  const f_string_static_t fake_build_stage_built_s = macro_f_string_static_t_initialize(FAKE_build_stage_built_s, 0, FAKE_build_stage_built_s_length);
+  const f_string_static_t fake_build_stage_library_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_script_s, 0, FAKE_build_stage_library_script_s_length);
+  const f_string_static_t fake_build_stage_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_shared_s, 0, FAKE_build_stage_library_shared_s_length);
+  const f_string_static_t fake_build_stage_library_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_static_s, 0, FAKE_build_stage_library_static_s_length);
+  const f_string_static_t fake_build_stage_object_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_script_s, 0, FAKE_build_stage_object_script_s_length);
+  const f_string_static_t fake_build_stage_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_shared_s, 0, FAKE_build_stage_object_shared_s_length);
+  const f_string_static_t fake_build_stage_object_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_static_s, 0, FAKE_build_stage_object_static_s_length);
+  const f_string_static_t fake_build_stage_objects_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_objects_static_s, 0, FAKE_build_stage_objects_static_s_length);
+  const f_string_static_t fake_build_stage_process_post_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_post_s, 0, FAKE_build_stage_process_post_s_length);
+  const f_string_static_t fake_build_stage_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_pre_s, 0, FAKE_build_stage_process_pre_s_length);
+  const f_string_static_t fake_build_stage_program_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_script_s, 0, FAKE_build_stage_program_script_s_length);
+  const f_string_static_t fake_build_stage_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_shared_s, 0, FAKE_build_stage_program_shared_s_length);
+  const f_string_static_t fake_build_stage_program_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_static_s, 0, FAKE_build_stage_program_static_s_length);
+  const f_string_static_t fake_build_stage_separate_s = macro_f_string_static_t_initialize(FAKE_build_stage_separate_s, 0, FAKE_build_stage_separate_s_length);
+  const f_string_static_t fake_build_stage_skeleton_s = macro_f_string_static_t_initialize(FAKE_build_stage_skeleton_s, 0, FAKE_build_stage_skeleton_s_length);
+  const f_string_static_t fake_build_stage_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_documentation_s, 0, FAKE_build_stage_sources_documentation_s_length);
+  const f_string_static_t fake_build_stage_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_headers_s, 0, FAKE_build_stage_sources_headers_s_length);
+  const f_string_static_t fake_build_stage_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_script_s, 0, FAKE_build_stage_sources_script_s_length);
+  const f_string_static_t fake_build_stage_sources_settings_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_settings_s, 0, FAKE_build_stage_sources_settings_s_length);
+#endif // _di_fake_build_stage_t_
+
+#ifndef _di_fake_build_parameter_
+  const f_string_static_t fake_build_parameter_library_include_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_include_s, 0, FAKE_build_parameter_library_include_s_length);
+  const f_string_static_t fake_build_parameter_library_link_file_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_file_s, 0, FAKE_build_parameter_library_link_file_s_length);
+  const f_string_static_t fake_build_parameter_library_link_path_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_path_s, 0, FAKE_build_parameter_library_link_path_s_length);
+  const f_string_static_t fake_build_parameter_library_name_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_prefix_s, 0, FAKE_build_parameter_library_name_prefix_s_length);
+  const f_string_static_t fake_build_parameter_library_name_suffix_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_shared_s, 0, FAKE_build_parameter_library_name_suffix_shared_s_length);
+  const f_string_static_t fake_build_parameter_library_name_suffix_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_static_s, 0, FAKE_build_parameter_library_name_suffix_static_s_length);
+  const f_string_static_t fake_build_parameter_library_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_output_s, 0, FAKE_build_parameter_library_output_s_length);
+  const f_string_static_t fake_build_parameter_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_s, 0, FAKE_build_parameter_library_shared_s_length);
+  const f_string_static_t fake_build_parameter_library_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_static_s, 0, FAKE_build_parameter_library_static_s_length);
+  const f_string_static_t fake_build_parameter_library_shared_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_prefix_s, 0, FAKE_build_parameter_library_shared_prefix_s_length);
+
+  const f_string_static_t fake_build_parameter_object_compile_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_compile_s, 0, FAKE_build_parameter_object_compile_s_length);
+  const f_string_static_t fake_build_parameter_object_name_suffix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_name_suffix_s, 0, FAKE_build_parameter_object_name_suffix_s_length);
+  const f_string_static_t fake_build_parameter_object_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_output_s, 0, FAKE_build_parameter_object_output_s_length);
+  const f_string_static_t fake_build_parameter_object_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_static_s, 0, FAKE_build_parameter_object_static_s_length);
+#endif // _di_fake_build_parameter_
+
+#ifndef _di_fake_common_
+  const f_string_static_t fake_common_file_path_access_s = macro_f_string_static_t_initialize(FAKE_common_file_path_access_s, 0, FAKE_common_file_path_access_s_length);
+  const f_string_static_t fake_common_file_directory_copy_s = macro_f_string_static_t_initialize(FAKE_common_file_directory_copy_s, 0, FAKE_common_file_directory_copy_s_length);
+  const f_string_static_t fake_common_file_path_change_to_s = macro_f_string_static_t_initialize(FAKE_common_file_path_change_to_s, 0, FAKE_common_file_path_change_to_s_length);
+  const f_string_static_t fake_common_file_path_determine_real_s = macro_f_string_static_t_initialize(FAKE_common_file_path_determine_real_s, 0, FAKE_common_file_path_determine_real_s_length);
+  const f_string_static_t fake_common_file_path_stack_s = macro_f_string_static_t_initialize(FAKE_common_file_path_stack_s, 0, FAKE_common_file_path_stack_s_length);
+  const f_string_static_t fake_common_file_populate_pre_s = macro_f_string_static_t_initialize(FAKE_common_file_populate_pre_s, 0, FAKE_common_file_populate_pre_s_length);
+
+  const f_string_static_t fake_common_setting_bool_yes_s = macro_f_string_static_t_initialize(FAKE_common_setting_bool_yes_s, 0, FAKE_common_setting_bool_yes_s_length);
+  const f_string_static_t fake_common_setting_bool_no_s = macro_f_string_static_t_initialize(FAKE_common_setting_bool_no_s, 0, FAKE_common_setting_bool_no_s_length);
+
+  const f_string_static_t fake_common_setting_list_s = macro_f_string_static_t_initialize(FAKE_common_setting_list_s, 0, FAKE_common_setting_list_s_length);
+#endif // _di_fake_common_
+
+#ifndef _di_fake_make_section_
+  const f_string_static_t fake_make_section_main_s = macro_f_string_static_t_initialize(FAKE_make_section_main_s, 0, FAKE_make_section_main_s_length);
+  const f_string_static_t fake_make_section_settings_s = macro_f_string_static_t_initialize(FAKE_make_section_settings_s, 0, FAKE_make_section_settings_s_length);
+#endif // _di_fake_make_section_
+
+#ifndef _di_fake_make_setting_t_
+  const f_string_static_t fake_make_setting_compiler_s = macro_f_string_static_t_initialize(FAKE_make_setting_compiler_s, 0, FAKE_make_setting_compiler_s_length);
+  const f_string_static_t fake_make_setting_define_s = macro_f_string_static_t_initialize(FAKE_make_setting_define_s, 0, FAKE_make_setting_define_s_length);
+  const f_string_static_t fake_make_setting_environment_s = macro_f_string_static_t_initialize(FAKE_make_setting_environment_s, 0, FAKE_make_setting_environment_s_length);
+  const f_string_static_t fake_make_setting_fail_s = macro_f_string_static_t_initialize(FAKE_make_setting_fail_s, 0, FAKE_make_setting_fail_s_length);
+  const f_string_static_t fake_make_setting_indexer_s = macro_f_string_static_t_initialize(FAKE_make_setting_indexer_s, 0, FAKE_make_setting_indexer_s_length);
+  const f_string_static_t fake_make_setting_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_make_setting_indexer_arguments_s, 0, FAKE_make_setting_indexer_arguments_s_length);
+  const f_string_static_t fake_make_setting_load_build_s = macro_f_string_static_t_initialize(FAKE_make_setting_load_build_s, 0, FAKE_make_setting_load_build_s_length);
+  const f_string_static_t fake_make_setting_parameter_s = macro_f_string_static_t_initialize(FAKE_make_setting_parameter_s, 0, FAKE_make_setting_parameter_s_length);
+  const f_string_static_t fake_make_setting_return_s = macro_f_string_static_t_initialize(FAKE_make_setting_return_s, 0, FAKE_make_setting_return_s_length);
+#endif // _di_fake_make_setting_t_
+
+#ifndef _di_fake_make_operation_
+  const f_string_static_t fake_make_operation_and_s = macro_f_string_static_t_initialize(FAKE_make_operation_and_s, 0, FAKE_make_operation_and_s_length);
+  const f_string_static_t fake_make_operation_break_s = macro_f_string_static_t_initialize(FAKE_make_operation_break_s, 0, FAKE_make_operation_break_s_length);
+  const f_string_static_t fake_make_operation_build_s = macro_f_string_static_t_initialize(FAKE_make_operation_build_s, 0, FAKE_make_operation_build_s_length);
+  const f_string_static_t fake_make_operation_clean_s = macro_f_string_static_t_initialize(FAKE_make_operation_clean_s, 0, FAKE_make_operation_clean_s_length);
+  const f_string_static_t fake_make_operation_clone_s = macro_f_string_static_t_initialize(FAKE_make_operation_clone_s, 0, FAKE_make_operation_clone_s_length);
+  const f_string_static_t fake_make_operation_compile_s = macro_f_string_static_t_initialize(FAKE_make_operation_compile_s, 0, FAKE_make_operation_compile_s_length);
+  const f_string_static_t fake_make_operation_copy_s = macro_f_string_static_t_initialize(FAKE_make_operation_copy_s, 0, FAKE_make_operation_copy_s_length);
+  const f_string_static_t fake_make_operation_define_s = macro_f_string_static_t_initialize(FAKE_make_operation_define_s, 0, FAKE_make_operation_define_s_length);
+  const f_string_static_t fake_make_operation_delete_s = macro_f_string_static_t_initialize(FAKE_make_operation_delete_s, 0, FAKE_make_operation_delete_s_length);
+  const f_string_static_t fake_make_operation_deletes_s = macro_f_string_static_t_initialize(FAKE_make_operation_deletes_s, 0, FAKE_make_operation_deletes_s_length);
+  const f_string_static_t fake_make_operation_else_s = macro_f_string_static_t_initialize(FAKE_make_operation_else_s, 0, FAKE_make_operation_else_s_length);
+  const f_string_static_t fake_make_operation_exit_s = macro_f_string_static_t_initialize(FAKE_make_operation_exit_s, 0, FAKE_make_operation_exit_s_length);
+  const f_string_static_t fake_make_operation_fail_s = macro_f_string_static_t_initialize(FAKE_make_operation_fail_s, 0, FAKE_make_operation_fail_s_length);
+  const f_string_static_t fake_make_operation_group_s = macro_f_string_static_t_initialize(FAKE_make_operation_group_s, 0, FAKE_make_operation_group_s_length);
+  const f_string_static_t fake_make_operation_groups_s = macro_f_string_static_t_initialize(FAKE_make_operation_groups_s, 0, FAKE_make_operation_groups_s_length);
+  const f_string_static_t fake_make_operation_if_s = macro_f_string_static_t_initialize(FAKE_make_operation_if_s, 0, FAKE_make_operation_if_s_length);
+  const f_string_static_t fake_make_operation_index_s = macro_f_string_static_t_initialize(FAKE_make_operation_index_s, 0, FAKE_make_operation_index_s_length);
+  const f_string_static_t fake_make_operation_link_s = macro_f_string_static_t_initialize(FAKE_make_operation_link_s, 0, FAKE_make_operation_link_s_length);
+  const f_string_static_t fake_make_operation_mode_s = macro_f_string_static_t_initialize(FAKE_make_operation_mode_s, 0, FAKE_make_operation_mode_s_length);
+  const f_string_static_t fake_make_operation_modes_s = macro_f_string_static_t_initialize(FAKE_make_operation_modes_s, 0, FAKE_make_operation_modes_s_length);
+  const f_string_static_t fake_make_operation_move_s = macro_f_string_static_t_initialize(FAKE_make_operation_move_s, 0, FAKE_make_operation_move_s_length);
+  const f_string_static_t fake_make_operation_operate_s = macro_f_string_static_t_initialize(FAKE_make_operation_operate_s, 0, FAKE_make_operation_operate_s_length);
+  const f_string_static_t fake_make_operation_or_s = macro_f_string_static_t_initialize(FAKE_make_operation_or_s, 0, FAKE_make_operation_or_s_length);
+  const f_string_static_t fake_make_operation_owner_s = macro_f_string_static_t_initialize(FAKE_make_operation_owner_s, 0, FAKE_make_operation_owner_s_length);
+  const f_string_static_t fake_make_operation_owners_s = macro_f_string_static_t_initialize(FAKE_make_operation_owners_s, 0, FAKE_make_operation_owners_s_length);
+  const f_string_static_t fake_make_operation_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_parameter_s, 0, FAKE_make_operation_parameter_s_length);
+  const f_string_static_t fake_make_operation_pop_s = macro_f_string_static_t_initialize(FAKE_make_operation_pop_s, 0, FAKE_make_operation_pop_s_length);
+  const f_string_static_t fake_make_operation_print_s = macro_f_string_static_t_initialize(FAKE_make_operation_print_s, 0, FAKE_make_operation_print_s_length);
+  const f_string_static_t fake_make_operation_run_s = macro_f_string_static_t_initialize(FAKE_make_operation_run_s, 0, FAKE_make_operation_run_s_length);
+  const f_string_static_t fake_make_operation_shell_s = macro_f_string_static_t_initialize(FAKE_make_operation_shell_s, 0, FAKE_make_operation_shell_s_length);
+  const f_string_static_t fake_make_operation_skeleton_s = macro_f_string_static_t_initialize(FAKE_make_operation_skeleton_s, 0, FAKE_make_operation_skeleton_s_length);
+  const f_string_static_t fake_make_operation_to_s = macro_f_string_static_t_initialize(FAKE_make_operation_to_s, 0, FAKE_make_operation_to_s_length);
+  const f_string_static_t fake_make_operation_top_s = macro_f_string_static_t_initialize(FAKE_make_operation_top_s, 0, FAKE_make_operation_top_s_length);
+  const f_string_static_t fake_make_operation_touch_s = macro_f_string_static_t_initialize(FAKE_make_operation_touch_s, 0, FAKE_make_operation_touch_s_length);
+  const f_string_static_t fake_make_operation_write_s = macro_f_string_static_t_initialize(FAKE_make_operation_write_s, 0, FAKE_make_operation_write_s_length);
+
+  const f_string_static_t fake_make_operation_argument_directory_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_directory_s, 0, FAKE_make_operation_argument_directory_s_length);
+  const f_string_static_t fake_make_operation_argument_environment_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_environment_s, 0, FAKE_make_operation_argument_environment_s_length);
+  const f_string_static_t fake_make_operation_argument_error_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_error_s, 0, FAKE_make_operation_argument_error_s_length);
+  const f_string_static_t fake_make_operation_argument_exit_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_exit_s, 0, FAKE_make_operation_argument_exit_s_length);
+  const f_string_static_t fake_make_operation_argument_failure_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_failure_s, 0, FAKE_make_operation_argument_failure_s_length);
+  const f_string_static_t fake_make_operation_argument_file_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_file_s, 0, FAKE_make_operation_argument_file_s_length);
+  const f_string_static_t fake_make_operation_argument_force_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_force_s, 0, FAKE_make_operation_argument_force_s_length);
+  const f_string_static_t fake_make_operation_argument_has_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_has_s, 0, FAKE_make_operation_argument_has_s_length);
+  const f_string_static_t fake_make_operation_argument_ignore_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_ignore_s, 0, FAKE_make_operation_argument_ignore_s_length);
+  const f_string_static_t fake_make_operation_argument_is_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_is_s, 0, FAKE_make_operation_argument_is_s_length);
+  const f_string_static_t fake_make_operation_argument_no_dereference_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_no_dereference_s, 0, FAKE_make_operation_argument_no_dereference_s_length);
+  const f_string_static_t fake_make_operation_argument_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_parameter_s, 0, FAKE_make_operation_argument_parameter_s_length);
+  const f_string_static_t fake_make_operation_argument_point_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_point_s, 0, FAKE_make_operation_argument_point_s_length);
+  const f_string_static_t fake_make_operation_argument_recursive_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_recursive_s, 0, FAKE_make_operation_argument_recursive_s_length);
+  const f_string_static_t fake_make_operation_argument_strict_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_strict_s, 0, FAKE_make_operation_argument_strict_s_length);
+  const f_string_static_t fake_make_operation_argument_success_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_success_s, 0, FAKE_make_operation_argument_success_s_length);
+  const f_string_static_t fake_make_operation_argument_target_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_target_s, 0, FAKE_make_operation_argument_target_s_length);
+  const f_string_static_t fake_make_operation_argument_warn_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_warn_s, 0, FAKE_make_operation_argument_warn_s_length);
+
+  const f_string_static_t fake_make_operation_argument_if_define_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_define_s, 0, FAKE_make_operation_argument_if_define_s_length);
+  const f_string_static_t fake_make_operation_argument_if_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_equal_s, 0, FAKE_make_operation_argument_if_equal_s_length);
+  const f_string_static_t fake_make_operation_argument_if_equal_not_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_equal_not_s, 0, FAKE_make_operation_argument_if_equal_not_s_length);
+  const f_string_static_t fake_make_operation_argument_if_exist_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_exist_s, 0, FAKE_make_operation_argument_if_exist_s_length);
+  const f_string_static_t fake_make_operation_argument_if_failure_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_failure_s, 0, FAKE_make_operation_argument_if_failure_s_length);
+  const f_string_static_t fake_make_operation_argument_if_greater_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_greater_s, 0, FAKE_make_operation_argument_if_greater_s_length);
+  const f_string_static_t fake_make_operation_argument_if_greater_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_greater_equal_s, 0, FAKE_make_operation_argument_if_greater_equal_s_length);
+  const f_string_static_t fake_make_operation_argument_if_group_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_group_s, 0, FAKE_make_operation_argument_if_group_s_length);
+  const f_string_static_t fake_make_operation_argument_if_is_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_is_s, 0, FAKE_make_operation_argument_if_is_s_length);
+  const f_string_static_t fake_make_operation_argument_if_is_for_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_is_for_s, 0, FAKE_make_operation_argument_if_is_for_s_length);
+  const f_string_static_t fake_make_operation_argument_if_less_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_less_s, 0, FAKE_make_operation_argument_if_less_s_length);
+  const f_string_static_t fake_make_operation_argument_if_less_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_less_equal_s, 0, FAKE_make_operation_argument_if_less_equal_s_length);
+  const f_string_static_t fake_make_operation_argument_if_mode_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_mode_s, 0, FAKE_make_operation_argument_if_mode_s_length);
+  const f_string_static_t fake_make_operation_argument_if_not_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_not_s, 0, FAKE_make_operation_argument_if_not_s_length);
+  const f_string_static_t fake_make_operation_argument_if_owner_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_owner_s, 0, FAKE_make_operation_argument_if_owner_s_length);
+  const f_string_static_t fake_make_operation_argument_if_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_parameter_s, 0, FAKE_make_operation_argument_if_parameter_s_length);
+  const f_string_static_t fake_make_operation_argument_if_success_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_success_s, 0, FAKE_make_operation_argument_if_success_s_length);
+#endif // _di_fake_make_operation_
+
+#ifndef _di_fake_make_parameter_t_
+  const f_string_static_t fake_make_parameter_iki_option_s = macro_f_string_static_t_initialize(FAKE_make_parameter_iki_option_s, 0, FAKE_make_parameter_iki_option_s_length);
+  const f_string_static_t fake_make_parameter_iki_value_s = macro_f_string_static_t_initialize(FAKE_make_parameter_iki_value_s, 0, FAKE_make_parameter_iki_value_s_length);
+
+  const f_string_static_t fake_make_parameter_variable_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_build_s, 0, FAKE_make_parameter_variable_build_s_length);
+  const f_string_static_t fake_make_parameter_variable_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_color_s, 0, FAKE_make_parameter_variable_color_s_length);
+  const f_string_static_t fake_make_parameter_variable_current_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_current_s, 0, FAKE_make_parameter_variable_current_s_length);
+  const f_string_static_t fake_make_parameter_variable_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_data_s, 0, FAKE_make_parameter_variable_data_s_length);
+  const f_string_static_t fake_make_parameter_variable_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_define_s, 0, FAKE_make_parameter_variable_define_s_length);
+  const f_string_static_t fake_make_parameter_variable_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_documents_s, 0, FAKE_make_parameter_variable_documents_s_length);
+  const f_string_static_t fake_make_parameter_variable_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_fakefile_s, 0, FAKE_make_parameter_variable_fakefile_s_length);
+  const f_string_static_t fake_make_parameter_variable_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_licenses_s, 0, FAKE_make_parameter_variable_licenses_s_length);
+  const f_string_static_t fake_make_parameter_variable_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_mode_s, 0, FAKE_make_parameter_variable_mode_s_length);
+  const f_string_static_t fake_make_parameter_variable_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_process_s, 0, FAKE_make_parameter_variable_process_s_length);
+  const f_string_static_t fake_make_parameter_variable_return_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_return_s, 0, FAKE_make_parameter_variable_return_s_length);
+  const f_string_static_t fake_make_parameter_variable_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_settings_s, 0, FAKE_make_parameter_variable_settings_s_length);
+  const f_string_static_t fake_make_parameter_variable_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_sources_s, 0, FAKE_make_parameter_variable_sources_s_length);
+  const f_string_static_t fake_make_parameter_variable_top_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_top_s, 0, FAKE_make_parameter_variable_top_s_length);
+  const f_string_static_t fake_make_parameter_variable_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_verbosity_s, 0, FAKE_make_parameter_variable_verbosity_s_length);
+  const f_string_static_t fake_make_parameter_variable_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_work_s, 0, FAKE_make_parameter_variable_work_s_length);
+
+  const f_string_static_t fake_make_parameter_variable_option_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_build_s, 0, FAKE_make_parameter_variable_option_build_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_color_s, 0, FAKE_make_parameter_variable_option_color_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_data_s, 0, FAKE_make_parameter_variable_option_data_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_define_s, 0, FAKE_make_parameter_variable_option_define_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_documents_s, 0, FAKE_make_parameter_variable_option_documents_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_fakefile_s, 0, FAKE_make_parameter_variable_option_fakefile_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_licenses_s, 0, FAKE_make_parameter_variable_option_licenses_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_mode_s, 0, FAKE_make_parameter_variable_option_mode_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_process_s, 0, FAKE_make_parameter_variable_option_process_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_settings_s, 0, FAKE_make_parameter_variable_option_settings_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_sources_s, 0, FAKE_make_parameter_variable_option_sources_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_verbosity_s, 0, FAKE_make_parameter_variable_option_verbosity_s_length);
+  const f_string_static_t fake_make_parameter_variable_option_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_work_s, 0, FAKE_make_parameter_variable_option_work_s_length);
+
+  const f_string_static_t fake_make_parameter_variable_value_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_build_s, 0, FAKE_make_parameter_variable_value_build_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_color_s, 0, FAKE_make_parameter_variable_value_color_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_data_s, 0, FAKE_make_parameter_variable_value_data_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_define_s, 0, FAKE_make_parameter_variable_value_define_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_documents_s, 0, FAKE_make_parameter_variable_value_documents_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_fakefile_s, 0, FAKE_make_parameter_variable_value_fakefile_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_licenses_s, 0, FAKE_make_parameter_variable_value_licenses_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_mode_s, 0, FAKE_make_parameter_variable_value_mode_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_process_s, 0, FAKE_make_parameter_variable_value_process_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_settings_s, 0, FAKE_make_parameter_variable_value_settings_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_sources_s, 0, FAKE_make_parameter_variable_value_sources_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_verbosity_s, 0, FAKE_make_parameter_variable_value_verbosity_s_length);
+  const f_string_static_t fake_make_parameter_variable_value_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_work_s, 0, FAKE_make_parameter_variable_value_work_s_length);
+#endif // _di_fake_make_parameter_t_
+
+#ifndef _di_fake_skeleton_content_
+  const f_string_static_t fake_make_skeleton_content_defines_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_defines_s, 0, FAKE_make_skeleton_content_defines_s_length);
+  const f_string_static_t fake_make_skeleton_content_dependencies_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_dependencies_s, 0, FAKE_make_skeleton_content_dependencies_s_length);
+  const f_string_static_t fake_make_skeleton_content_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_fakefile_s, 0, FAKE_make_skeleton_content_fakefile_s_length);
+  const f_string_static_t fake_make_skeleton_content_process_post_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_process_post_s, 0, FAKE_make_skeleton_content_process_post_s_length);
+  const f_string_static_t fake_make_skeleton_content_process_pre_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_process_pre_s, 0, FAKE_make_skeleton_content_process_pre_s_length);
+  const f_string_static_t fake_make_skeleton_content_settings_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_settings_s, 0, FAKE_make_skeleton_content_settings_s_length);
+#endif // _di_fake_skeleton_content_
+
+#ifndef _di_fake_make_context_
+  const f_string_static_t fake_make_context_error_s = macro_f_string_static_t_initialize(FAKE_make_context_error_s, 0, FAKE_make_context_error_s_length);
+  const f_string_static_t fake_make_context_important_s = macro_f_string_static_t_initialize(FAKE_make_context_important_s, 0, FAKE_make_context_important_s_length);
+  const f_string_static_t fake_make_context_normal_s = macro_f_string_static_t_initialize(FAKE_make_context_normal_s, 0, FAKE_make_context_normal_s_length);
+  const f_string_static_t fake_make_context_notable_s = macro_f_string_static_t_initialize(FAKE_make_context_notable_s, 0, FAKE_make_context_notable_s_length);
+  const f_string_static_t fake_make_context_reset_s = macro_f_string_static_t_initialize(FAKE_make_context_reset_s, 0, FAKE_make_context_reset_s_length);
+  const f_string_static_t fake_make_context_standout_s = macro_f_string_static_t_initialize(FAKE_make_context_standout_s, 0, FAKE_make_context_standout_s_length);
+  const f_string_static_t fake_make_context_success_s = macro_f_string_static_t_initialize(FAKE_make_context_success_s, 0, FAKE_make_context_success_s_length);
+  const f_string_static_t fake_make_context_title_s = macro_f_string_static_t_initialize(FAKE_make_context_title_s, 0, FAKE_make_context_title_s_length);
+  const f_string_static_t fake_make_context_warning_s = macro_f_string_static_t_initialize(FAKE_make_context_warning_s, 0, FAKE_make_context_warning_s_length);
+#endif // _di_fake_make_context_
+
+#ifndef _di_fake_file_data_build_strings_
+  const f_string_static_t fake_file_data_build_process_post_s = macro_f_string_static_t_initialize(FAKE_file_data_build_process_post_s, 0, FAKE_file_data_build_process_post_s_length);
+  const f_string_static_t fake_file_data_build_process_pre_s = macro_f_string_static_t_initialize(FAKE_file_data_build_process_pre_s, 0, FAKE_file_data_build_process_pre_s_length);
+#endif // _di_fake_file_data_build_strings_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_3/fake/c/main/common/string.h b/level_3/fake/c/main/common/string.h
new file mode 100644 (file)
index 0000000..b30b90a
--- /dev/null
@@ -0,0 +1,1278 @@
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides the common string structures.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _fake_common_string_h
+#define _fake_common_string_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * The program version.
+ */
+#ifndef _di_fake_program_version_s_
+  #define FAKE_program_version_major_s F_string_ascii_0_s
+  #define FAKE_program_version_minor_s F_string_ascii_7_s
+  #define FAKE_program_version_micro_s F_string_ascii_0_s
+
+  #define FAKE_program_version_major_s_length F_string_ascii_0_s_length
+  #define FAKE_program_version_minor_s_length F_string_ascii_7_s_length
+  #define FAKE_program_version_micro_s_length F_string_ascii_0_s_length
+
+  #ifndef FAKE_program_version_nano_prefix_s
+    #define FAKE_program_version_nano_prefix_s
+    #define FAKE_program_version_nano_prefix_s_length 0
+  #endif // FAKE_program_version_major_s_length F_string_ascii_0_s_length
+
+  #ifndef FAKE_program_version_nano_s
+    #define FAKE_program_version_nano_s
+    #define FAKE_program_version_nano_s_length 0
+  #endif // FAKE_program_version_nano_s
+
+  #define FAKE_program_version_s FAKE_program_version_major_s F_string_ascii_period_s FAKE_program_version_minor_s F_string_ascii_period_s FAKE_program_version_micro_s FAKE_program_version_nano_prefix_s FAKE_program_version_nano_s
+
+  #define FAKE_program_version_s_length FAKE_program_version_major_s_length + F_string_ascii_period_s_length + FAKE_program_version_minor_s_length + F_string_ascii_period_s_length + FAKE_program_version_micro_s_length + FAKE_program_version_nano_prefix_s_length + FAKE_program_version_nano_s_length
+
+  extern const f_string_static_t fake_program_version_s;
+#endif // _di_fake_program_version_s_
+
+/**
+ * The program name.
+ */
+#ifndef _di_fake_program_name_s_
+  #define FAKE_program_name_s      "fake"
+  #define FAKE_program_name_long_s "Featureless Make"
+
+  #define FAKE_program_name_s_length      4
+  #define FAKE_program_name_long_s_length 16
+
+  extern const f_string_static_t fake_program_name_s;
+  extern const f_string_static_t fake_program_name_long_s;
+#endif // _di_fake_program_name_s_
+
+/**
+ * The program help related data.
+ */
+#ifndef _di_fake_program_help_parameter_s_
+  #define FAKE_program_help_parameters_s "operation / section"
+
+  #define FAKE_program_help_parameters_s_length 19
+
+  extern const f_string_static_t fake_program_help_parameters_s;
+#endif // _di_fake_program_help_parameter_s_
+
+/**
+ * The build operation utilizes pre-defined path structures.
+ * These structures are hard-coded by their individual pieces to be constructed later on.
+ */
+#ifndef _di_fake_path_s_
+  #define FAKE_path_part_build_s          "build"          F_path_separator_s
+  #define FAKE_path_part_c_s              "c"              F_path_separator_s
+  #define FAKE_path_part_cpp_s            "c++"            F_path_separator_s
+  #define FAKE_path_part_data_s           "data"           F_path_separator_s
+  #define FAKE_path_part_documentation_s  "documentation"  F_path_separator_s
+  #define FAKE_path_part_documents_s      "documents"      F_path_separator_s
+  #define FAKE_path_part_includes_s       "includes"       F_path_separator_s
+  #define FAKE_path_part_libraries_s      "libraries"      F_path_separator_s
+  #define FAKE_path_part_licenses_s       "licenses"       F_path_separator_s
+  #define FAKE_path_part_objects_s        "objects"        F_path_separator_s
+  #define FAKE_path_part_process_s        "process"        F_path_separator_s
+  #define FAKE_path_part_programs_s       "programs"       F_path_separator_s
+  #define FAKE_path_part_script_s         "script"         F_path_separator_s
+  #define FAKE_path_part_settings_s       "settings"       F_path_separator_s
+  #define FAKE_path_part_shared_s         "shared"         F_path_separator_s
+  #define FAKE_path_part_shell_s          "shell"          F_path_separator_s
+  #define FAKE_path_part_specifications_s "specifications" F_path_separator_s
+  #define FAKE_path_part_stage_s          "stage"          F_path_separator_s
+  #define FAKE_path_part_static_s         "static"         F_path_separator_s
+
+  #define FAKE_path_part_build_s_length          5 + F_path_separator_s_length
+  #define FAKE_path_part_c_s_length              1 + F_path_separator_s_length
+  #define FAKE_path_part_cpp_s_length            3 + F_path_separator_s_length
+  #define FAKE_path_part_data_s_length           4 + F_path_separator_s_length
+  #define FAKE_path_part_documentation_s_length  13 + F_path_separator_s_length
+  #define FAKE_path_part_documents_s_length      9 + F_path_separator_s_length
+  #define FAKE_path_part_includes_s_length       8 + F_path_separator_s_length
+  #define FAKE_path_part_libraries_s_length      9 + F_path_separator_s_length
+  #define FAKE_path_part_licenses_s_length       8 + F_path_separator_s_length
+  #define FAKE_path_part_objects_s_length        7 + F_path_separator_s_length
+  #define FAKE_path_part_process_s_length        7 + F_path_separator_s_length
+  #define FAKE_path_part_programs_s_length       8 + F_path_separator_s_length
+  #define FAKE_path_part_script_s_length         6 + F_path_separator_s_length
+  #define FAKE_path_part_settings_s_length       8 + F_path_separator_s_length
+  #define FAKE_path_part_shared_s_length         6 + F_path_separator_s_length
+  #define FAKE_path_part_shell_s_length          5 + F_path_separator_s_length
+  #define FAKE_path_part_specifications_s_length 14 + F_path_separator_s_length
+  #define FAKE_path_part_stage_s_length          5 + F_path_separator_s_length
+  #define FAKE_path_part_static_s_length         6 + F_path_separator_s_length
+
+  extern const f_string_static_t fake_path_part_build_s;
+  extern const f_string_static_t fake_path_part_c_s;
+  extern const f_string_static_t fake_path_part_cpp_s;
+  extern const f_string_static_t fake_path_part_data_s;
+  extern const f_string_static_t fake_path_part_documentation_s;
+  extern const f_string_static_t fake_path_part_documents_s;
+  extern const f_string_static_t fake_path_part_includes_s;
+  extern const f_string_static_t fake_path_part_libraries_s;
+  extern const f_string_static_t fake_path_part_licenses_s;
+  extern const f_string_static_t fake_path_part_objects_s;
+  extern const f_string_static_t fake_path_part_process_s;
+  extern const f_string_static_t fake_path_part_programs_s;
+  extern const f_string_static_t fake_path_part_script_s;
+  extern const f_string_static_t fake_path_part_settings_s;
+  extern const f_string_static_t fake_path_part_shared_s;
+  extern const f_string_static_t fake_path_part_shell_s;
+  extern const f_string_static_t fake_path_part_specifications_s;
+  extern const f_string_static_t fake_path_part_stage_s;
+  extern const f_string_static_t fake_path_part_static_s;
+#endif // _di_fake_path_s_
+
+/**
+ * The file settings.
+ */
+#ifndef _di_fake_file_s_
+  #define FAKE_file_defines_s      "defines"
+  #define FAKE_file_dependencies_s "dependencies"
+  #define FAKE_file_process_pre_s  "process_pre.sh"
+  #define FAKE_file_process_post_s "process_post.sh"
+  #define FAKE_file_readme_s       "readme.txt"
+
+  #define FAKE_file_defines_s_length      7
+  #define FAKE_file_dependencies_s_length 12
+  #define FAKE_file_process_pre_s_length  14
+  #define FAKE_file_process_post_s_length 15
+  #define FAKE_file_readme_s_length       10
+
+  extern const f_string_static_t fake_file_defines_s;
+  extern const f_string_static_t fake_file_dependencies_s;
+  extern const f_string_static_t fake_file_process_pre_s;
+  extern const f_string_static_t fake_file_process_post_s;
+  extern const f_string_static_t fake_file_readme_s;
+#endif // _di_fake_file_s_
+
+/**
+ * Provide default settings.
+ */
+#ifndef _di_fake_default_s_
+  #define FAKE_default_build_s     "build"     F_path_separator_s
+  #define FAKE_default_data_s      "data"      F_path_separator_s
+  #define FAKE_default_documents_s "documents" F_path_separator_s
+  #define FAKE_default_fakefile_s  "fakefile"
+  #define FAKE_default_licenses_s  "licenses"  F_path_separator_s
+  #define FAKE_default_process_s   ""
+  #define FAKE_default_settings_s  "settings"
+  #define FAKE_default_sources_s   "sources"   F_path_separator_s
+  #define FAKE_default_work_s      ""
+
+  #define FAKE_default_build_s_length     5 + F_path_separator_s_length
+  #define FAKE_default_data_s_length      4 + F_path_separator_s_length
+  #define FAKE_default_documents_s_length 9 + F_path_separator_s_length
+  #define FAKE_default_fakefile_s_length  8
+  #define FAKE_default_licenses_s_length  8 + F_path_separator_s_length
+  #define FAKE_default_process_s_length   0
+  #define FAKE_default_settings_s_length  8
+  #define FAKE_default_sources_s_length   7 + F_path_separator_s_length
+  #define FAKE_default_work_s_length      0
+
+  extern const f_string_static_t fake_default_build_s;
+  extern const f_string_static_t fake_default_data_s;
+  extern const f_string_static_t fake_default_documents_s;
+  extern const f_string_static_t fake_default_fakefile_s;
+  extern const f_string_static_t fake_default_licenses_s;
+  extern const f_string_static_t fake_default_process_s;
+  extern const f_string_static_t fake_default_settings_s;
+  extern const f_string_static_t fake_default_sources_s;
+  extern const f_string_static_t fake_default_work_s;
+#endif // _di_fake_default_s_
+
+/**
+ * The build language strings.
+ *
+ * fake_build_language_*_s:
+ *   - bash: The GNU Bash language.
+ *   - c:    The C language.
+ *   - cpp:  The C++ language.
+ *   - zsh:  The ZSH language (Similar to and somewhat compatible with GNU Bash).
+ */
+#ifndef _di_fake_build_language_s_
+  #define FAKE_build_language_bash_s "bash"
+  #define FAKE_build_language_c_s    "c"
+  #define FAKE_build_language_cpp_s  "c++"
+  #define FAKE_build_language_zsh_s  "zsh"
+
+  #define FAKE_build_language_bash_s_length 4
+  #define FAKE_build_language_c_s_length    1
+  #define FAKE_build_language_cpp_s_length  3
+  #define FAKE_build_language_zsh_s_length  3
+
+  extern const f_string_static_t fake_build_language_bash_s;
+  extern const f_string_static_t fake_build_language_c_s;
+  extern const f_string_static_t fake_build_language_cpp_s;
+  extern const f_string_static_t fake_build_language_zsh_s;
+#endif // _di_fake_build_language_s_
+
+/**
+ * The program version strings.
+ */
+#ifndef _di_fake_build_version_s_
+  #define FAKE_build_version_major_s "major"
+  #define FAKE_build_version_minor_s "minor"
+  #define FAKE_build_version_micro_s "micro"
+  #define FAKE_build_version_nano_s  "nano"
+
+  #define FAKE_build_version_major_s_length 5
+  #define FAKE_build_version_minor_s_length 5
+  #define FAKE_build_version_micro_s_length 5
+  #define FAKE_build_version_nano_s_length  4
+
+  extern const f_string_static_t fake_build_version_major_s;
+  extern const f_string_static_t fake_build_version_minor_s;
+  extern const f_string_static_t fake_build_version_micro_s;
+  extern const f_string_static_t fake_build_version_nano_s;
+#endif // _di_fake_build_version_s_
+
+/**
+ * The main program parameters.
+ */
+#ifndef _di_fake_parameter_s_
+  #define FAKE_short_build_s     "b"
+  #define FAKE_short_data_s      "D"
+  #define FAKE_short_define_s    "d"
+  #define FAKE_short_documents_s "O"
+  #define FAKE_short_fakefile_s  "f"
+  #define FAKE_short_licenses_s  "l"
+  #define FAKE_short_mode_s      "m"
+  #define FAKE_short_process_s   "p"
+  #define FAKE_short_settings_s  "s"
+  #define FAKE_short_sources_s   "S"
+  #define FAKE_short_work_s      "w"
+
+  #define FAKE_long_build_s     "build"
+  #define FAKE_long_data_s      "data"
+  #define FAKE_long_define_s    "define"
+  #define FAKE_long_documents_s "documents"
+  #define FAKE_long_fakefile_s  "fakefile"
+  #define FAKE_long_licenses_s  "licenses"
+  #define FAKE_long_mode_s      "mode"
+  #define FAKE_long_process_s   "process"
+  #define FAKE_long_settings_s  "settings"
+  #define FAKE_long_sources_s   "sources"
+  #define FAKE_long_work_s      "work"
+
+  // These special parameters are provided in such a way that they mimic the traditional ./configure script.
+  #define FAKE_long_documents_disabled_s "disable-doc"
+  #define FAKE_long_documents_enabled_s  "enable-doc"
+  #define FAKE_long_shared_disabled_s    "disable-shared"
+  #define FAKE_long_shared_enabled_s     "enable-shared"
+  #define FAKE_long_static_disabled_s    "disable-static"
+  #define FAKE_long_static_enabled_s     "enable-static"
+
+  #define FAKE_other_operation_build_s    "build"
+  #define FAKE_other_operation_clean_s    "clean"
+  #define FAKE_other_operation_make_s     "make"
+  #define FAKE_other_operation_skeleton_s "skeleton"
+
+  #define FAKE_short_build_s_length     1
+  #define FAKE_short_data_s_length      1
+  #define FAKE_short_define_s_length    1
+  #define FAKE_short_documents_s_length 1
+  #define FAKE_short_fakefile_s_length  1
+  #define FAKE_short_licenses_s_length  1
+  #define FAKE_short_mode_s_length      1
+  #define FAKE_short_process_s_length   1
+  #define FAKE_short_settings_s_length  1
+  #define FAKE_short_sources_s_length   1
+  #define FAKE_short_work_s_length      1
+
+  #define FAKE_long_build_s_length     5
+  #define FAKE_long_data_s_length      4
+  #define FAKE_long_define_s_length    6
+  #define FAKE_long_documents_s_length 9
+  #define FAKE_long_fakefile_s_length  8
+  #define FAKE_long_licenses_s_length  8
+  #define FAKE_long_mode_s_length      4
+  #define FAKE_long_process_s_length   7
+  #define FAKE_long_settings_s_length  8
+  #define FAKE_long_sources_s_length   7
+  #define FAKE_long_work_s_length      4
+
+  #define FAKE_long_documents_disabled_s_length 11
+  #define FAKE_long_documents_enabled_s_length  10
+  #define FAKE_long_shared_disabled_s_length    14
+  #define FAKE_long_shared_enabled_s_length     13
+  #define FAKE_long_static_disabled_s_length    14
+  #define FAKE_long_static_enabled_s_length     13
+
+  #define FAKE_other_operation_build_s_length    5
+  #define FAKE_other_operation_clean_s_length    5
+  #define FAKE_other_operation_make_s_length     4
+  #define FAKE_other_operation_skeleton_s_length 8
+
+  extern const f_string_static_t fake_short_build_s;
+  extern const f_string_static_t fake_short_data_s;
+  extern const f_string_static_t fake_short_define_s;
+  extern const f_string_static_t fake_short_documents_s;
+  extern const f_string_static_t fake_short_fakefile_s;
+  extern const f_string_static_t fake_short_licenses_s;
+  extern const f_string_static_t fake_short_mode_s;
+  extern const f_string_static_t fake_short_process_s;
+  extern const f_string_static_t fake_short_settings_s;
+  extern const f_string_static_t fake_short_sources_s;
+  extern const f_string_static_t fake_short_work_s;
+
+  extern const f_string_static_t fake_long_build_s;
+  extern const f_string_static_t fake_long_data_s;
+  extern const f_string_static_t fake_long_define_s;
+  extern const f_string_static_t fake_long_documents_s;
+  extern const f_string_static_t fake_long_fakefile_s;
+  extern const f_string_static_t fake_long_licenses_s;
+  extern const f_string_static_t fake_long_mode_s;
+  extern const f_string_static_t fake_long_process_s;
+  extern const f_string_static_t fake_long_settings_s;
+  extern const f_string_static_t fake_long_sources_s;
+  extern const f_string_static_t fake_long_work_s;
+
+  extern const f_string_static_t fake_long_documents_disabled_s;
+  extern const f_string_static_t fake_long_documents_enabled_s;
+  extern const f_string_static_t fake_long_shared_disabled_s;
+  extern const f_string_static_t fake_long_shared_enabled_s;
+  extern const f_string_static_t fake_long_static_disabled_s;
+  extern const f_string_static_t fake_long_static_enabled_s;
+
+  extern const f_string_static_t fake_other_operation_build_s;
+  extern const f_string_static_t fake_other_operation_clean_s;
+  extern const f_string_static_t fake_other_operation_make_s;
+  extern const f_string_static_t fake_other_operation_skeleton_s;
+#endif // _di_fake_parameter_s_
+
+#ifndef _di_fake_build_setting_s_
+  #define FAKE_build_setting_default_ar_s             "ar"
+  #define FAKE_build_setting_default_gcc_s            "gcc"
+  #define FAKE_build_setting_default_version_s        "0"
+  #define FAKE_build_setting_default_version_prefix_s "."
+  #define FAKE_build_setting_default_yes_s            "yes"
+
+  #define FAKE_build_setting_name_build_compiler_s               "build_compiler"
+  #define FAKE_build_setting_name_build_indexer_s                "build_indexer"
+  #define FAKE_build_setting_name_build_indexer_arguments_s      "build_indexer_arguments"
+  #define FAKE_build_setting_name_build_language_s               "build_language"
+  #define FAKE_build_setting_name_build_libraries_s              "build_libraries"
+  #define FAKE_build_setting_name_build_libraries_shared_s       "build_libraries_shared"
+  #define FAKE_build_setting_name_build_libraries_static_s       "build_libraries_static"
+  #define FAKE_build_setting_name_build_name_s                   "build_name"
+  #define FAKE_build_setting_name_build_objects_library_s        "build_objects_library"
+  #define FAKE_build_setting_name_build_objects_library_shared_s "build_objects_library_shared"
+  #define FAKE_build_setting_name_build_objects_library_static_s "build_objects_library_static"
+  #define FAKE_build_setting_name_build_objects_program_s        "build_objects_program"
+  #define FAKE_build_setting_name_build_objects_program_shared_s "build_objects_program_shared"
+  #define FAKE_build_setting_name_build_objects_program_static_s "build_objects_program_static"
+  #define FAKE_build_setting_name_build_script_s                 "build_script"
+  #define FAKE_build_setting_name_build_shared_s                 "build_shared"
+  #define FAKE_build_setting_name_build_sources_documentation_s  "build_sources_documentation"
+  #define FAKE_build_setting_name_build_sources_headers_s        "build_sources_headers"
+  #define FAKE_build_setting_name_build_sources_headers_shared_s "build_sources_headers_shared"
+  #define FAKE_build_setting_name_build_sources_headers_static_s "build_sources_headers_static"
+  #define FAKE_build_setting_name_build_sources_library_s        "build_sources_library"
+  #define FAKE_build_setting_name_build_sources_library_shared_s "build_sources_library_shared"
+  #define FAKE_build_setting_name_build_sources_library_static_s "build_sources_library_static"
+  #define FAKE_build_setting_name_build_sources_object_s         "build_sources_object"
+  #define FAKE_build_setting_name_build_sources_object_shared_s  "build_sources_object_shared"
+  #define FAKE_build_setting_name_build_sources_object_static_s  "build_sources_object_static"
+  #define FAKE_build_setting_name_build_sources_program_s        "build_sources_program"
+  #define FAKE_build_setting_name_build_sources_program_shared_s "build_sources_program_shared"
+  #define FAKE_build_setting_name_build_sources_program_static_s "build_sources_program_static"
+  #define FAKE_build_setting_name_build_sources_script_s         "build_sources_script"
+  #define FAKE_build_setting_name_build_sources_setting_s        "build_sources_setting"
+  #define FAKE_build_setting_name_build_static_s                 "build_static"
+  #define FAKE_build_setting_name_defines_s                      "defines"
+  #define FAKE_build_setting_name_defines_library_s              "defines_library"
+  #define FAKE_build_setting_name_defines_library_shared_s       "defines_library_shared"
+  #define FAKE_build_setting_name_defines_library_static_s       "defines_library_static"
+  #define FAKE_build_setting_name_defines_object_s               "defines_object"
+  #define FAKE_build_setting_name_defines_object_shared_s        "defines_object_shared"
+  #define FAKE_build_setting_name_defines_object_static_s        "defines_object_static"
+  #define FAKE_build_setting_name_defines_program_s              "defines_program"
+  #define FAKE_build_setting_name_defines_program_shared_s       "defines_program_shared"
+  #define FAKE_build_setting_name_defines_program_static_s       "defines_program_static"
+  #define FAKE_build_setting_name_defines_shared_s               "defines_shared"
+  #define FAKE_build_setting_name_defines_static_s               "defines_static"
+  #define FAKE_build_setting_name_environment_s                  "environment"
+  #define FAKE_build_setting_name_flags_s                        "flags"
+  #define FAKE_build_setting_name_flags_library_s                "flags_library"
+  #define FAKE_build_setting_name_flags_library_shared_s         "flags_library_shared"
+  #define FAKE_build_setting_name_flags_library_static_s         "flags_library_static"
+  #define FAKE_build_setting_name_flags_object_s                 "flags_object"
+  #define FAKE_build_setting_name_flags_object_shared_s          "flags_object_shared"
+  #define FAKE_build_setting_name_flags_object_static_s          "flags_object_static"
+  #define FAKE_build_setting_name_flags_program_s                "flags_program"
+  #define FAKE_build_setting_name_flags_program_shared_s         "flags_program_shared"
+  #define FAKE_build_setting_name_flags_program_static_s         "flags_program_static"
+  #define FAKE_build_setting_name_flags_shared_s                 "flags_shared"
+  #define FAKE_build_setting_name_flags_static_s                 "flags_static"
+  #define FAKE_build_setting_name_has_path_standard_s            "has_path_standard"
+  #define FAKE_build_setting_name_modes_s                        "modes"
+  #define FAKE_build_setting_name_modes_default_s                "modes_default"
+  #define FAKE_build_setting_name_path_headers_s                 "path_headers"
+  #define FAKE_build_setting_name_path_language_s                "path_language"
+  #define FAKE_build_setting_name_path_library_script_s          "path_library_script"
+  #define FAKE_build_setting_name_path_library_shared_s          "path_library_shared"
+  #define FAKE_build_setting_name_path_library_static_s          "path_library_static"
+  #define FAKE_build_setting_name_path_object_script_s           "path_object_script"
+  #define FAKE_build_setting_name_path_object_shared_s           "path_object_shared"
+  #define FAKE_build_setting_name_path_object_static_s           "path_object_static"
+  #define FAKE_build_setting_name_path_program_script_s          "path_program_script"
+  #define FAKE_build_setting_name_path_program_shared_s          "path_program_shared"
+  #define FAKE_build_setting_name_path_program_static_s          "path_program_static"
+  #define FAKE_build_setting_name_path_sources_s                 "path_sources"
+  #define FAKE_build_setting_name_path_sources_object_s          "path_sources_object"
+  #define FAKE_build_setting_name_preserve_path_headers_s        "preserve_path_headers"
+  #define FAKE_build_setting_name_process_post_s                 "process_post"
+  #define FAKE_build_setting_name_process_pre_s                  "process_pre"
+  #define FAKE_build_setting_name_search_exclusive_s             "search_exclusive"
+  #define FAKE_build_setting_name_search_shared_s                "search_shared"
+  #define FAKE_build_setting_name_search_static_s                "search_static"
+  #define FAKE_build_setting_name_version_file_s                 "version_file"
+  #define FAKE_build_setting_name_version_major_s                "version_major"
+  #define FAKE_build_setting_name_version_major_prefix_s         "version_major_prefix"
+  #define FAKE_build_setting_name_version_micro_s                "version_micro"
+  #define FAKE_build_setting_name_version_micro_prefix_s         "version_micro_prefix"
+  #define FAKE_build_setting_name_version_minor_s                "version_minor"
+  #define FAKE_build_setting_name_version_minor_prefix_s         "version_minor_prefix"
+  #define FAKE_build_setting_name_version_nano_s                 "version_nano"
+  #define FAKE_build_setting_name_version_nano_prefix_s          "version_nano_prefix"
+  #define FAKE_build_setting_name_version_target_s               "version_target"
+
+  #define FAKE_build_setting_default_ar_s_length             2
+  #define FAKE_build_setting_default_gcc_s_length            3
+  #define FAKE_build_setting_default_version_s_length        1
+  #define FAKE_build_setting_default_version_prefix_s_length 1
+  #define FAKE_build_setting_default_yes_s_length            3
+
+  #define FAKE_build_setting_name_build_compiler_s_length               14
+  #define FAKE_build_setting_name_build_indexer_s_length                13
+  #define FAKE_build_setting_name_build_indexer_arguments_s_length      23
+  #define FAKE_build_setting_name_build_language_s_length               14
+  #define FAKE_build_setting_name_build_libraries_s_length              15
+  #define FAKE_build_setting_name_build_libraries_shared_s_length       22
+  #define FAKE_build_setting_name_build_libraries_static_s_length       22
+  #define FAKE_build_setting_name_build_name_s_length                   10
+  #define FAKE_build_setting_name_build_objects_library_s_length        21
+  #define FAKE_build_setting_name_build_objects_library_shared_s_length 28
+  #define FAKE_build_setting_name_build_objects_library_static_s_length 28
+  #define FAKE_build_setting_name_build_objects_program_s_length        21
+  #define FAKE_build_setting_name_build_objects_program_shared_s_length 28
+  #define FAKE_build_setting_name_build_objects_program_static_s_length 28
+  #define FAKE_build_setting_name_build_script_s_length                 12
+  #define FAKE_build_setting_name_build_shared_s_length                 12
+  #define FAKE_build_setting_name_build_sources_documentation_s_length  27
+  #define FAKE_build_setting_name_build_sources_headers_s_length        21
+  #define FAKE_build_setting_name_build_sources_headers_shared_s_length 28
+  #define FAKE_build_setting_name_build_sources_headers_static_s_length 28
+  #define FAKE_build_setting_name_build_sources_library_s_length        21
+  #define FAKE_build_setting_name_build_sources_library_shared_s_length 28
+  #define FAKE_build_setting_name_build_sources_library_static_s_length 28
+  #define FAKE_build_setting_name_build_sources_object_s_length         20
+  #define FAKE_build_setting_name_build_sources_object_shared_s_length  27
+  #define FAKE_build_setting_name_build_sources_object_static_s_length  27
+  #define FAKE_build_setting_name_build_sources_program_s_length        21
+  #define FAKE_build_setting_name_build_sources_program_shared_s_length 28
+  #define FAKE_build_setting_name_build_sources_program_static_s_length 28
+  #define FAKE_build_setting_name_build_sources_script_s_length         20
+  #define FAKE_build_setting_name_build_sources_setting_s_length        21
+  #define FAKE_build_setting_name_build_static_s_length                 12
+  #define FAKE_build_setting_name_environment_s_length                  11
+  #define FAKE_build_setting_name_defines_s_length                      7
+  #define FAKE_build_setting_name_defines_library_s_length              15
+  #define FAKE_build_setting_name_defines_library_shared_s_length       22
+  #define FAKE_build_setting_name_defines_library_static_s_length       22
+  #define FAKE_build_setting_name_defines_object_s_length               14
+  #define FAKE_build_setting_name_defines_object_shared_s_length        21
+  #define FAKE_build_setting_name_defines_object_static_s_length        21
+  #define FAKE_build_setting_name_defines_program_s_length              15
+  #define FAKE_build_setting_name_defines_program_shared_s_length       22
+  #define FAKE_build_setting_name_defines_program_static_s_length       22
+  #define FAKE_build_setting_name_defines_shared_s_length               14
+  #define FAKE_build_setting_name_defines_static_s_length               14
+  #define FAKE_build_setting_name_flags_s_length                        5
+  #define FAKE_build_setting_name_flags_library_s_length                13
+  #define FAKE_build_setting_name_flags_library_shared_s_length         20
+  #define FAKE_build_setting_name_flags_library_static_s_length         20
+  #define FAKE_build_setting_name_flags_object_s_length                 12
+  #define FAKE_build_setting_name_flags_object_shared_s_length          19
+  #define FAKE_build_setting_name_flags_object_static_s_length          19
+  #define FAKE_build_setting_name_flags_program_s_length                13
+  #define FAKE_build_setting_name_flags_program_shared_s_length         20
+  #define FAKE_build_setting_name_flags_program_static_s_length         20
+  #define FAKE_build_setting_name_flags_shared_s_length                 12
+  #define FAKE_build_setting_name_flags_static_s_length                 12
+  #define FAKE_build_setting_name_has_path_standard_s_length            17
+  #define FAKE_build_setting_name_modes_s_length                        5
+  #define FAKE_build_setting_name_modes_default_s_length                13
+  #define FAKE_build_setting_name_path_headers_s_length                 12
+  #define FAKE_build_setting_name_path_language_s_length                13
+  #define FAKE_build_setting_name_path_library_script_s_length          19
+  #define FAKE_build_setting_name_path_library_shared_s_length          19
+  #define FAKE_build_setting_name_path_library_static_s_length          19
+  #define FAKE_build_setting_name_path_object_script_s_length           18
+  #define FAKE_build_setting_name_path_object_shared_s_length           18
+  #define FAKE_build_setting_name_path_object_static_s_length           18
+  #define FAKE_build_setting_name_path_program_script_s_length          19
+  #define FAKE_build_setting_name_path_program_shared_s_length          19
+  #define FAKE_build_setting_name_path_program_static_s_length          19
+  #define FAKE_build_setting_name_path_sources_s_length                 12
+  #define FAKE_build_setting_name_path_sources_object_s_length          19
+  #define FAKE_build_setting_name_preserve_path_headers_s_length        21
+  #define FAKE_build_setting_name_process_post_s_length                 12
+  #define FAKE_build_setting_name_process_pre_s_length                  11
+  #define FAKE_build_setting_name_search_exclusive_s_length             16
+  #define FAKE_build_setting_name_search_shared_s_length                13
+  #define FAKE_build_setting_name_search_static_s_length                13
+  #define FAKE_build_setting_name_version_file_s_length                 12
+  #define FAKE_build_setting_name_version_major_s_length                13
+  #define FAKE_build_setting_name_version_major_prefix_s_length         20
+  #define FAKE_build_setting_name_version_micro_s_length                13
+  #define FAKE_build_setting_name_version_micro_prefix_s_length         20
+  #define FAKE_build_setting_name_version_minor_s_length                13
+  #define FAKE_build_setting_name_version_minor_prefix_s_length         20
+  #define FAKE_build_setting_name_version_nano_s_length                 12
+  #define FAKE_build_setting_name_version_nano_prefix_s_length          19
+  #define FAKE_build_setting_name_version_target_s_length               14
+
+  extern const f_string_static_t fake_build_setting_default_ar_s;
+  extern const f_string_static_t fake_build_setting_default_gcc_s;
+  extern const f_string_static_t fake_build_setting_default_version_s;
+  extern const f_string_static_t fake_build_setting_default_version_prefix_s;
+  extern const f_string_static_t fake_build_setting_default_yes_s;
+
+  extern const f_string_static_t fake_build_setting_name_build_compiler_s;
+  extern const f_string_static_t fake_build_setting_name_build_indexer_s;
+  extern const f_string_static_t fake_build_setting_name_build_indexer_arguments_s;
+  extern const f_string_static_t fake_build_setting_name_build_language_s;
+  extern const f_string_static_t fake_build_setting_name_build_libraries_s;
+  extern const f_string_static_t fake_build_setting_name_build_libraries_shared_s;
+  extern const f_string_static_t fake_build_setting_name_build_libraries_static_s;
+  extern const f_string_static_t fake_build_setting_name_build_name_s;
+  extern const f_string_static_t fake_build_setting_name_build_objects_library_s;
+  extern const f_string_static_t fake_build_setting_name_build_objects_library_shared_s;
+  extern const f_string_static_t fake_build_setting_name_build_objects_library_static_s;
+  extern const f_string_static_t fake_build_setting_name_build_objects_program_s;
+  extern const f_string_static_t fake_build_setting_name_build_objects_program_shared_s;
+  extern const f_string_static_t fake_build_setting_name_build_objects_program_static_s;
+  extern const f_string_static_t fake_build_setting_name_build_script_s;
+  extern const f_string_static_t fake_build_setting_name_build_shared_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_documentation_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_headers_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_headers_static_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_library_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_library_shared_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_library_static_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_object_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_object_shared_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_object_static_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_program_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_program_shared_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_program_static_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_script_s;
+  extern const f_string_static_t fake_build_setting_name_build_sources_setting_s;
+  extern const f_string_static_t fake_build_setting_name_build_static_s;
+  extern const f_string_static_t fake_build_setting_name_defines_s;
+  extern const f_string_static_t fake_build_setting_name_defines_library_s;
+  extern const f_string_static_t fake_build_setting_name_defines_library_shared_s;
+  extern const f_string_static_t fake_build_setting_name_defines_library_static_s;
+  extern const f_string_static_t fake_build_setting_name_defines_object_s;
+  extern const f_string_static_t fake_build_setting_name_defines_object_shared_s;
+  extern const f_string_static_t fake_build_setting_name_defines_object_static_s;
+  extern const f_string_static_t fake_build_setting_name_defines_program_s;
+  extern const f_string_static_t fake_build_setting_name_defines_program_shared_s;
+  extern const f_string_static_t fake_build_setting_name_defines_program_static_s;
+  extern const f_string_static_t fake_build_setting_name_defines_shared_s;
+  extern const f_string_static_t fake_build_setting_name_defines_static_s;
+  extern const f_string_static_t fake_build_setting_name_environment_s;
+  extern const f_string_static_t fake_build_setting_name_flags_s;
+  extern const f_string_static_t fake_build_setting_name_flags_library_s;
+  extern const f_string_static_t fake_build_setting_name_flags_library_shared_s;
+  extern const f_string_static_t fake_build_setting_name_flags_library_static_s;
+  extern const f_string_static_t fake_build_setting_name_flags_object_s;
+  extern const f_string_static_t fake_build_setting_name_flags_object_shared_s;
+  extern const f_string_static_t fake_build_setting_name_flags_object_static_s;
+  extern const f_string_static_t fake_build_setting_name_flags_program_s;
+  extern const f_string_static_t fake_build_setting_name_flags_program_shared_s;
+  extern const f_string_static_t fake_build_setting_name_flags_program_static_s;
+  extern const f_string_static_t fake_build_setting_name_flags_shared_s;
+  extern const f_string_static_t fake_build_setting_name_flags_static_s;
+  extern const f_string_static_t fake_build_setting_name_has_path_standard_s;
+  extern const f_string_static_t fake_build_setting_name_modes_s;
+  extern const f_string_static_t fake_build_setting_name_modes_default_s;
+  extern const f_string_static_t fake_build_setting_name_path_headers_s;
+  extern const f_string_static_t fake_build_setting_name_path_language_s;
+  extern const f_string_static_t fake_build_setting_name_path_library_script_s;
+  extern const f_string_static_t fake_build_setting_name_path_library_shared_s;
+  extern const f_string_static_t fake_build_setting_name_path_library_static_s;
+  extern const f_string_static_t fake_build_setting_name_path_object_script_s;
+  extern const f_string_static_t fake_build_setting_name_path_object_shared_s;
+  extern const f_string_static_t fake_build_setting_name_path_object_static_s;
+  extern const f_string_static_t fake_build_setting_name_path_program_script_s;
+  extern const f_string_static_t fake_build_setting_name_path_program_shared_s;
+  extern const f_string_static_t fake_build_setting_name_path_program_static_s;
+  extern const f_string_static_t fake_build_setting_name_path_sources_s;
+  extern const f_string_static_t fake_build_setting_name_path_sources_object_s;
+  extern const f_string_static_t fake_build_setting_name_preserve_path_headers_s;
+  extern const f_string_static_t fake_build_setting_name_process_post_s;
+  extern const f_string_static_t fake_build_setting_name_process_pre_s;
+  extern const f_string_static_t fake_build_setting_name_search_exclusive_s;
+  extern const f_string_static_t fake_build_setting_name_search_shared_s;
+  extern const f_string_static_t fake_build_setting_name_search_static_s;
+  extern const f_string_static_t fake_build_setting_name_version_file_s;
+  extern const f_string_static_t fake_build_setting_name_version_major_s;
+  extern const f_string_static_t fake_build_setting_name_version_major_prefix_s;
+  extern const f_string_static_t fake_build_setting_name_version_micro_s;
+  extern const f_string_static_t fake_build_setting_name_version_micro_prefix_s;
+  extern const f_string_static_t fake_build_setting_name_version_minor_s;
+  extern const f_string_static_t fake_build_setting_name_version_minor_prefix_s;
+  extern const f_string_static_t fake_build_setting_name_version_nano_s;
+  extern const f_string_static_t fake_build_setting_name_version_nano_prefix_s;
+  extern const f_string_static_t fake_build_setting_name_version_target_s;
+#endif // _di_fake_build_setting_s_
+
+#ifndef _di_fake_build_stage_s_
+  #define FAKE_build_stage_built_s                 ".built"
+  #define FAKE_build_stage_library_script_s        "library_script"
+  #define FAKE_build_stage_library_shared_s        "library_shared"
+  #define FAKE_build_stage_library_static_s        "library_static"
+  #define FAKE_build_stage_object_script_s         "object_script"
+  #define FAKE_build_stage_object_shared_s         "object_shared"
+  #define FAKE_build_stage_object_static_s         "object_static"
+  #define FAKE_build_stage_objects_static_s        "objects_static"
+  #define FAKE_build_stage_process_post_s          "process_post"
+  #define FAKE_build_stage_process_pre_s           "process_pre"
+  #define FAKE_build_stage_program_script_s        "program_script"
+  #define FAKE_build_stage_program_shared_s        "program_shared"
+  #define FAKE_build_stage_program_static_s        "program_static"
+  #define FAKE_build_stage_separate_s              "-"
+  #define FAKE_build_stage_skeleton_s              "skeleton"
+  #define FAKE_build_stage_sources_documentation_s "sources_documentation"
+  #define FAKE_build_stage_sources_headers_s       "sources_headers"
+  #define FAKE_build_stage_sources_script_s        "sources_script"
+  #define FAKE_build_stage_sources_settings_s      "sources_settings"
+
+  #define FAKE_build_stage_built_s_length                 6
+  #define FAKE_build_stage_library_script_s_length        14
+  #define FAKE_build_stage_library_shared_s_length        14
+  #define FAKE_build_stage_library_static_s_length        14
+  #define FAKE_build_stage_object_script_s_length         13
+  #define FAKE_build_stage_object_shared_s_length         13
+  #define FAKE_build_stage_object_static_s_length         13
+  #define FAKE_build_stage_objects_static_s_length        14
+  #define FAKE_build_stage_process_post_s_length          12
+  #define FAKE_build_stage_process_pre_s_length           11
+  #define FAKE_build_stage_program_script_s_length        14
+  #define FAKE_build_stage_program_shared_s_length        14
+  #define FAKE_build_stage_program_static_s_length        14
+  #define FAKE_build_stage_separate_s_length              1
+  #define FAKE_build_stage_skeleton_s_length              8
+  #define FAKE_build_stage_sources_documentation_s_length 21
+  #define FAKE_build_stage_sources_headers_s_length       15
+  #define FAKE_build_stage_sources_script_s_length        14
+  #define FAKE_build_stage_sources_settings_s_length      16
+
+  extern const f_string_static_t fake_build_stage_built_s;
+  extern const f_string_static_t fake_build_stage_library_script_s;
+  extern const f_string_static_t fake_build_stage_library_shared_s;
+  extern const f_string_static_t fake_build_stage_library_static_s;
+  extern const f_string_static_t fake_build_stage_object_script_s;
+  extern const f_string_static_t fake_build_stage_object_shared_s;
+  extern const f_string_static_t fake_build_stage_object_static_s;
+  extern const f_string_static_t fake_build_stage_objects_static_s;
+  extern const f_string_static_t fake_build_stage_process_post_s;
+  extern const f_string_static_t fake_build_stage_process_pre_s;
+  extern const f_string_static_t fake_build_stage_program_script_s;
+  extern const f_string_static_t fake_build_stage_program_shared_s;
+  extern const f_string_static_t fake_build_stage_program_static_s;
+  extern const f_string_static_t fake_build_stage_separate_s;
+  extern const f_string_static_t fake_build_stage_skeleton_s;
+  extern const f_string_static_t fake_build_stage_sources_documentation_s;
+  extern const f_string_static_t fake_build_stage_sources_headers_s;
+  extern const f_string_static_t fake_build_stage_sources_script_s;
+  extern const f_string_static_t fake_build_stage_sources_settings_s;
+#endif // _di_fake_build_stage_s_
+
+#ifndef _di_fake_build_parameter_s_
+  #define FAKE_build_parameter_library_include_s            "-I"
+  #define FAKE_build_parameter_library_link_file_s          "-l"
+  #define FAKE_build_parameter_library_link_path_s          "-L"
+  #define FAKE_build_parameter_library_name_prefix_s        "lib"
+  #define FAKE_build_parameter_library_name_suffix_shared_s ".so"
+  #define FAKE_build_parameter_library_name_suffix_static_s ".a"
+  #define FAKE_build_parameter_library_output_s             "-o"
+  #define FAKE_build_parameter_library_shared_s             "-shared"
+  #define FAKE_build_parameter_library_static_s             "-static"
+  #define FAKE_build_parameter_library_shared_prefix_s      "-Wl,-soname,"
+
+  #define FAKE_build_parameter_library_include_s_length            2
+  #define FAKE_build_parameter_library_link_file_s_length          2
+  #define FAKE_build_parameter_library_link_path_s_length          2
+  #define FAKE_build_parameter_library_name_prefix_s_length        3
+  #define FAKE_build_parameter_library_name_suffix_shared_s_length 3
+  #define FAKE_build_parameter_library_name_suffix_static_s_length 2
+  #define FAKE_build_parameter_library_output_s_length             2
+  #define FAKE_build_parameter_library_shared_s_length             7
+  #define FAKE_build_parameter_library_static_s_length             7
+  #define FAKE_build_parameter_library_shared_prefix_s_length      12
+
+  extern const f_string_static_t fake_build_parameter_library_include_s;
+  extern const f_string_static_t fake_build_parameter_library_link_file_s;
+  extern const f_string_static_t fake_build_parameter_library_link_path_s;
+  extern const f_string_static_t fake_build_parameter_library_name_prefix_s;
+  extern const f_string_static_t fake_build_parameter_library_name_suffix_shared_s;
+  extern const f_string_static_t fake_build_parameter_library_name_suffix_static_s;
+  extern const f_string_static_t fake_build_parameter_library_output_s;
+  extern const f_string_static_t fake_build_parameter_library_shared_s;
+  extern const f_string_static_t fake_build_parameter_library_static_s;
+  extern const f_string_static_t fake_build_parameter_library_shared_prefix_s;
+
+  #define FAKE_build_parameter_object_compile_s     "-c"
+  #define FAKE_build_parameter_object_name_suffix_s ".o"
+  #define FAKE_build_parameter_object_output_s      "-o"
+  #define FAKE_build_parameter_object_static_s      "-static"
+
+  #define FAKE_build_parameter_object_compile_s_length     2
+  #define FAKE_build_parameter_object_name_suffix_s_length 2
+  #define FAKE_build_parameter_object_output_s_length      2
+  #define FAKE_build_parameter_object_static_s_length      7
+
+  extern const f_string_static_t fake_build_parameter_object_compile_s;
+  extern const f_string_static_t fake_build_parameter_object_name_suffix_s;
+  extern const f_string_static_t fake_build_parameter_object_output_s;
+  extern const f_string_static_t fake_build_parameter_object_static_s;
+#endif // _di_fake_build_parameter_s_
+
+#ifndef _di_fake_common_s_
+  #define FAKE_common_file_directory_copy_s      "copy directory"
+  #define FAKE_common_file_path_access_s         "access"
+  #define FAKE_common_file_path_change_to_s      "change path to"
+  #define FAKE_common_file_path_determine_real_s "determine real path of"
+  #define FAKE_common_file_path_stack_s          "path stack"
+  #define FAKE_common_file_populate_pre_s        "pre-populate"
+
+  #define FAKE_common_setting_bool_yes_s "yes"
+  #define FAKE_common_setting_bool_no_s  "no"
+
+  #define FAKE_common_setting_list_s "list"
+
+  #define FAKE_common_file_directory_copy_s_length      14
+  #define FAKE_common_file_path_access_s_length         6
+  #define FAKE_common_file_path_change_to_s_length      14
+  #define FAKE_common_file_path_determine_real_s_length 22
+  #define FAKE_common_file_path_stack_s_length          10
+  #define FAKE_common_file_populate_pre_s_length        12
+
+  #define FAKE_common_setting_bool_yes_s_length 3
+  #define FAKE_common_setting_bool_no_s_length  2
+
+  #define FAKE_common_setting_list_s_length 4
+
+  extern const f_string_static_t fake_common_file_directory_copy_s;
+  extern const f_string_static_t fake_common_file_path_access_s;
+  extern const f_string_static_t fake_common_file_path_change_to_s;
+  extern const f_string_static_t fake_common_file_path_determine_real_s;
+  extern const f_string_static_t fake_common_file_path_stack_s;
+  extern const f_string_static_t fake_common_file_populate_pre_s;
+
+  extern const f_string_static_t fake_common_setting_bool_yes_s;
+  extern const f_string_static_t fake_common_setting_bool_no_s;
+
+  extern const f_string_static_t fake_common_setting_list_s;
+#endif // _di_fake_common_s_
+
+#ifndef _di_fake_make_section_s_
+  #define FAKE_make_section_main_s     "main"
+  #define FAKE_make_section_settings_s "settings"
+
+  #define FAKE_make_section_main_s_length     4
+  #define FAKE_make_section_settings_s_length 8
+
+  extern const f_string_static_t fake_make_section_main_s;
+  extern const f_string_static_t fake_make_section_settings_s;
+#endif // _di_fake_make_section_s_
+
+#ifndef _di_fake_make_setting_s_
+  #define FAKE_make_setting_compiler_s          "compiler"
+  #define FAKE_make_setting_define_s            "define"
+  #define FAKE_make_setting_environment_s       "environment"
+  #define FAKE_make_setting_fail_s              "fail"
+  #define FAKE_make_setting_indexer_s           "indexer"
+  #define FAKE_make_setting_indexer_arguments_s "indexer_arguments"
+  #define FAKE_make_setting_load_build_s        "load_build"
+  #define FAKE_make_setting_parameter_s         "parameter"
+  #define FAKE_make_setting_return_s            "return"
+
+  #define FAKE_make_setting_compiler_s_length          8
+  #define FAKE_make_setting_define_s_length            6
+  #define FAKE_make_setting_environment_s_length       11
+  #define FAKE_make_setting_fail_s_length              4
+  #define FAKE_make_setting_indexer_s_length           7
+  #define FAKE_make_setting_indexer_arguments_s_length 17
+  #define FAKE_make_setting_load_build_s_length        10
+  #define FAKE_make_setting_parameter_s_length         9
+  #define FAKE_make_setting_return_s_length            6
+
+  extern const f_string_static_t fake_make_setting_compiler_s;
+  extern const f_string_static_t fake_make_setting_define_s;
+  extern const f_string_static_t fake_make_setting_environment_s;
+  extern const f_string_static_t fake_make_setting_fail_s;
+  extern const f_string_static_t fake_make_setting_indexer_s;
+  extern const f_string_static_t fake_make_setting_indexer_arguments_s;
+  extern const f_string_static_t fake_make_setting_load_build_s;
+  extern const f_string_static_t fake_make_setting_parameter_s;
+  extern const f_string_static_t fake_make_setting_return_s;
+#endif // _di_fake_make_setting_s_
+
+#ifndef _di_fake_make_operation_s_
+  #define FAKE_make_operation_and_s       "and"
+  #define FAKE_make_operation_break_s     "break"
+  #define FAKE_make_operation_build_s     "build"
+  #define FAKE_make_operation_clean_s     "clean"
+  #define FAKE_make_operation_clone_s     "clone"
+  #define FAKE_make_operation_compile_s   "compile"
+  #define FAKE_make_operation_copy_s      "copy"
+  #define FAKE_make_operation_define_s    "define"
+  #define FAKE_make_operation_delete_s    "delete"
+  #define FAKE_make_operation_deletes_s   "deletes"
+  #define FAKE_make_operation_else_s      "else"
+  #define FAKE_make_operation_exit_s      "exit"
+  #define FAKE_make_operation_fail_s      "fail"
+  #define FAKE_make_operation_group_s     "group"
+  #define FAKE_make_operation_groups_s    "groups"
+  #define FAKE_make_operation_if_s        "if"
+  #define FAKE_make_operation_index_s     "index"
+  #define FAKE_make_operation_link_s      "link"
+  #define FAKE_make_operation_mode_s      "mode"
+  #define FAKE_make_operation_modes_s     "modes"
+  #define FAKE_make_operation_move_s      "move"
+  #define FAKE_make_operation_operate_s   "operate"
+  #define FAKE_make_operation_or_s        "or"
+  #define FAKE_make_operation_owner_s     "owner"
+  #define FAKE_make_operation_owners_s    "owners"
+  #define FAKE_make_operation_parameter_s "parameter"
+  #define FAKE_make_operation_pop_s       "pop"
+  #define FAKE_make_operation_print_s     "print"
+  #define FAKE_make_operation_run_s       "run"
+  #define FAKE_make_operation_shell_s     "shell"
+  #define FAKE_make_operation_skeleton_s  "skeleton"
+  #define FAKE_make_operation_to_s        "to"
+  #define FAKE_make_operation_top_s       "top"
+  #define FAKE_make_operation_touch_s     "touch"
+  #define FAKE_make_operation_write_s     "write"
+
+  #define FAKE_make_operation_and_s_length       3
+  #define FAKE_make_operation_break_s_length     5
+  #define FAKE_make_operation_build_s_length     5
+  #define FAKE_make_operation_clean_s_length     5
+  #define FAKE_make_operation_clone_s_length     5
+  #define FAKE_make_operation_compile_s_length   7
+  #define FAKE_make_operation_copy_s_length      4
+  #define FAKE_make_operation_define_s_length    6
+  #define FAKE_make_operation_delete_s_length    6
+  #define FAKE_make_operation_deletes_s_length   7
+  #define FAKE_make_operation_else_s_length      4
+  #define FAKE_make_operation_exit_s_length      4
+  #define FAKE_make_operation_fail_s_length      4
+  #define FAKE_make_operation_group_s_length     5
+  #define FAKE_make_operation_groups_s_length    6
+  #define FAKE_make_operation_if_s_length        2
+  #define FAKE_make_operation_index_s_length     5
+  #define FAKE_make_operation_link_s_length      4
+  #define FAKE_make_operation_mode_s_length      4
+  #define FAKE_make_operation_modes_s_length     5
+  #define FAKE_make_operation_move_s_length      4
+  #define FAKE_make_operation_operate_s_length   7
+  #define FAKE_make_operation_or_s_length        2
+  #define FAKE_make_operation_owner_s_length     5
+  #define FAKE_make_operation_owners_s_length    6
+  #define FAKE_make_operation_parameter_s_length 9
+  #define FAKE_make_operation_pop_s_length       3
+  #define FAKE_make_operation_print_s_length     5
+  #define FAKE_make_operation_run_s_length       3
+  #define FAKE_make_operation_shell_s_length     5
+  #define FAKE_make_operation_skeleton_s_length  8
+  #define FAKE_make_operation_to_s_length        2
+  #define FAKE_make_operation_top_s_length       3
+  #define FAKE_make_operation_touch_s_length     5
+  #define FAKE_make_operation_write_s_length     5
+
+  extern const f_string_static_t fake_make_operation_and_s;
+  extern const f_string_static_t fake_make_operation_break_s;
+  extern const f_string_static_t fake_make_operation_build_s;
+  extern const f_string_static_t fake_make_operation_clean_s;
+  extern const f_string_static_t fake_make_operation_clone_s;
+  extern const f_string_static_t fake_make_operation_compile_s;
+  extern const f_string_static_t fake_make_operation_copy_s;
+  extern const f_string_static_t fake_make_operation_define_s;
+  extern const f_string_static_t fake_make_operation_delete_s;
+  extern const f_string_static_t fake_make_operation_deletes_s;
+  extern const f_string_static_t fake_make_operation_else_s;
+  extern const f_string_static_t fake_make_operation_exit_s;
+  extern const f_string_static_t fake_make_operation_fail_s;
+  extern const f_string_static_t fake_make_operation_group_s;
+  extern const f_string_static_t fake_make_operation_groups_s;
+  extern const f_string_static_t fake_make_operation_if_s;
+  extern const f_string_static_t fake_make_operation_index_s;
+  extern const f_string_static_t fake_make_operation_link_s;
+  extern const f_string_static_t fake_make_operation_mode_s;
+  extern const f_string_static_t fake_make_operation_modes_s;
+  extern const f_string_static_t fake_make_operation_move_s;
+  extern const f_string_static_t fake_make_operation_operate_s;
+  extern const f_string_static_t fake_make_operation_or_s;
+  extern const f_string_static_t fake_make_operation_owner_s;
+  extern const f_string_static_t fake_make_operation_owners_s;
+  extern const f_string_static_t fake_make_operation_parameter_s;
+  extern const f_string_static_t fake_make_operation_pop_s;
+  extern const f_string_static_t fake_make_operation_print_s;
+  extern const f_string_static_t fake_make_operation_run_s;
+  extern const f_string_static_t fake_make_operation_shell_s;
+  extern const f_string_static_t fake_make_operation_skeleton_s;
+  extern const f_string_static_t fake_make_operation_to_s;
+  extern const f_string_static_t fake_make_operation_top_s;
+  extern const f_string_static_t fake_make_operation_touch_s;
+  extern const f_string_static_t fake_make_operation_write_s;
+
+  #define FAKE_make_operation_argument_directory_s      "directory"
+  #define FAKE_make_operation_argument_environment_s    "environment"
+  #define FAKE_make_operation_argument_error_s          "error"
+  #define FAKE_make_operation_argument_exit_s           "exit"
+  #define FAKE_make_operation_argument_failure_s        "failure"
+  #define FAKE_make_operation_argument_file_s           "file"
+  #define FAKE_make_operation_argument_force_s          "force"
+  #define FAKE_make_operation_argument_has_s            "has"
+  #define FAKE_make_operation_argument_ignore_s         "ignore"
+  #define FAKE_make_operation_argument_is_s             "is"
+  #define FAKE_make_operation_argument_no_dereference_s "no_dereference"
+  #define FAKE_make_operation_argument_parameter_s      "parameter"
+  #define FAKE_make_operation_argument_point_s          "point"
+  #define FAKE_make_operation_argument_recursive_s      "recursive"
+  #define FAKE_make_operation_argument_strict_s         "strict"
+  #define FAKE_make_operation_argument_success_s        "success"
+  #define FAKE_make_operation_argument_target_s         "target"
+  #define FAKE_make_operation_argument_warn_s           "warn"
+
+  #define FAKE_make_operation_argument_directory_s_length      9
+  #define FAKE_make_operation_argument_environment_s_length    11
+  #define FAKE_make_operation_argument_error_s_length          5
+  #define FAKE_make_operation_argument_exit_s_length           4
+  #define FAKE_make_operation_argument_failure_s_length        7
+  #define FAKE_make_operation_argument_file_s_length           4
+  #define FAKE_make_operation_argument_force_s_length          5
+  #define FAKE_make_operation_argument_has_s_length            3
+  #define FAKE_make_operation_argument_ignore_s_length         6
+  #define FAKE_make_operation_argument_is_s_length             2
+  #define FAKE_make_operation_argument_no_dereference_s_length 14
+  #define FAKE_make_operation_argument_parameter_s_length      9
+  #define FAKE_make_operation_argument_point_s_length          5
+  #define FAKE_make_operation_argument_recursive_s_length      9
+  #define FAKE_make_operation_argument_strict_s_length         6
+  #define FAKE_make_operation_argument_success_s_length        7
+  #define FAKE_make_operation_argument_target_s_length         6
+  #define FAKE_make_operation_argument_warn_s_length           4
+
+  extern const f_string_static_t fake_make_operation_argument_directory_s;
+  extern const f_string_static_t fake_make_operation_argument_environment_s;
+  extern const f_string_static_t fake_make_operation_argument_error_s;
+  extern const f_string_static_t fake_make_operation_argument_exit_s;
+  extern const f_string_static_t fake_make_operation_argument_failure_s;
+  extern const f_string_static_t fake_make_operation_argument_file_s;
+  extern const f_string_static_t fake_make_operation_argument_force_s;
+  extern const f_string_static_t fake_make_operation_argument_has_s;
+  extern const f_string_static_t fake_make_operation_argument_ignore_s;
+  extern const f_string_static_t fake_make_operation_argument_is_s;
+  extern const f_string_static_t fake_make_operation_argument_no_dereference_s;
+  extern const f_string_static_t fake_make_operation_argument_parameter_s;
+  extern const f_string_static_t fake_make_operation_argument_point_s;
+  extern const f_string_static_t fake_make_operation_argument_recursive_s;
+  extern const f_string_static_t fake_make_operation_argument_strict_s;
+  extern const f_string_static_t fake_make_operation_argument_success_s;
+  extern const f_string_static_t fake_make_operation_argument_target_s;
+  extern const f_string_static_t fake_make_operation_argument_warn_s;
+
+  #define FAKE_make_operation_argument_if_define_s        "define"
+  #define FAKE_make_operation_argument_if_equal_s         "=="
+  #define FAKE_make_operation_argument_if_equal_not_s     "<>"
+  #define FAKE_make_operation_argument_if_exist_s         "exist"
+  #define FAKE_make_operation_argument_if_failure_s       "failure"
+  #define FAKE_make_operation_argument_if_greater_s       ">"
+  #define FAKE_make_operation_argument_if_greater_equal_s ">="
+  #define FAKE_make_operation_argument_if_group_s         "group"
+  #define FAKE_make_operation_argument_if_is_s            "is"
+  #define FAKE_make_operation_argument_if_is_for_s        "for"
+  #define FAKE_make_operation_argument_if_less_s          "<"
+  #define FAKE_make_operation_argument_if_less_equal_s    "<="
+  #define FAKE_make_operation_argument_if_mode_s          "mode"
+  #define FAKE_make_operation_argument_if_not_s           "not"
+  #define FAKE_make_operation_argument_if_owner_s         "owner"
+  #define FAKE_make_operation_argument_if_parameter_s     "parameter"
+  #define FAKE_make_operation_argument_if_success_s       "success"
+
+  #define FAKE_make_operation_argument_if_define_s_length        6
+  #define FAKE_make_operation_argument_if_equal_s_length         2
+  #define FAKE_make_operation_argument_if_equal_not_s_length     2
+  #define FAKE_make_operation_argument_if_exist_s_length         5
+  #define FAKE_make_operation_argument_if_failure_s_length       7
+  #define FAKE_make_operation_argument_if_greater_s_length       1
+  #define FAKE_make_operation_argument_if_greater_equal_s_length 2
+  #define FAKE_make_operation_argument_if_group_s_length         5
+  #define FAKE_make_operation_argument_if_is_s_length            2
+  #define FAKE_make_operation_argument_if_is_for_s_length        3
+  #define FAKE_make_operation_argument_if_less_s_length          1
+  #define FAKE_make_operation_argument_if_less_equal_s_length    2
+  #define FAKE_make_operation_argument_if_mode_s_length          4
+  #define FAKE_make_operation_argument_if_not_s_length           3
+  #define FAKE_make_operation_argument_if_owner_s_length         5
+  #define FAKE_make_operation_argument_if_parameter_s_length     9
+  #define FAKE_make_operation_argument_if_success_s_length       7
+
+  extern const f_string_static_t fake_make_operation_argument_if_define_s;
+  extern const f_string_static_t fake_make_operation_argument_if_equal_s;
+  extern const f_string_static_t fake_make_operation_argument_if_equal_not_s;
+  extern const f_string_static_t fake_make_operation_argument_if_exist_s;
+  extern const f_string_static_t fake_make_operation_argument_if_failure_s;
+  extern const f_string_static_t fake_make_operation_argument_if_greater_s;
+  extern const f_string_static_t fake_make_operation_argument_if_greater_equal_s;
+  extern const f_string_static_t fake_make_operation_argument_if_group_s;
+  extern const f_string_static_t fake_make_operation_argument_if_is_s;
+  extern const f_string_static_t fake_make_operation_argument_if_is_for_s;
+  extern const f_string_static_t fake_make_operation_argument_if_less_s;
+  extern const f_string_static_t fake_make_operation_argument_if_less_equal_s;
+  extern const f_string_static_t fake_make_operation_argument_if_mode_s;
+  extern const f_string_static_t fake_make_operation_argument_if_not_s;
+  extern const f_string_static_t fake_make_operation_argument_if_owner_s;
+  extern const f_string_static_t fake_make_operation_argument_if_parameter_s;
+  extern const f_string_static_t fake_make_operation_argument_if_success_s;
+#endif // _di_fake_make_operation_s_
+
+#ifndef _di_fake_make_parameter_s_
+  #define FAKE_make_parameter_iki_option_s ":option"
+  #define FAKE_make_parameter_iki_value_s  ":value"
+
+  #define FAKE_make_parameter_variable_build_s     "build"
+  #define FAKE_make_parameter_variable_color_s     "color"
+  #define FAKE_make_parameter_variable_current_s   "current"
+  #define FAKE_make_parameter_variable_data_s      "data"
+  #define FAKE_make_parameter_variable_define_s    "define"
+  #define FAKE_make_parameter_variable_documents_s "documents"
+  #define FAKE_make_parameter_variable_fakefile_s  "fakefile"
+  #define FAKE_make_parameter_variable_licenses_s  "licenses"
+  #define FAKE_make_parameter_variable_mode_s      "mode"
+  #define FAKE_make_parameter_variable_process_s   "process"
+  #define FAKE_make_parameter_variable_return_s    "return"
+  #define FAKE_make_parameter_variable_settings_s  "settings"
+  #define FAKE_make_parameter_variable_sources_s   "sources"
+  #define FAKE_make_parameter_variable_top_s       "top"
+  #define FAKE_make_parameter_variable_verbosity_s "verbosity"
+  #define FAKE_make_parameter_variable_work_s      "work"
+
+  #define FAKE_make_parameter_variable_option_build_s     FAKE_make_parameter_variable_build_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_color_s     FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_data_s      FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_define_s    FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_fakefile_s  FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_licenses_s  FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_mode_s      FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_process_s   FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_settings_s  FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_sources_s   FAKE_make_parameter_variable_sources_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_verbosity_s FAKE_make_parameter_variable_verbosity_s FAKE_make_parameter_iki_option_s
+  #define FAKE_make_parameter_variable_option_work_s      FAKE_make_parameter_variable_work_s FAKE_make_parameter_iki_option_s
+
+  #define FAKE_make_parameter_variable_value_build_s     FAKE_make_parameter_variable_build_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_color_s     FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_data_s      FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_define_s    FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_fakefile_s  FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_licenses_s  FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_mode_s      FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_process_s   FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_settings_s  FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_sources_s   FAKE_make_parameter_variable_sources_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_verbosity_s FAKE_make_parameter_variable_verbosity_s FAKE_make_parameter_iki_value_s
+  #define FAKE_make_parameter_variable_value_work_s      FAKE_make_parameter_variable_work_s FAKE_make_parameter_iki_value_s
+
+  #define FAKE_make_parameter_iki_option_s_length 7
+  #define FAKE_make_parameter_iki_value_s_length  6
+
+  #define FAKE_make_parameter_variable_build_s_length     5
+  #define FAKE_make_parameter_variable_color_s_length     5
+  #define FAKE_make_parameter_variable_current_s_length   7
+  #define FAKE_make_parameter_variable_data_s_length      4
+  #define FAKE_make_parameter_variable_define_s_length    6
+  #define FAKE_make_parameter_variable_documents_s_length 9
+  #define FAKE_make_parameter_variable_fakefile_s_length  8
+  #define FAKE_make_parameter_variable_licenses_s_length  8
+  #define FAKE_make_parameter_variable_data_s_length      4
+  #define FAKE_make_parameter_variable_mode_s_length      4
+  #define FAKE_make_parameter_variable_process_s_length   7
+  #define FAKE_make_parameter_variable_return_s_length    6
+  #define FAKE_make_parameter_variable_settings_s_length  8
+  #define FAKE_make_parameter_variable_sources_s_length   7
+  #define FAKE_make_parameter_variable_top_s_length       3
+  #define FAKE_make_parameter_variable_verbosity_s_length 9
+  #define FAKE_make_parameter_variable_work_s_length      4
+
+  #define FAKE_make_parameter_variable_option_build_s_length     FAKE_make_parameter_variable_build_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_color_s_length     FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_data_s_length      FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_define_s_length    FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_fakefile_s_length  FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_licenses_s_length  FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_mode_s_length      FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_process_s_length   FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_settings_s_length  FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_sources_s_length   FAKE_make_parameter_variable_sources_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_verbosity_s_length FAKE_make_parameter_variable_verbosity_s_length + FAKE_make_parameter_iki_option_s_length
+  #define FAKE_make_parameter_variable_option_work_s_length      FAKE_make_parameter_variable_work_s_length + FAKE_make_parameter_iki_option_s_length
+
+  #define FAKE_make_parameter_variable_value_build_s_length     FAKE_make_parameter_variable_build_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_color_s_length     FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_data_s_length      FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_define_s_length    FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_fakefile_s_length  FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_licenses_s_length  FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_mode_s_length      FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_process_s_length   FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_settings_s_length  FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_sources_s_length   FAKE_make_parameter_variable_sources_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_verbosity_s_length FAKE_make_parameter_variable_verbosity_s_length + FAKE_make_parameter_iki_value_s_length
+  #define FAKE_make_parameter_variable_value_work_s_length      FAKE_make_parameter_variable_work_s_length + FAKE_make_parameter_iki_value_s_length
+
+  extern const f_string_static_t fake_make_parameter_iki_option_s;
+  extern const f_string_static_t fake_make_parameter_iki_value_s;
+
+  extern const f_string_static_t fake_make_parameter_variable_build_s;
+  extern const f_string_static_t fake_make_parameter_variable_color_s;
+  extern const f_string_static_t fake_make_parameter_variable_current_s;
+  extern const f_string_static_t fake_make_parameter_variable_data_s;
+  extern const f_string_static_t fake_make_parameter_variable_define_s;
+  extern const f_string_static_t fake_make_parameter_variable_documents_s;
+  extern const f_string_static_t fake_make_parameter_variable_fakefile_s;
+  extern const f_string_static_t fake_make_parameter_variable_licenses_s;
+  extern const f_string_static_t fake_make_parameter_variable_mode_s;
+  extern const f_string_static_t fake_make_parameter_variable_process_s;
+  extern const f_string_static_t fake_make_parameter_variable_return_s;
+  extern const f_string_static_t fake_make_parameter_variable_settings_s;
+  extern const f_string_static_t fake_make_parameter_variable_sources_s;
+  extern const f_string_static_t fake_make_parameter_variable_top_s;
+  extern const f_string_static_t fake_make_parameter_variable_verbosity_s;
+  extern const f_string_static_t fake_make_parameter_variable_work_s;
+
+  extern const f_string_static_t fake_make_parameter_variable_option_build_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_color_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_data_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_define_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_documents_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_fakefile_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_licenses_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_mode_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_process_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_settings_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_sources_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_verbosity_s;
+  extern const f_string_static_t fake_make_parameter_variable_option_work_s;
+
+  extern const f_string_static_t fake_make_parameter_variable_value_build_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_color_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_data_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_define_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_documents_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_fakefile_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_licenses_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_mode_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_process_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_settings_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_sources_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_verbosity_s;
+  extern const f_string_static_t fake_make_parameter_variable_value_work_s;
+#endif // _di_fake_make_parameter_s_
+
+#ifndef _di_fake_skeleton_content_s_
+  #define FAKE_make_skeleton_content_defines_s      "# fss-0000\n\n"
+  #define FAKE_make_skeleton_content_dependencies_s "# fss-0000\n\n"
+  #define FAKE_make_skeleton_content_fakefile_s     "# fss-0005 iki-0002\n\nsettings:\n  fail exit\n\nmain:\n\n"
+  #define FAKE_make_skeleton_content_process_post_s "#!/bin/bash\n\n"
+  #define FAKE_make_skeleton_content_process_pre_s  "#!/bin/bash\n\n"
+  #define FAKE_make_skeleton_content_settings_s     "# fss-0001\n\n"
+
+  #define FAKE_make_skeleton_content_defines_s_length      12
+  #define FAKE_make_skeleton_content_dependencies_s_length 12
+  #define FAKE_make_skeleton_content_fakefile_s_length     51
+  #define FAKE_make_skeleton_content_process_post_s_length 13
+  #define FAKE_make_skeleton_content_process_pre_s_length  13
+  #define FAKE_make_skeleton_content_settings_s_length     12
+
+  extern const f_string_static_t fake_make_skeleton_content_defines_s;
+  extern const f_string_static_t fake_make_skeleton_content_dependencies_s;
+  extern const f_string_static_t fake_make_skeleton_content_fakefile_s;
+  extern const f_string_static_t fake_make_skeleton_content_process_post_s;
+  extern const f_string_static_t fake_make_skeleton_content_process_pre_s;
+  extern const f_string_static_t fake_make_skeleton_content_settings_s;
+#endif // _di_fake_skeleton_content_s_
+
+#ifndef _di_fake_make_context_s_
+  #define FAKE_make_context_error_s     "error"
+  #define FAKE_make_context_important_s "important"
+  #define FAKE_make_context_normal_s    "normal"
+  #define FAKE_make_context_notable_s   "notable"
+  #define FAKE_make_context_reset_s     "reset"
+  #define FAKE_make_context_standout_s  "standout"
+  #define FAKE_make_context_success_s   "success"
+  #define FAKE_make_context_title_s     "title"
+  #define FAKE_make_context_warning_s   "warning"
+
+  #define FAKE_make_context_error_s_length     5
+  #define FAKE_make_context_important_s_length 9
+  #define FAKE_make_context_normal_s_length    6
+  #define FAKE_make_context_notable_s_length   7
+  #define FAKE_make_context_reset_s_length     5
+  #define FAKE_make_context_standout_s_length  8
+  #define FAKE_make_context_success_s_length   7
+  #define FAKE_make_context_title_s_length     5
+  #define FAKE_make_context_warning_s_length   7
+
+  extern const f_string_static_t fake_make_context_error_s;
+  extern const f_string_static_t fake_make_context_important_s;
+  extern const f_string_static_t fake_make_context_normal_s;
+  extern const f_string_static_t fake_make_context_notable_s;
+  extern const f_string_static_t fake_make_context_reset_s;
+  extern const f_string_static_t fake_make_context_standout_s;
+  extern const f_string_static_t fake_make_context_success_s;
+  extern const f_string_static_t fake_make_context_title_s;
+  extern const f_string_static_t fake_make_context_warning_s;
+#endif // _di_fake_make_context_s_
+
+#ifndef _di_fake_file_data_build_s_
+  #define FAKE_file_data_build_process_post_s "process_post.sh"
+  #define FAKE_file_data_build_process_pre_s  "process_pre.sh"
+
+  #define FAKE_file_data_build_process_post_s_length 15
+  #define FAKE_file_data_build_process_pre_s_length  14
+
+  extern const f_string_static_t fake_file_data_build_process_post_s;
+  extern const f_string_static_t fake_file_data_build_process_pre_s;
+#endif // _di_fake_file_data_build_s_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _fake_common_string_h
similarity index 79%
rename from level_3/fake/c/main/common-type.c
rename to level_3/fake/c/main/common/type.c
index 11b1a4c1345192b7b88993c050ae57de57a9e7b3..a84a04834c70f0b044bcf663dd97dfb48db9424a 100644 (file)
@@ -1,4 +1,4 @@
-#include "fake.h"
+#include "../fake.h"
 
 #ifdef __cplusplus
 extern "C" {
index ee8322a5848dd7c369ccabe4da8f3f3326c7df85..3cc6a7fcb9bbdbdaec30b5a36b479e2ecb03667f 100644 (file)
@@ -1,13 +1,11 @@
 #include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-fake-path_generate.h"
-#include "private-build.h"
-#include "private-clean.h"
-#include "private-make.h"
-#include "private-make-operate.h"
-#include "private-print.h"
-#include "private-skeleton.h"
+#include "fake/path_generate.h"
+#include "build.h"
+#include "clean.h"
+#include "make.h"
+#include "make/operate.h"
+#include "print.h"
+#include "skeleton.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -220,6 +218,327 @@ extern "C" {
   }
 #endif // _di_fake_main_
 
+#ifndef _di_fake_execute_
+  int fake_execute(fake_data_t * const data, const f_string_maps_t environment, const f_string_static_t program, const f_string_statics_t arguments, f_status_t * const status) {
+
+    if (F_status_is_error(*status)) return 1;
+
+    if (data->main->error.verbosity >= f_console_verbosity_verbose_e) {
+      f_file_stream_lock(data->main->message.to);
+
+      f_print_dynamic(program, data->main->message.to);
+
+      for (f_array_length_t i = 0; i < arguments.used; ++i) {
+
+        if (!arguments.array[i].used) continue;
+
+        fl_print_format(" %Q", data->main->message.to, arguments.array[i]);
+      } // for
+
+      f_print_dynamic_raw(f_string_eol_s, data->main->message.to);
+
+      f_file_stream_flush(data->main->message.to);
+      f_file_stream_unlock(data->main->message.to);
+    }
+
+    int return_code = 0;
+
+    if (program.used) {
+
+      // Child processes should receive all signals, without blocking.
+      f_signal_how_t signals = f_signal_how_t_initialize;
+      f_signal_set_empty(&signals.block);
+      f_signal_set_fill(&signals.block_not);
+
+      fl_execute_parameter_t parameter = macro_fl_execute_parameter_t_initialize(0, 0, &environment, &signals, 0);
+
+      *status = fll_execute_program(program, arguments, &parameter, 0, (void *) &return_code);
+
+      if (fll_program_standard_signal_received(data->main)) {
+        fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+
+        *status = F_status_set_error(F_interrupt);
+
+        return 0;
+      }
+
+      if (*status == F_child) return return_code;
+    }
+    else {
+      *status = F_status_set_error(F_file_found_not);
+    }
+
+    if (return_code != 0) {
+      *status = F_status_set_error(F_failure);
+    }
+    else if (F_status_is_error(*status)) {
+      return_code = 1;
+
+      if (F_status_set_fine(*status) == F_file_found_not) {
+        if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+          f_file_stream_lock(data->main->error.to);
+
+          fl_print_format("%r%[%QFailed to find program '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
+          fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, program, data->main->error.notable);
+          fl_print_format("%[' for executing.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+          f_file_stream_unlock(data->main->error.to);
+        }
+      }
+      else {
+        fake_print_error(data->setting, *status, data->main->error, macro_fake_f(fll_execute_program));
+      }
+    }
+
+    return return_code;
+  }
+#endif // _di_fake_execute_
+
+#ifndef _di_fake_file_buffer_
+  f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer) {
+
+    if (fll_program_standard_signal_received(data->main)) {
+      fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+
+      return F_status_set_error(F_interrupt);
+    }
+
+    f_status_t status = f_file_exists(path_file, F_true);
+
+    if (F_status_is_error(status)) {
+      fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e);
+
+      return status;
+    }
+
+    if (status == F_true) {
+      {
+        off_t size_file = 0;
+
+        status = f_file_size(path_file, F_true, &size_file);
+
+        if (F_status_is_error(status)) {
+          fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_size), path_file, f_file_operation_read_s, fll_error_file_type_file_e);
+
+          return status;
+        }
+
+        if (size_file > fake_common_initial_buffer_max_d) {
+          size_file = fake_common_initial_buffer_max_d;
+        }
+
+        status = f_string_dynamic_increase_by(size_file, buffer);
+
+        if (F_status_is_error(status)) {
+          const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24);
+
+          fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_string_dynamic_increase_by), path_file, message, fll_error_file_type_file_e);
+
+          return status;
+        }
+
+        status = F_true;
+      }
+
+      f_file_t file = f_file_t_initialize;
+
+      status = f_file_stream_open(path_file, f_string_empty_s, &file);
+
+      if (F_status_is_error(status)) {
+        fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stream_open), path_file, f_file_operation_open_s, fll_error_file_type_file_e);
+
+        return status;
+      }
+
+      status = f_file_stream_read(file, buffer);
+
+      f_file_stream_flush(file);
+      f_file_stream_close(&file);
+
+      if (F_status_is_error(status)) {
+        fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_read), path_file, f_file_operation_read_s, fll_error_file_type_file_e);
+      }
+    }
+    else {
+      if (required) {
+        status = F_status_set_error(F_file_found_not);
+
+        fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e);
+      }
+    }
+
+    return status;
+  }
+#endif // _di_fake_file_buffer_
+
+#ifndef _di_fake_pipe_buffer_
+  f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) {
+
+    f_status_t status = F_none;
+    f_file_t file = f_file_t_initialize;
+
+    file.id = F_type_descriptor_input_d;
+    file.stream = F_type_input_d;
+    file.size_read = fake_default_allocation_pipe_d;
+
+    status = f_string_dynamic_increase_by(fake_common_initial_buffer_max_d, buffer);
+
+    if (F_status_is_error(status)) {
+      const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24);
+      fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_string_dynamic_increase_by), f_string_ascii_minus_s, message, fll_error_file_type_file_e);
+
+      return status;
+    }
+
+    // Reset the error state before processing.
+    clearerr(F_type_input_d);
+
+    do {
+      if (fll_program_standard_signal_received(data->main)) {
+        fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+
+        return F_status_set_error(F_interrupt);
+      }
+
+      status = f_file_stream_read_block(file, buffer);
+
+    } while (F_status_is_fine(status) && status != F_interrupt && status != F_none_eof);
+
+    if (F_status_is_error(status)) {
+      fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stream_read_block), f_string_ascii_minus_s, f_file_operation_read_s, fll_error_file_type_file_e);
+    }
+
+    return status;
+  }
+#endif // _di_fake_pipe_buffer_
+
+#ifndef _di_fake_validate_parameter_paths_
+  f_status_t fake_validate_parameter_paths(fake_data_t * const data) {
+
+    if (fll_program_standard_signal_received(data->main)) {
+      fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
+
+      return F_status_set_error(F_interrupt);
+    }
+
+    const f_string_static_t names[] = {
+      fake_long_build_s,
+      fake_long_data_s,
+      fake_long_documents_s,
+      fake_long_licenses_s,
+      fake_long_sources_s,
+      fake_long_work_s,
+    };
+
+    const f_string_dynamic_t values[] = {
+      data->setting->build,
+      data->setting->data,
+      data->setting->documents,
+      data->setting->licenses,
+      data->setting->sources,
+      data->setting->work,
+    };
+
+    uint8_t requireds[] = {
+      F_false, // fake_long_build_s
+      (data->main->pipe & fll_program_data_pipe_input_e) ? F_false : F_true, // fake_long_data_s
+      F_false, // fake_long_documents_s
+      F_false, // fake_long_licenses_s
+      F_false, // fake_long_sources_s
+      F_false, // fake_long_work_s
+    };
+
+    struct stat directory_stat;
+
+    f_status_t status = F_none;
+
+    // Check only expected operations (fake_operation_clean_e and fake_operation_skeleton_e should not call this function).
+    if (data->operation == fake_operation_make_e) {
+      if (data->main->parameters.array[fake_parameter_fakefile_e].result == f_console_result_none_e) {
+        if (data->setting->build.used && f_file_exists(data->setting->build, F_false) != F_true) {
+          if (f_file_exists(fake_default_fakefile_s, F_false) == F_true) {
+            requireds[1] = F_false; // fake_long_data_s
+          }
+        }
+      }
+    }
+
+    // If a custom --data or a custom --fakefile parameter is passed and uses an absolute or relative to current path, then do not check.
+    if (data->operation == fake_operation_make_e || data->operation == fake_operation_build_e) {
+      f_console_parameter_t * const parameter = &data->main->parameters.array[
+        data->operation == fake_operation_make_e
+          ? fake_parameter_fakefile_e
+          : fake_parameter_settings_e
+        ];
+
+      if (parameter->result & f_console_result_value_e) {
+        const f_array_length_t index = parameter->values.array[parameter->values.used - 1];
+
+        if (f_path_is_absolute(data->main->parameters.arguments.array[index]) == F_true || f_path_is_relative_current(data->main->parameters.arguments.array[index]) == F_true) {
+          requireds[1] = F_none; // fake_long_data_s
+        }
+        else {
+          status = f_file_exists(data->main->parameters.arguments.array[index], F_true);
+
+          if (F_status_is_error_not(status) && status == F_true) {
+            requireds[1] = F_none; // fake_long_data_s
+          }
+        }
+      }
+    }
+
+    for (uint8_t i = 0; i < 6; ++i) {
+
+      if (requireds[i] != F_none && values[i].used) {
+        memset(&directory_stat, 0, sizeof(struct stat));
+
+        status = f_file_stat(values[i], F_true, &directory_stat);
+
+        if (status == F_status_set_error(F_file_found_not)) status = F_status_set_error(F_directory_found_not);
+
+        if (F_status_is_error(status)) {
+          if (F_status_set_fine(status) != F_directory_found_not || requireds[i]) {
+            fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stat), values[i], f_file_operation_access_s, fll_error_file_type_directory_e);
+
+            return status;
+          }
+        }
+      }
+      else if (requireds[i] == F_true) {
+        f_file_stream_lock(data->main->error.to);
+
+        fl_print_format("%r%[%QNo valid path for the (required) directory parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
+        fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, names[i], data->main->error.notable);
+        fl_print_format("%[' was found.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+
+        return F_status_set_error(F_directory_found_not);
+      }
+    } // for
+
+    return F_none;
+  }
+#endif // _di_fake_validate_parameter_paths_
+
+#ifndef _di_fake_verbose_print_clone_
+  void fake_verbose_print_clone(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) {
+    fll_print_format("Cloned '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s);
+  }
+#endif // _di_fake_verbose_print_clone_
+
+#ifndef _di_fake_verbose_print_copy_
+  void fake_verbose_print_copy(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) {
+    fll_print_format("Copied '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s);
+  }
+#endif // _di_fake_verbose_print_copy_
+
+#ifndef _di_fake_verbose_print_move_
+  void fake_verbose_print_move(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) {
+    fll_print_format("Moved '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s);
+  }
+#endif // _di_fake_verbose_print_move_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
index b9334ea0e074234b7714d1ebea171acd235bc3fa..3f930d3ef4200b1955750439356b43e6b2c9d280 100644 (file)
@@ -90,9 +90,9 @@
 #include <fll/level_2/program.h>
 
 // Featureless Make includes.
-#include <program/fake/main/common-print.h>
-#include <program/fake/main/common-string.h>
-#include <program/fake/main/common-type.h>
+#include <program/fake/main/common/print.h>
+#include <program/fake/main/common/string.h>
+#include <program/fake/main/common/type.h>
 #include <program/fake/main/common.h>
 #include <program/fake/main/print.h>
 
@@ -133,6 +133,138 @@ extern "C" {
   extern void fake_main(fll_program_data_t * const main, fake_setting_t * const setting);
 #endif // _di_fake_main_
 
+/**
+ * Execute the given command and arguments.
+ *
+ * Will print the command if in verbose mode.
+ *
+ * @param data
+ *   The program data.
+ * @param environment
+ *   The environment variable data.
+ * @param program
+ *   The program to be executed.
+ * @param arguments
+ *   The arguments to be passed to the program.
+ * @param status
+ *   The return status.
+ *
+ * @return
+ *   The return code result from execution.
+ *   A value of 1 is returned if status has the error bit set.
+ *
+ *   F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
+ */
+#ifndef _di_fake_execute_
+  extern int fake_execute(fake_data_t * const data, const f_string_maps_t environment, const f_string_static_t program, const f_string_statics_t arguments, f_status_t * const status) F_attribute_visibility_internal_d;
+#endif // _di_fake_execute_
+
+/**
+ * Load the contents of a file into the given buffer, handling all potential errors.
+ *
+ * @param data
+ *   The program data.
+ * @param path_file
+ *   The path to the file to load.
+ * @param required
+ *   If TRUE, then return error when file is not found.
+ *   If FALSE, then return F_false when file is not found.
+ * @param buffer
+ *   A buffer containing the contents of the file.
+ *
+ * @return
+ *   F_none on success.
+ *   F_false on file not found and file is not required.
+ *
+ *   F_file_found_not (with error bit) if file is not found and file is required.
+ *   F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
+ *
+ *   Status codes (with error bit) are returned on any problem.
+ */
+#ifndef _di_fake_file_buffer_
+  extern f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer) F_attribute_visibility_internal_d;
+#endif // _di_fake_file_buffer_
+
+/**
+ * Load the contents of the standard input pipe into the given buffer, handling all potential errors.
+ *
+ * @param data
+ *   The program data.
+ * @param buffer
+ *   A buffer containing the contents of the file.
+ *
+ * @return
+ *   F_none on success.
+ *
+ *   F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
+ *
+ *   Status codes (with error bit) are returned on any problem.
+ */
+#ifndef _di_fake_pipe_buffer_
+  extern f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) F_attribute_visibility_internal_d;
+#endif // _di_fake_pipe_buffer_
+
+/**
+ * Validate directories and print any relating error messages.
+ *
+ * This should not be called for skeleton as in that case the directories probably do not exist.
+ *
+ * @param data
+ *   The program data.
+ *
+ * @return
+ *   F_none on success.
+ *
+ *   F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
+ *
+ *   Status codes (with error bit) are returned on any problem.
+ */
+#ifndef _di_fake_validate_parameter_paths_
+  extern f_status_t fake_validate_parameter_paths(fake_data_t * const data) F_attribute_visibility_internal_d;
+#endif // _di_fake_validate_parameter_paths_
+
+/**
+ * Helper function for performing a verbose print for a file clone operation.
+ *
+ * @param output
+ *   A file to print to.
+ * @param source
+ *   The source string.
+ * @param destination
+ *   The destination string.
+ */
+#ifndef _di_fake_verbose_print_clone_
+  extern void fake_verbose_print_clone(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d;
+#endif // _di_fake_verbose_print_clone_
+
+/**
+ * Helper function for performing a verbose print for a file copy operation.
+ *
+ * @param output
+ *   A file to print to.
+ * @param source
+ *   The source string.
+ * @param destination
+ *   The destination string.
+ */
+#ifndef _di_fake_verbose_print_copy_
+  extern void fake_verbose_print_copy(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d;
+#endif // _di_fake_verbose_print_copy_
+
+/**
+ * Helper function for performing a verbose print for a file move operation.
+ *
+ * @param output
+ *   A file to print to.
+ * @param source
+ *   The source string.
+ * @param destination
+ *   The destination string.
+ */
+#ifndef _di_fake_verbose_print_move_
+  extern void fake_verbose_print_move(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d;
+#endif // _di_fake_verbose_print_move_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
similarity index 99%
rename from level_3/fake/c/main/private-fake-path_generate.c
rename to level_3/fake/c/main/fake/path_generate.c
index fa90a594e50475fe220abb369cb495c19103fb9d..2118b4094ab748a9a7cdce2ee7da27d9dd728960 100644 (file)
@@ -1,6 +1,5 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake-path_generate.h"
+#include "../fake.h"
+#include "path_generate.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/level_3/fake/c/main/fake/print.c b/level_3/fake/c/main/fake/print.c
new file mode 100644 (file)
index 0000000..9dcac6e
--- /dev/null
@@ -0,0 +1,10 @@
+#include "../fake.h"
+#include "print.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_3/fake/c/main/fake/print.h b/level_3/fake/c/main/fake/print.h
new file mode 100644 (file)
index 0000000..ac39d78
--- /dev/null
@@ -0,0 +1,19 @@
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ */
+#ifndef _PRIVATE_fake_print_h
+#define _PRIVATE_fake_print_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _PRIVATE_fake_print_h
similarity index 99%
rename from level_3/fake/c/main/private-make.c
rename to level_3/fake/c/main/make.c
index b1b11fb76d5afa27f4e6601ee0f87b11f40eaaea..3cf091511a99b5afc3875823e2c3874699e57ac0 100644 (file)
@@ -1,6 +1,5 @@
 #include "fake.h"
-#include "private-common.h"
-#include "private-make.h"
+#include "make.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 99%
rename from level_3/fake/c/main/private-make-load_fakefile.c
rename to level_3/fake/c/main/make/load_fakefile.c
index 0066da0be635b7c2aefabb350a95c92adef3c4b8..726d061e0a847ba02f6b3409d866fc4d7da8f38c 100644 (file)
@@ -1,10 +1,8 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build-load.h"
-#include "private-make-load_fakefile.h"
-#include "private-make-operate_validate.h"
-#include "private-print.h"
+#include "../fake.h"
+#include "../print.h"
+#include "../build/load.h"
+#include "load_fakefile.h"
+#include "operate_validate.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 99%
rename from level_3/fake/c/main/private-make-load_parameters.c
rename to level_3/fake/c/main/make/load_parameters.c
index c5328d6688d32a84494a5e4c676a641c0b2036cd..555ab31c8c3e6ea9bd00614aa3242b97d3200e4d 100644 (file)
@@ -1,6 +1,5 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-make-load_parameters.h"
+#include "../fake.h"
+#include "load_parameters.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 99%
rename from level_3/fake/c/main/private-make-operate.c
rename to level_3/fake/c/main/make/operate.c
index ff8dbf8e34cfa2b37e7ea58f08f46caaf8d35132..340deb27b4fecdc052a12424e46d791145936de1 100644 (file)
@@ -1,13 +1,11 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-make-load_parameters.h"
-#include "private-make-load_fakefile.h"
-#include "private-make-operate.h"
-#include "private-make-operate_block.h"
-#include "private-make-operate_process.h"
-#include "private-make-operate_validate.h"
-#include "private-print.h"
+#include "../fake.h"
+#include "../print.h"
+#include "load_parameters.h"
+#include "load_fakefile.h"
+#include "operate.h"
+#include "operate_block.h"
+#include "operate_process.h"
+#include "operate_validate.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 99%
rename from level_3/fake/c/main/private-make-operate_block.c
rename to level_3/fake/c/main/make/operate_block.c
index 38b7da251204889f893b6f96b3285c56057a71b1..90c0300337a7d1babb2ea70dafa0a198c8bac71f 100644 (file)
@@ -1,5 +1,4 @@
-#include "fake.h"
-#include "private-common.h"
+#include "../fake.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 98%
rename from level_3/fake/c/main/private-make-operate_process.c
rename to level_3/fake/c/main/make/operate_process.c
index 03ca77c381ba3bf035ed86e93405913ab5c396ae..ee7fa4791cff9b35cc027079416b60ff5b2d61f4 100644 (file)
@@ -1,13 +1,11 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build.h"
-#include "private-clean.h"
-#include "private-make-operate.h"
-#include "private-make-operate_process.h"
-#include "private-make-operate_process_type.h"
-#include "private-print.h"
-#include "private-skeleton.h"
+#include "../fake.h"
+#include "../build.h"
+#include "../clean.h"
+#include "../print.h"
+#include "../skeleton.h"
+#include "operate.h"
+#include "operate_process.h"
+#include "operate_process_type.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 99%
rename from level_3/fake/c/main/private-make-operate_process_type.c
rename to level_3/fake/c/main/make/operate_process_type.c
index f382a347fe93b361c1f5bc22b5aba373abcfe299..9a5777a4dbe9df66ae7d46ebe7186f735a063f53 100644 (file)
@@ -1,14 +1,12 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-fake.h"
-#include "private-build.h"
-#include "private-clean.h"
-#include "private-make.h"
-#include "private-make-operate.h"
-#include "private-make-operate_process.h"
-#include "private-make-operate_process_type.h"
-#include "private-print.h"
-#include "private-skeleton.h"
+#include "../fake.h"
+#include "../build.h"
+#include "../clean.h"
+#include "../make.h"
+#include "../print.h"
+#include "../skeleton.h"
+#include "operate.h"
+#include "operate_process.h"
+#include "operate_process_type.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 96%
rename from level_3/fake/c/main/private-make-operate_validate.c
rename to level_3/fake/c/main/make/operate_validate.c
index c0f7cc908c0b91f2a19249a03c1421fed39c96b0..3a6a380c1cc9fbc6e4fcc0e4e7a0b6d6622556cc 100644 (file)
@@ -1,9 +1,8 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-make.h"
-#include "private-make-operate_validate.h"
-#include "private-make-operate_validate_type.h"
-#include "private-print.h"
+#include "../fake.h"
+#include "../print.h"
+#include "../make.h"
+#include "operate_validate.h"
+#include "operate_validate_type.h"
 
 #ifdef __cplusplus
 extern "C" {
similarity index 99%
rename from level_3/fake/c/main/private-make-operate_validate_type.c
rename to level_3/fake/c/main/make/operate_validate_type.c
index e9b98c3d64598e1bf349fdfbd72f3c3a20e23413..01fa8d7e84d3053d8bfceeaee6d40797b5d4504d 100644 (file)
@@ -1,9 +1,8 @@
-#include "fake.h"
-#include "private-common.h"
-#include "private-make.h"
-#include "private-make-operate_validate.h"
-#include "private-make-operate_validate_type.h"
-#include "private-print.h"
+#include "../fake.h"
+#include "../print.h"
+#include "../make.h"
+#include "operate_validate.h"
+#include "operate_validate_type.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/level_3/fake/c/main/make/print.c b/level_3/fake/c/main/make/print.c
new file mode 100644 (file)
index 0000000..9dcac6e
--- /dev/null
@@ -0,0 +1,10 @@
+#include "../fake.h"
+#include "print.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_3/fake/c/main/make/print.h b/level_3/fake/c/main/make/print.h
new file mode 100644 (file)
index 0000000..e69de29
index cb2b6964a789febd19b0e90cd21c52b493fbf63e..257720d5298cc944c658af01f597b1c3f78ca647 100644 (file)
@@ -1,5 +1,4 @@
 #include "fake.h"
-#include "private-common.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -338,6 +337,637 @@ extern "C" {
   }
 #endif // _di_fake_print_operation_all_complete_
 
+#ifndef _di_fake_print_error_build_operation_file_
+  bool fake_print_error_build_operation_file(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) {
+
+    if (F_status_set_fine(status) == F_file_found_not) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QFailed to find '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_parameter) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QInvalid parameter when calling '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
+        fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, function, data->main->error.notable);
+        fl_print_format("%[() to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_name) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QInvalid name for '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
+
+        if (source.used) {
+          fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable);
+        }
+
+        if (destination.used) {
+          fl_print_format("%[' or '%]", data->main->error.to, data->main->error.context, data->main->error.context);
+          fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, destination, data->main->error.notable);
+        }
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_memory_not) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QUnable to allocate memory, while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_number_overflow) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QOverflow while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_directory) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QInvalid directory while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_access_denied) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QAccess denied while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_loop) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QLoop while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_prohibited) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QProhibited by system while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_directory_found_not) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QFailed to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%[' due to an invalid directory in the path.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (F_status_set_fine(status) == F_failure) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fake_print_line_first_locked(data->setting, data->main->error);
+
+        fl_print_format("%[%QFailed to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
+
+        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (fll_error_print(data->main->error, F_status_set_fine(status), function, F_false) == F_known_not && fallback && data->main->error.verbosity > f_console_verbosity_quiet_e) {
+      f_file_stream_lock(data->main->error.to);
+
+      fake_print_line_first_locked(data->setting, data->main->error);
+
+      fl_print_format("%[UNKNOWN %Q(%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
+      fl_print_format("%[%ui%]", data->main->error.to, data->main->error.notable, F_status_set_fine(status), data->main->error.notable);
+      fl_print_format("%[) occurred while trying to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context);
+
+      fake_print_error_build_operation_file_message(data, operation, source, destination, how);
+
+      fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+      f_file_stream_unlock(data->main->error.to);
+    }
+
+    return F_true;
+  }
+#endif // _di_fake_print_error_build_operation_file_
+
+#ifndef _di_fake_print_error_build_operation_file_message_
+  void fake_print_error_build_operation_file_message(fake_data_t * const data, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) {
+
+    if (source.used) {
+      fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable);
+    }
+
+    fl_print_format("%[while trying to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context);
+
+    if (destination.used) {
+      fl_print_format("%[' %Q '%]", data->main->error.to, data->main->error.context, how, data->main->error.context);
+      fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, destination, data->main->error.notable);
+    }
+    else if (source.used) {
+      fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable);
+    }
+  }
+#endif // _di_fake_print_error_build_operation_file_message_
+
+#ifndef _di_fake_print_error_fss
+  bool fake_print_error_fss(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) {
+
+    if (status == F_file_found_not) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fl_print_format("%r%[%QOccurred on invalid UTF-8 character at stop position (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
+        fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable);
+        fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context);
+        fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable);
+        fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (status == F_complete_not_utf || status == F_complete_not_utf_eos || status == F_complete_not_utf_stop) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fl_print_format("%r%[%QOccurred on invalid UTF-8 character at %s (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, status == F_complete_not_utf_eos ? "end of string" : "stop point of string", data->main->error.context);
+        fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable);
+        fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context);
+        fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable);
+        fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (status == F_complete_not_utf_stop) {
+      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
+        f_file_stream_lock(data->main->error.to);
+
+        fl_print_format("%r%[%QOccurred on invalid UTF-8 character at stop point of string (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
+        fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable);
+        fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context);
+        fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable);
+        fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+        f_file_stream_unlock(data->main->error.to);
+      }
+
+      return F_false;
+    }
+
+    if (fll_error_print(data->main->error, status, function, F_false) == F_known_not && fallback && data->main->error.verbosity > f_console_verbosity_quiet_e) {
+      f_file_stream_lock(data->main->error.to);
+
+      fl_print_format("%r%[UNKNOWN %Q(%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
+      fl_print_format("%[%ui%]", data->main->error.to, data->main->error.notable, status, data->main->error.notable);
+      fl_print_format("%[) in function '%]", data->main->error.to, data->main->error.context, data->main->error.context);
+      fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, function, data->main->error.notable);
+      fl_print_format("%[().%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+      f_file_stream_unlock(data->main->error.to);
+    }
+
+    return F_true;
+  }
+#endif // _di_fake_print_error_fss
+
+#ifndef _di_fake_print_error_parameter_missing_value_
+  void fake_print_error_parameter_missing_value(fake_data_t * const data, const f_string_static_t parameter) {
+
+    if (data->main->error.verbosity == f_console_verbosity_quiet_e) return;
+
+    f_file_stream_lock(data->main->error.to);
+
+    fl_print_format("%r%[%QThe parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
+    fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, parameter, data->main->error.notable);
+    fl_print_format("%[' is specified, but no value is given.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+    f_file_stream_unlock(data->main->error.to);
+  }
+#endif // _di_fake_print_error_parameter_missing_value_
+
+#ifndef _di_fake_print_error_parameter_too_many_
+  void fake_print_error_parameter_too_many(fake_data_t * const data, const f_string_static_t parameter) {
+
+    if (data->main->error.verbosity == f_console_verbosity_quiet_e) return;
+
+    f_file_stream_lock(data->main->error.to);
+
+    fl_print_format("%r%[%QThe parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
+    fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, parameter, data->main->error.notable);
+    fl_print_format("%[' was specified too many times.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
+
+    f_file_stream_unlock(data->main->error.to);
+  }
+#endif // _di_fake_print_error_parameter_too_many_
+
+#ifndef _di_fake_print_error_requires_more_arguments_
+  void fake_print_error_requires_more_arguments(fake_make_data_t * const data_make) {
+
+    if (data_make->error.verbosity == f_console_verbosity_quiet_e) return;
+    if (!data_make->main->error.to.stream) return;
+
+    fll_print_format("%r%[%QRequires more arguments.%]%r", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s);
+  }
+#endif // _di_fake_print_error_requires_more_arguments_
+
+#ifndef _di_fake_print_error_too_many_arguments_
+  void fake_print_error_too_many_arguments(fake_make_data_t * const data_make) {
+
+    if (data_make->error.verbosity == f_console_verbosity_quiet_e) return;
+    if (!data_make->main->error.to.stream) return;
+
+    fll_print_format("%r%[%QHas too many arguments.%]%r", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s);
+  }
+#endif // _di_fake_print_error_too_many_arguments_
+
+#ifndef _di_fake_print_error_argument_empty_
+  void fake_print_error_argument_empty(fake_make_data_t * const data_make, const f_array_length_t index) {
+
+    if (data_make->error.verbosity == f_console_verbosity_quiet_e) return;
+    if (!data_make->main->error.to.stream) return;
+
+    f_file_stream_lock(data_make->main->error.to);
+
+    fl_print_format("%r%[%QThe %]", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context);
+    fl_print_format("%[%un%]", data_make->main->error.to, data_make->error.notable, index, data_make->error.notable);
+    fl_print_format("%[ argument must not be an empty string.%]%r", data_make->main->error.to, data_make->error.context, data_make->error.context, f_string_eol_s);
+
+    f_file_stream_unlock(data_make->main->error.to);
+  }
+#endif // _di_fake_print_error_argument_empty_
+
+#ifndef _di_fake_print_message_section_operation_failed_
+  void fake_print_message_section_operation_failed(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
+
+    f_array_length_t line = 1;
+    f_state_t state = f_state_t_initialize;
+
+    f_fss_count_lines(state, buffer, operation_name.start, &line);
+
+    f_file_stream_lock(print.to);
+
+    fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
+    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable);
+    fl_print_format("%[' from section '%]", print.to, print.context, print.context);
+    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable);
+    fl_print_format("%[' on line%] ", print.to, print.context, print.context);
+    fl_print_format("%[%un%]", print.to, print.notable, line, print.notable);
+    fl_print_format(" %[failed.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+  }
+#endif // _di_fake_print_message_section_operation_failed_
+
+#ifndef _di_fake_print_message_section_operation_link_argument_unknown_
+  void fake_print_message_section_operation_link_argument_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
+
+    f_file_stream_lock(print.to);
+
+    fl_print_format("%r%[%QThe argument '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable);
+    fl_print_format("%[' is not not valid and may only be one of either '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_force_s, print.notable);
+    fl_print_format("%[' or '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_strict_s, print.notable);
+    fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+
+  }
+#endif // _di_fake_print_message_section_operation_link_argument_unknown_
+
+#ifndef _di_fake_print_message_section_operation_link_point_exists_
+  void fake_print_message_section_operation_link_point_exists(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
+
+    f_file_stream_lock(print.to);
+
+    fl_print_format("%r%[%QThe point file '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable);
+    fl_print_format("%[' already exists.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+
+  }
+#endif // _di_fake_print_message_section_operation_link_point_exists_
+
+#ifndef _di_fake_print_message_section_operation_link_target_exists_not_
+  void fake_print_message_section_operation_link_target_exists_not(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
+
+    f_file_stream_lock(print.to);
+
+    fl_print_format("%r%[%QThe target file '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable);
+    fl_print_format("%[' does not exist.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+
+  }
+#endif // _di_fake_print_message_section_operation_link_target_exists_not_
+
+#ifndef _di_fake_print_message_section_operation_path_outside_
+  void fake_print_message_section_operation_path_outside(fake_data_t * const data, const fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
+
+    f_file_stream_lock(print.to);
+
+    if (F_status_set_fine(status) == F_false) {
+      fake_print_line_first_locked(data->setting, data->main->error);
+
+      fl_print_format("%[%QThe path '%]", print.to, print.context, print.prefix, print.context);
+      fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable);
+      fl_print_format("%[' is outside the project root.%]%r", print.to, print.context, print.context, f_string_eol_s);
+    }
+    else {
+      fake_print_error_file(data->setting, status, print, function, path, fake_common_file_path_determine_real_s, fll_error_file_type_file_e);
+    }
+
+    f_file_stream_unlock(print.to);
+  }
+#endif // _di_fake_print_message_section_operation_path_outside_
+
+#ifndef _di_fake_print_message_section_operation_path_stack_max_
+  void fake_print_message_section_operation_path_stack_max(fake_data_t * const data, fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
+
+    if (status == F_array_too_large) {
+      f_file_stream_lock(print.to);
+
+      fl_print_format("%r%[%QMaximum stack size reached while processing path '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
+      fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable);
+      fl_print_format("%['", print.to, print.context);
+
+      if (function) {
+        fl_print_format(" while calling%] %[%S%]", print.to, print.context, print.notable, function, print.notable);
+        fl_print_format("%[()", print.to, print.context);
+      }
+
+      fl_print_format(".%]%r", print.to, print.context, f_string_eol_s);
+
+      f_file_stream_unlock(print.to);
+    }
+    else {
+      fake_print_error_file(data->setting, status, print, function, path, fake_common_file_path_change_to_s, fll_error_file_type_directory_e);
+    }
+  }
+#endif // _di_fake_print_message_section_operation_path_stack_max_
+
+#ifndef _di_fake_print_message_section_operation_stack_max_
+  void fake_print_message_section_operation_stack_max(fake_data_t * const data, fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
+
+    f_array_length_t line = 1;
+    f_state_t state = f_state_t_initialize;
+
+    f_fss_count_lines(state, buffer, operation_name.start, &line);
+
+    f_file_stream_lock(print.to);
+
+    fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
+    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable);
+    fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context);
+    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable);
+    fl_print_format("%[' on line%] ", print.to, print.context, print.context);
+    fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable);
+    fl_print_format("%[' cannot be processed because the max stack depth of%] ", print.to, print.context, print.context);
+    fl_print_format("%[%ul%]", print.to, print.notable, stack_max, print.notable);
+    fl_print_format(" %[has been reached.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+  }
+#endif // _di_fake_print_message_section_operation_stack_max_
+
+#ifndef _di_fake_print_message_section_operation_unknown_
+  void fake_print_message_section_operation_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) {
+
+    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
+
+    f_array_length_t line = 1;
+    f_state_t state = f_state_t_initialize;
+
+    f_fss_count_lines(state, buffer, operation_name.start, &line);
+
+    f_file_stream_lock(print.to);
+
+    fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
+    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable);
+    fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context);
+    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable);
+    fl_print_format("%[' on line%] ", print.to, print.context, print.context);
+    fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable);
+    fl_print_format(" %[is not a known operation name.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+  }
+#endif // _di_fake_print_message_section_operation_unknown_
+
+#ifndef _di_fake_print_warning_settings_content_empty_
+  void fake_print_warning_settings_content_empty(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_static_t settings_name) {
+
+    if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return;
+
+    f_file_stream_lock(data->main->warning.to);
+
+    fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context);
+    fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable);
+    fl_print_format("%[' has empty content for the '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
+    fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, settings_name, data->main->warning.notable);
+    fl_print_format("%[' object '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
+    fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_object, data->main->warning.notable);
+    fl_print_format("%['.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s);
+
+    f_file_stream_unlock(data->main->warning.to);
+  }
+#endif // _di_fake_print_warning_settings_content_empty_
+
+#ifndef _di_fake_print_warning_settings_content_invalid_
+  void fake_print_warning_settings_content_invalid(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_range_t range_content, const f_string_static_t settings_name) {
+
+    if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return;
+
+    f_file_stream_lock(data->main->warning.to);
+
+    fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context);
+    fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable);
+    fl_print_format("%[' has invalid content '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
+    fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_content, data->main->warning.notable);
+    fl_print_format("%[' for the '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
+    fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, settings_name, data->main->warning.notable);
+    fl_print_format("%[' object '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
+    fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_object, data->main->warning.notable);
+    fl_print_format("%['.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s);
+
+    f_file_stream_unlock(data->main->warning.to);
+  }
+#endif // _di_fake_print_warning_settings_content_invalid_
+
+#ifndef _di_fake_print_warning_settings_content_multiple_
+  void fake_print_warning_settings_content_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t name_object) {
+
+    if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return;
+
+    f_file_stream_lock(data->main->warning.to);
+
+    fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context);
+    fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, name_object, data->main->warning.notable);
+    fl_print_format("%[' in the file '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
+    fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable);
+    fl_print_format("%[' may only have a single property, only using the first.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s);
+
+    f_file_stream_unlock(data->main->warning.to);
+  }
+#endif // _di_fake_print_warning_settings_content_multiple_
+
+#ifndef _di_fake_print_warning_settings_object_multiple_
+  void fake_print_warning_settings_object_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t label, const f_string_static_t name_object) {
+
+    if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return;
+
+    f_file_stream_lock(data->main->warning.to);
+
+    fl_print_format("%r%[%QThe object '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context);
+    fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, name_object, data->main->warning.notable);
+    fl_print_format("%[' in the file '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
+    fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable);
+    fl_print_format("%[' may only be specified once, only using the first.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s);
+
+    f_file_stream_unlock(data->main->warning.to);
+  }
+#endif // _di_fake_print_warning_settings_object_multiple_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
index 65e5f997b01880da58a74ded737f940e92066cc9..83d17804c5a56497f88374b7cf79e29e7ee7a705 100644 (file)
@@ -352,6 +352,422 @@ extern "C" {
   extern f_status_t fake_print_operation_all_complete(fake_setting_t * const setting, const fl_print_t print);
 #endif // _di_fake_print_operation_all_complete_
 
+/**
+ * Print build operation file error messages.
+ *
+ * @param data
+ *   The program data.
+ * @param status
+ *   The status to use.
+ *   This is provided, ignoring data.setting->status, for thread-safety reasons.
+ * @param function
+ *   The name of the function where the error happened.
+ * @param operation
+ *   The operation performed.
+ * @param source
+ *   The operation source.
+ * @param destination
+ *   The operation destination, if applicable.
+ *   Set destination.used to 0 to disable.
+ * @param how
+ *   The how the operation is perform, such as "to" in "copy" source "to" destination.
+ * @param fallback
+ *   Set to F_true to print the fallback error message for unknown errors.
+ *
+ * @return
+ *   F_true is returned if the status code has no print message.
+ *   F_false is returned on successful print of known errors.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ *
+ * @see fake_print_error_build_operation_file_message();
+ */
+#ifndef _di_fake_print_error_operation_file_
+  extern bool fake_print_error_build_operation_file(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_error_operation_file_
+
+/**
+ * Helper function for printing build operation file error messages.
+ *
+ * This prints the "copy source to destination" part of the message.
+ *
+ * @param data
+ *   The program data.
+ * @param operation
+ *   The operation performed.
+ * @param source
+ *   The operation source.
+ * @param destination
+ *   The operation destination, if applicable.
+ *   Set destination.used to 0 to disable.
+ * @param how
+ *   The how the operation is perform, such as "to" in "copy" source "to" destination.
+ *
+ * @see fl_print_format()
+ *
+ * @see fake_print_error_build_operation_file()
+ */
+#ifndef _di_fake_print_error_build_operation_file_message_
+  extern void fake_print_error_build_operation_file_message(fake_data_t * const data, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_error_build_operation_file_message_
+
+/**
+ * Print FSS error messages.
+ *
+ * @param data
+ *   The program data.
+ * @param status
+ *   The error status code to report on.
+ * @param function
+ *   The function call that returned the error.
+ * @param path_file
+ *   The path to the file.
+ * @param range
+ *   The range representing the position in the buffer such that range.start is where the error happened.
+ * @param fallback
+ *   Set to F_true to print the fallback error message for unknown errors.
+ *
+ * @return
+ *   F_true is returned if the status code has no print message.
+ *   F_false is returned on successful print of known errors.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_error_fss_
+  extern bool fake_print_error_fss(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_error_fss_
+
+/**
+ * Print an error message for when the parameter is missing its accompanying value.
+ *
+ * @param data
+ *   The program data.
+ * @param parameter
+ *   The parameter name.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_error_parameter_missing_value_
+  extern void fake_print_error_parameter_missing_value(fake_data_t * const data, const f_string_static_t parameter) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_error_parameter_missing_value_
+
+/**
+ * Print an error message for when the parameter is specified too many times.
+ *
+ * @param data
+ *   The program data.
+ * @param parameter
+ *   The parameter name.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_error_parameter_too_many_
+  extern void fake_print_error_parameter_too_many(fake_data_t * const data, const f_string_static_t parameter) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_error_parameter_too_many_
+
+/**
+ * Print an error message for when there are more arguments are required (such as to a fakefile operation).
+ *
+ * @param data_make
+ *   All make related setting data, including data from the fakefile and the build settings file.
+ *
+ * @see fll_print_format()
+ */
+#ifndef _di_fake_print_error_requires_more_arguments_
+  extern void fake_print_error_requires_more_arguments(fake_make_data_t * const data_make) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_error_requires_more_arguments_
+
+/**
+ * Print an error message for when there are too many arguments passed (such as to a fakefile operation).
+ *
+ * @param data_make
+ *   All make related setting data, including data from the fakefile and the build settings file.
+ *
+ * @see fll_print_format()
+ */
+#ifndef _di_fake_print_error_too_many_arguments_
+  extern void fake_print_error_too_many_arguments(fake_make_data_t * const data_make) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_error_too_many_arguments_
+
+/**
+ * Print an error message for when an argument is an empty string.
+ *
+ * @param data_make
+ *   All make related setting data, including data from the fakefile and the build settings file.
+ * @param index
+ *   The index of the argument that is an empty string.
+ *
+ * @see fll_print_format()
+ */
+#ifndef _di_fake_print_error_argument_empty_
+  extern void fake_print_error_argument_empty(fake_make_data_t * const data_make, const f_array_length_t index) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_error_argument_empty_
+
+/**
+ * Print error messages when processing some fakefile section, for a specific line and operation, and that operation failed.
+ *
+ * @param data
+ *   The program data.
+ * @param print
+ *   Designates how the section error/warning should be printed.
+ * @param buffer
+ *   The buffer containing the fakefile data.
+ * @param section_name
+ *   The range within the buffer representing the section name.
+ * @param operation_name
+ *   The range within the buffer representing the operation name within the section.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_message_section_operation_failed_
+  extern void fake_print_message_section_operation_failed(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_message_section_operation_failed_
+
+/**
+ * Print error messages when a given link argument is unknown.
+ *
+ * @param data
+ *   The program data.
+ * @param print
+ *   Designates how the section error/warning should be printed.
+ * @param argument
+ *   The argument that is unknown by the link operation.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_message_section_operation_link_argument_unknown_
+  extern void fake_print_message_section_operation_link_argument_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_message_section_operation_link_argument_unknown_
+
+/**
+ * Print error messages when a given link point file already exists.
+ *
+ * @param data
+ *   The program data.
+ * @param print
+ *   Designates how the section error/warning should be printed.
+ * @param argument
+ *   The argument representing the point file.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_message_section_operation_link_point_exists_
+  extern void fake_print_message_section_operation_link_point_exists(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_message_section_operation_link_point_exists_
+
+/**
+ * Print error messages when a given link target file does not already exist.
+ *
+ * @param data
+ *   The program data.
+ * @param print
+ *   Designates how the section error/warning should be printed.
+ * @param argument
+ *   The argument representing the point file.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_message_section_operation_link_target_exists_not_
+  extern void fake_print_message_section_operation_link_target_exists_not(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_message_section_operation_link_target_exists_not_
+
+/**
+ * Print error messages when processing some fakefile section, for a specific line and operation, and that operation has a path outside of the project root.
+ *
+ * @param data
+ *   The program data.
+ * @param print
+ *   Designates how the section error/warning should be printed.
+ * @param status
+ *   The status code representing an error.
+ * @param function
+ *   The name of the function where the error happened.
+ * @param path
+ *   The path that is outside of the project path.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ * @see fll_error_file_print()
+ */
+#ifndef _di_fake_print_message_section_operation_path_outside_
+  extern void fake_print_message_section_operation_path_outside(fake_data_t * const data, const fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) F_attribute_visibility_internal_d;
+#endif // _fake_print_message_section_operation_path_outside_
+
+/**
+ * Print error messages when processing some fakefile section, for a specific line and operation.
+ *
+ * @param data
+ *   The program data.
+ * @param error
+ *   Designates how the section error/warning should be printed.
+ * @param status
+ *   The status code representing an error.
+ * @param function
+ *   The name of the function where the error happened.
+ *   Set to 0 to disable.
+ * @param path
+ *   The path to the directory.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ * @see fll_error_file_print()
+ */
+#ifndef _di_fake_print_message_section_operation_path_stack_max_
+  extern void fake_print_message_section_operation_path_stack_max(fake_data_t * const data, fl_print_t error, const f_status_t status, const f_string_t function, const f_string_static_t path) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_message_section_operation_path_stack_max_
+
+/**
+ * Print error messages when processing some fakefile section, for a specific line and operation, and that the max stack depth is reached.
+ *
+ * @param data
+ *   The program data.
+ * @param print
+ *   Designates how the section error/warning should be printed.
+ * @param buffer
+ *   The buffer containing the fakefile data.
+ * @param section_name
+ *   The range within the buffer representing the section name.
+ * @param operation_name
+ *   The range within the buffer representing the operation name within the section.
+ * @param stack_max
+ *   The max stack depth.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_message_section_operation_stack_max_
+  extern void fake_print_message_section_operation_stack_max(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_message_section_operation_stack_max_
+
+/**
+ * Print error messages when processing some fakefile section, for a specific line and operation, and that operation is invalid.
+ *
+ * @param data
+ *   The program data.
+ * @param print
+ *   Designates how the section error/warning should be printed.
+ * @param buffer
+ *   The buffer containing the fakefile data.
+ * @param section_name
+ *   The range within the buffer representing the section name.
+ * @param operation_name
+ *   The range within the buffer representing the operation name within the section.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_message_section_operation_unknown_
+  extern void fake_print_message_section_operation_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_message_section_operation_unknown_
+
+/**
+ * Print message when fake settings content is empty.
+ *
+ * @param data
+ *   The program data.
+ * @param path_file
+ *   The path to the fakefile.
+ * @param buffer
+ *   The buffer containing the loaded file content.
+ * @param range_object
+ *   The range within the buffer representing the object.
+ * @param settings_name
+ *   The name of the setting that has an invalid value.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_warning_settings_content_empty_
+  extern void fake_print_warning_settings_content_empty(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_static_t settings_name) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_warning_settings_content_empty_
+
+/**
+ * Print warning message when fake settings content is invalid.
+ *
+ * @param data
+ *   The program data.
+ * @param path_file
+ *   The path to the fakefile.
+ * @param buffer
+ *   The buffer containing the loaded file content.
+ * @param range_object
+ *   The range within the buffer representing the object.
+ * @param range_content
+ *   The range within the buffer representing the content.
+ * @param settings_name
+ *   The name of the setting that has an invalid value.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_warning_settings_content_invalid_
+  extern void fake_print_warning_settings_content_invalid(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_range_t range_content, const f_string_static_t settings_name) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_warning_settings_content_invalid_
+
+/**
+ * Print warning message when settings content has too many values.
+ *
+ * @param data
+ *   The program data.
+ * @param path_file
+ *   The path to the fakefile.
+ * @param buffer
+ *   The buffer containing the loaded file content.
+ * @param name_object
+ *   The name of the object.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_warning_settings_content_multiple_
+  extern void fake_print_warning_settings_content_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t name_object) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_warning_settings_content_multiple_
+
+/**
+ * Print warning message when fakefile has too many objects with the same name.
+ *
+ * @param data
+ *   The program data.
+ * @param path_file
+ *   The path to the fakefile.
+ * @param buffer
+ *   The buffer containing the loaded file content.
+ * @param label
+ *   A label describing what this object belongs to.
+ * @param name_object
+ *   The name of the object.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ */
+#ifndef _di_fake_print_warning_settings_object_multiple_
+  extern void fake_print_warning_settings_object_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t label, const f_string_static_t name_object) F_attribute_visibility_internal_d;
+#endif // _di_fake_print_warning_settings_object_multiple_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
index 7b8b1c3df40c569191501fde72a472ef87c3c1d2..1d7722e08117ba76e1d6b34f3f9ba32e3586afa9 100644 (file)
@@ -5,407 +5,6 @@
 extern "C" {
 #endif
 
-#ifndef _di_fake_build_setting_t_
-  const f_string_static_t fake_build_setting_default_ar_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_ar_s, 0, FAKE_build_setting_default_ar_s_length);
-  const f_string_static_t fake_build_setting_default_gcc_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_gcc_s, 0, FAKE_build_setting_default_gcc_s_length);
-  const f_string_static_t fake_build_setting_default_version_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_s, 0, FAKE_build_setting_default_version_s_length);
-  const f_string_static_t fake_build_setting_default_version_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_version_prefix_s, 0, FAKE_build_setting_default_version_prefix_s_length);
-  const f_string_static_t fake_build_setting_default_yes_s = macro_f_string_static_t_initialize(FAKE_build_setting_default_yes_s, 0, FAKE_build_setting_default_yes_s_length);
-
-  const f_string_static_t fake_build_setting_name_build_compiler_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_compiler_s, 0, FAKE_build_setting_name_build_compiler_s_length);
-  const f_string_static_t fake_build_setting_name_build_indexer_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_s, 0, FAKE_build_setting_name_build_indexer_s_length);
-  const f_string_static_t fake_build_setting_name_build_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_indexer_arguments_s, 0, FAKE_build_setting_name_build_indexer_arguments_s_length);
-  const f_string_static_t fake_build_setting_name_build_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_language_s, 0, FAKE_build_setting_name_build_language_s_length);
-  const f_string_static_t fake_build_setting_name_build_libraries_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_s, 0, FAKE_build_setting_name_build_libraries_s_length);
-  const f_string_static_t fake_build_setting_name_build_libraries_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_shared_s, 0, FAKE_build_setting_name_build_libraries_shared_s_length);
-  const f_string_static_t fake_build_setting_name_build_libraries_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_libraries_static_s, 0, FAKE_build_setting_name_build_libraries_static_s_length);
-  const f_string_static_t fake_build_setting_name_build_name_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_name_s, 0, FAKE_build_setting_name_build_name_s_length);
-  const f_string_static_t fake_build_setting_name_build_objects_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_s, 0, FAKE_build_setting_name_build_objects_library_s_length);
-  const f_string_static_t fake_build_setting_name_build_objects_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_shared_s, 0, FAKE_build_setting_name_build_objects_library_shared_s_length);
-  const f_string_static_t fake_build_setting_name_build_objects_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_library_static_s, 0, FAKE_build_setting_name_build_objects_library_static_s_length);
-  const f_string_static_t fake_build_setting_name_build_objects_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_s, 0, FAKE_build_setting_name_build_objects_program_s_length);
-  const f_string_static_t fake_build_setting_name_build_objects_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_shared_s, 0, FAKE_build_setting_name_build_objects_program_shared_s_length);
-  const f_string_static_t fake_build_setting_name_build_objects_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_objects_program_static_s, 0, FAKE_build_setting_name_build_objects_program_static_s_length);
-  const f_string_static_t fake_build_setting_name_build_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_script_s, 0, FAKE_build_setting_name_build_script_s_length);
-  const f_string_static_t fake_build_setting_name_build_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_shared_s, 0, FAKE_build_setting_name_build_shared_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_documentation_s, 0, FAKE_build_setting_name_build_sources_documentation_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_s, 0, FAKE_build_setting_name_build_sources_headers_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_shared_s, 0, FAKE_build_setting_name_build_sources_headers_shared_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_headers_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_headers_static_s, 0, FAKE_build_setting_name_build_sources_headers_static_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_s, 0, FAKE_build_setting_name_build_sources_library_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_shared_s, 0, FAKE_build_setting_name_build_sources_library_shared_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_library_static_s, 0, FAKE_build_setting_name_build_sources_library_static_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_s, 0, FAKE_build_setting_name_build_sources_object_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_shared_s, 0, FAKE_build_setting_name_build_sources_object_shared_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_object_static_s, 0, FAKE_build_setting_name_build_sources_object_static_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_s, 0, FAKE_build_setting_name_build_sources_program_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_shared_s, 0, FAKE_build_setting_name_build_sources_program_shared_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_program_static_s, 0, FAKE_build_setting_name_build_sources_program_static_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_script_s, 0, FAKE_build_setting_name_build_sources_script_s_length);
-  const f_string_static_t fake_build_setting_name_build_sources_setting_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_sources_setting_s, 0, FAKE_build_setting_name_build_sources_setting_s_length);
-  const f_string_static_t fake_build_setting_name_build_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_build_static_s, 0, FAKE_build_setting_name_build_static_s_length);
-  const f_string_static_t fake_build_setting_name_defines_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_s, 0, FAKE_build_setting_name_defines_s_length);
-  const f_string_static_t fake_build_setting_name_defines_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_s, 0, FAKE_build_setting_name_defines_library_s_length);
-  const f_string_static_t fake_build_setting_name_defines_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_shared_s, 0, FAKE_build_setting_name_defines_library_shared_s_length);
-  const f_string_static_t fake_build_setting_name_defines_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_library_static_s, 0, FAKE_build_setting_name_defines_library_static_s_length);
-  const f_string_static_t fake_build_setting_name_defines_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_s, 0, FAKE_build_setting_name_defines_object_s_length);
-  const f_string_static_t fake_build_setting_name_defines_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_shared_s, 0, FAKE_build_setting_name_defines_object_shared_s_length);
-  const f_string_static_t fake_build_setting_name_defines_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_object_static_s, 0, FAKE_build_setting_name_defines_object_static_s_length);
-  const f_string_static_t fake_build_setting_name_defines_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_s, 0, FAKE_build_setting_name_defines_program_s_length);
-  const f_string_static_t fake_build_setting_name_defines_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_shared_s, 0, FAKE_build_setting_name_defines_program_shared_s_length);
-  const f_string_static_t fake_build_setting_name_defines_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_program_static_s, 0, FAKE_build_setting_name_defines_program_static_s_length);
-  const f_string_static_t fake_build_setting_name_defines_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_shared_s, 0, FAKE_build_setting_name_defines_shared_s_length);
-  const f_string_static_t fake_build_setting_name_defines_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_defines_static_s, 0, FAKE_build_setting_name_defines_static_s_length);
-  const f_string_static_t fake_build_setting_name_environment_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_environment_s, 0, FAKE_build_setting_name_environment_s_length);
-  const f_string_static_t fake_build_setting_name_flags_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_s, 0, FAKE_build_setting_name_flags_s_length);
-  const f_string_static_t fake_build_setting_name_flags_library_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_s, 0, FAKE_build_setting_name_flags_library_s_length);
-  const f_string_static_t fake_build_setting_name_flags_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_shared_s, 0, FAKE_build_setting_name_flags_library_shared_s_length);
-  const f_string_static_t fake_build_setting_name_flags_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_library_static_s, 0, FAKE_build_setting_name_flags_library_static_s_length);
-  const f_string_static_t fake_build_setting_name_flags_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_s, 0, FAKE_build_setting_name_flags_object_s_length);
-  const f_string_static_t fake_build_setting_name_flags_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_shared_s, 0, FAKE_build_setting_name_flags_object_shared_s_length);
-  const f_string_static_t fake_build_setting_name_flags_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_object_static_s, 0, FAKE_build_setting_name_flags_object_static_s_length);
-  const f_string_static_t fake_build_setting_name_flags_program_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_s, 0, FAKE_build_setting_name_flags_program_s_length);
-  const f_string_static_t fake_build_setting_name_flags_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_shared_s, 0, FAKE_build_setting_name_flags_program_shared_s_length);
-  const f_string_static_t fake_build_setting_name_flags_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_program_static_s, 0, FAKE_build_setting_name_flags_program_static_s_length);
-  const f_string_static_t fake_build_setting_name_flags_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_shared_s, 0, FAKE_build_setting_name_flags_shared_s_length);
-  const f_string_static_t fake_build_setting_name_flags_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_flags_static_s, 0, FAKE_build_setting_name_flags_static_s_length);
-  const f_string_static_t fake_build_setting_name_has_path_standard_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_has_path_standard_s, 0, FAKE_build_setting_name_has_path_standard_s_length);
-  const f_string_static_t fake_build_setting_name_modes_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_s, 0, FAKE_build_setting_name_modes_s_length);
-  const f_string_static_t fake_build_setting_name_modes_default_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_modes_default_s, 0, FAKE_build_setting_name_modes_default_s_length);
-  const f_string_static_t fake_build_setting_name_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_headers_s, 0, FAKE_build_setting_name_path_headers_s_length);
-  const f_string_static_t fake_build_setting_name_path_language_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_language_s, 0, FAKE_build_setting_name_path_language_s_length);
-  const f_string_static_t fake_build_setting_name_path_library_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_script_s, 0, FAKE_build_setting_name_path_library_script_s_length);
-  const f_string_static_t fake_build_setting_name_path_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_shared_s, 0, FAKE_build_setting_name_path_library_shared_s_length);
-  const f_string_static_t fake_build_setting_name_path_library_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_library_static_s, 0, FAKE_build_setting_name_path_library_static_s_length);
-  const f_string_static_t fake_build_setting_name_path_object_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_script_s, 0, FAKE_build_setting_name_path_object_script_s_length);
-  const f_string_static_t fake_build_setting_name_path_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_shared_s, 0, FAKE_build_setting_name_path_object_shared_s_length);
-  const f_string_static_t fake_build_setting_name_path_object_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_object_static_s, 0, FAKE_build_setting_name_path_object_static_s_length);
-  const f_string_static_t fake_build_setting_name_path_program_script_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_script_s, 0, FAKE_build_setting_name_path_program_script_s_length);
-  const f_string_static_t fake_build_setting_name_path_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_shared_s, 0, FAKE_build_setting_name_path_program_shared_s_length);
-  const f_string_static_t fake_build_setting_name_path_program_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_program_static_s, 0, FAKE_build_setting_name_path_program_static_s_length);
-  const f_string_static_t fake_build_setting_name_path_sources_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_s, 0, FAKE_build_setting_name_path_sources_s_length);
-  const f_string_static_t fake_build_setting_name_path_sources_object_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_path_sources_object_s, 0, FAKE_build_setting_name_path_sources_object_s_length);
-  const f_string_static_t fake_build_setting_name_preserve_path_headers_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_preserve_path_headers_s, 0, FAKE_build_setting_name_preserve_path_headers_s_length);
-  const f_string_static_t fake_build_setting_name_process_post_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_post_s, 0, FAKE_build_setting_name_process_post_s_length);
-  const f_string_static_t fake_build_setting_name_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_process_pre_s, 0, FAKE_build_setting_name_process_pre_s_length);
-  const f_string_static_t fake_build_setting_name_search_exclusive_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_exclusive_s, 0, FAKE_build_setting_name_search_exclusive_s_length);
-  const f_string_static_t fake_build_setting_name_search_shared_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_shared_s, 0, FAKE_build_setting_name_search_shared_s_length);
-  const f_string_static_t fake_build_setting_name_search_static_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_search_static_s, 0, FAKE_build_setting_name_search_static_s_length);
-  const f_string_static_t fake_build_setting_name_version_file_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_file_s, 0, FAKE_build_setting_name_version_file_s_length);
-  const f_string_static_t fake_build_setting_name_version_major_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_s, 0, FAKE_build_setting_name_version_major_s_length);
-  const f_string_static_t fake_build_setting_name_version_major_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_major_prefix_s, 0, FAKE_build_setting_name_version_major_prefix_s_length);
-  const f_string_static_t fake_build_setting_name_version_micro_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_s, 0, FAKE_build_setting_name_version_micro_s_length);
-  const f_string_static_t fake_build_setting_name_version_micro_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_micro_prefix_s, 0, FAKE_build_setting_name_version_micro_prefix_s_length);
-  const f_string_static_t fake_build_setting_name_version_minor_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_s, 0, FAKE_build_setting_name_version_minor_s_length);
-  const f_string_static_t fake_build_setting_name_version_minor_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_minor_prefix_s, 0, FAKE_build_setting_name_version_minor_prefix_s_length);
-  const f_string_static_t fake_build_setting_name_version_nano_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_s, 0, FAKE_build_setting_name_version_nano_s_length);
-  const f_string_static_t fake_build_setting_name_version_nano_prefix_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_nano_prefix_s, 0, FAKE_build_setting_name_version_nano_prefix_s_length);
-  const f_string_static_t fake_build_setting_name_version_target_s = macro_f_string_static_t_initialize(FAKE_build_setting_name_version_target_s, 0, FAKE_build_setting_name_version_target_s_length);
-#endif // _di_fake_build_setting_t_
-
-#ifndef _di_fake_build_stage_t_
-  const f_string_static_t fake_build_stage_built_s = macro_f_string_static_t_initialize(FAKE_build_stage_built_s, 0, FAKE_build_stage_built_s_length);
-  const f_string_static_t fake_build_stage_library_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_script_s, 0, FAKE_build_stage_library_script_s_length);
-  const f_string_static_t fake_build_stage_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_shared_s, 0, FAKE_build_stage_library_shared_s_length);
-  const f_string_static_t fake_build_stage_library_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_library_static_s, 0, FAKE_build_stage_library_static_s_length);
-  const f_string_static_t fake_build_stage_object_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_script_s, 0, FAKE_build_stage_object_script_s_length);
-  const f_string_static_t fake_build_stage_object_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_shared_s, 0, FAKE_build_stage_object_shared_s_length);
-  const f_string_static_t fake_build_stage_object_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_object_static_s, 0, FAKE_build_stage_object_static_s_length);
-  const f_string_static_t fake_build_stage_objects_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_objects_static_s, 0, FAKE_build_stage_objects_static_s_length);
-  const f_string_static_t fake_build_stage_process_post_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_post_s, 0, FAKE_build_stage_process_post_s_length);
-  const f_string_static_t fake_build_stage_process_pre_s = macro_f_string_static_t_initialize(FAKE_build_stage_process_pre_s, 0, FAKE_build_stage_process_pre_s_length);
-  const f_string_static_t fake_build_stage_program_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_script_s, 0, FAKE_build_stage_program_script_s_length);
-  const f_string_static_t fake_build_stage_program_shared_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_shared_s, 0, FAKE_build_stage_program_shared_s_length);
-  const f_string_static_t fake_build_stage_program_static_s = macro_f_string_static_t_initialize(FAKE_build_stage_program_static_s, 0, FAKE_build_stage_program_static_s_length);
-  const f_string_static_t fake_build_stage_separate_s = macro_f_string_static_t_initialize(FAKE_build_stage_separate_s, 0, FAKE_build_stage_separate_s_length);
-  const f_string_static_t fake_build_stage_skeleton_s = macro_f_string_static_t_initialize(FAKE_build_stage_skeleton_s, 0, FAKE_build_stage_skeleton_s_length);
-  const f_string_static_t fake_build_stage_sources_documentation_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_documentation_s, 0, FAKE_build_stage_sources_documentation_s_length);
-  const f_string_static_t fake_build_stage_sources_headers_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_headers_s, 0, FAKE_build_stage_sources_headers_s_length);
-  const f_string_static_t fake_build_stage_sources_script_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_script_s, 0, FAKE_build_stage_sources_script_s_length);
-  const f_string_static_t fake_build_stage_sources_settings_s = macro_f_string_static_t_initialize(FAKE_build_stage_sources_settings_s, 0, FAKE_build_stage_sources_settings_s_length);
-#endif // _di_fake_build_stage_t_
-
-#ifndef _di_fake_build_parameter_
-  const f_string_static_t fake_build_parameter_library_include_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_include_s, 0, FAKE_build_parameter_library_include_s_length);
-  const f_string_static_t fake_build_parameter_library_link_file_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_file_s, 0, FAKE_build_parameter_library_link_file_s_length);
-  const f_string_static_t fake_build_parameter_library_link_path_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_link_path_s, 0, FAKE_build_parameter_library_link_path_s_length);
-  const f_string_static_t fake_build_parameter_library_name_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_prefix_s, 0, FAKE_build_parameter_library_name_prefix_s_length);
-  const f_string_static_t fake_build_parameter_library_name_suffix_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_shared_s, 0, FAKE_build_parameter_library_name_suffix_shared_s_length);
-  const f_string_static_t fake_build_parameter_library_name_suffix_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_name_suffix_static_s, 0, FAKE_build_parameter_library_name_suffix_static_s_length);
-  const f_string_static_t fake_build_parameter_library_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_output_s, 0, FAKE_build_parameter_library_output_s_length);
-  const f_string_static_t fake_build_parameter_library_shared_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_s, 0, FAKE_build_parameter_library_shared_s_length);
-  const f_string_static_t fake_build_parameter_library_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_static_s, 0, FAKE_build_parameter_library_static_s_length);
-  const f_string_static_t fake_build_parameter_library_shared_prefix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_library_shared_prefix_s, 0, FAKE_build_parameter_library_shared_prefix_s_length);
-
-  const f_string_static_t fake_build_parameter_object_compile_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_compile_s, 0, FAKE_build_parameter_object_compile_s_length);
-  const f_string_static_t fake_build_parameter_object_name_suffix_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_name_suffix_s, 0, FAKE_build_parameter_object_name_suffix_s_length);
-  const f_string_static_t fake_build_parameter_object_output_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_output_s, 0, FAKE_build_parameter_object_output_s_length);
-  const f_string_static_t fake_build_parameter_object_static_s = macro_f_string_static_t_initialize(FAKE_build_parameter_object_static_s, 0, FAKE_build_parameter_object_static_s_length);
-#endif // _di_fake_build_parameter_
-
-#ifndef _di_fake_common_
-  const f_string_static_t fake_common_file_path_access_s = macro_f_string_static_t_initialize(FAKE_common_file_path_access_s, 0, FAKE_common_file_path_access_s_length);
-  const f_string_static_t fake_common_file_directory_copy_s = macro_f_string_static_t_initialize(FAKE_common_file_directory_copy_s, 0, FAKE_common_file_directory_copy_s_length);
-  const f_string_static_t fake_common_file_path_change_to_s = macro_f_string_static_t_initialize(FAKE_common_file_path_change_to_s, 0, FAKE_common_file_path_change_to_s_length);
-  const f_string_static_t fake_common_file_path_determine_real_s = macro_f_string_static_t_initialize(FAKE_common_file_path_determine_real_s, 0, FAKE_common_file_path_determine_real_s_length);
-  const f_string_static_t fake_common_file_path_stack_s = macro_f_string_static_t_initialize(FAKE_common_file_path_stack_s, 0, FAKE_common_file_path_stack_s_length);
-  const f_string_static_t fake_common_file_populate_pre_s = macro_f_string_static_t_initialize(FAKE_common_file_populate_pre_s, 0, FAKE_common_file_populate_pre_s_length);
-
-  const f_string_static_t fake_common_setting_bool_yes_s = macro_f_string_static_t_initialize(FAKE_common_setting_bool_yes_s, 0, FAKE_common_setting_bool_yes_s_length);
-  const f_string_static_t fake_common_setting_bool_no_s = macro_f_string_static_t_initialize(FAKE_common_setting_bool_no_s, 0, FAKE_common_setting_bool_no_s_length);
-
-  const f_string_static_t fake_common_setting_list_s = macro_f_string_static_t_initialize(FAKE_common_setting_list_s, 0, FAKE_common_setting_list_s_length);
-#endif // _di_fake_common_
-
-#ifndef _di_fake_make_section_
-  const f_string_static_t fake_make_section_main_s = macro_f_string_static_t_initialize(FAKE_make_section_main_s, 0, FAKE_make_section_main_s_length);
-  const f_string_static_t fake_make_section_settings_s = macro_f_string_static_t_initialize(FAKE_make_section_settings_s, 0, FAKE_make_section_settings_s_length);
-#endif // _di_fake_make_section_
-
-#ifndef _di_fake_make_setting_t_
-  const f_string_static_t fake_make_setting_compiler_s = macro_f_string_static_t_initialize(FAKE_make_setting_compiler_s, 0, FAKE_make_setting_compiler_s_length);
-  const f_string_static_t fake_make_setting_define_s = macro_f_string_static_t_initialize(FAKE_make_setting_define_s, 0, FAKE_make_setting_define_s_length);
-  const f_string_static_t fake_make_setting_environment_s = macro_f_string_static_t_initialize(FAKE_make_setting_environment_s, 0, FAKE_make_setting_environment_s_length);
-  const f_string_static_t fake_make_setting_fail_s = macro_f_string_static_t_initialize(FAKE_make_setting_fail_s, 0, FAKE_make_setting_fail_s_length);
-  const f_string_static_t fake_make_setting_indexer_s = macro_f_string_static_t_initialize(FAKE_make_setting_indexer_s, 0, FAKE_make_setting_indexer_s_length);
-  const f_string_static_t fake_make_setting_indexer_arguments_s = macro_f_string_static_t_initialize(FAKE_make_setting_indexer_arguments_s, 0, FAKE_make_setting_indexer_arguments_s_length);
-  const f_string_static_t fake_make_setting_load_build_s = macro_f_string_static_t_initialize(FAKE_make_setting_load_build_s, 0, FAKE_make_setting_load_build_s_length);
-  const f_string_static_t fake_make_setting_parameter_s = macro_f_string_static_t_initialize(FAKE_make_setting_parameter_s, 0, FAKE_make_setting_parameter_s_length);
-  const f_string_static_t fake_make_setting_return_s = macro_f_string_static_t_initialize(FAKE_make_setting_return_s, 0, FAKE_make_setting_return_s_length);
-#endif // _di_fake_make_setting_t_
-
-#ifndef _di_fake_make_operation_
-  const f_string_static_t fake_make_operation_and_s = macro_f_string_static_t_initialize(FAKE_make_operation_and_s, 0, FAKE_make_operation_and_s_length);
-  const f_string_static_t fake_make_operation_break_s = macro_f_string_static_t_initialize(FAKE_make_operation_break_s, 0, FAKE_make_operation_break_s_length);
-  const f_string_static_t fake_make_operation_build_s = macro_f_string_static_t_initialize(FAKE_make_operation_build_s, 0, FAKE_make_operation_build_s_length);
-  const f_string_static_t fake_make_operation_clean_s = macro_f_string_static_t_initialize(FAKE_make_operation_clean_s, 0, FAKE_make_operation_clean_s_length);
-  const f_string_static_t fake_make_operation_clone_s = macro_f_string_static_t_initialize(FAKE_make_operation_clone_s, 0, FAKE_make_operation_clone_s_length);
-  const f_string_static_t fake_make_operation_compile_s = macro_f_string_static_t_initialize(FAKE_make_operation_compile_s, 0, FAKE_make_operation_compile_s_length);
-  const f_string_static_t fake_make_operation_copy_s = macro_f_string_static_t_initialize(FAKE_make_operation_copy_s, 0, FAKE_make_operation_copy_s_length);
-  const f_string_static_t fake_make_operation_define_s = macro_f_string_static_t_initialize(FAKE_make_operation_define_s, 0, FAKE_make_operation_define_s_length);
-  const f_string_static_t fake_make_operation_delete_s = macro_f_string_static_t_initialize(FAKE_make_operation_delete_s, 0, FAKE_make_operation_delete_s_length);
-  const f_string_static_t fake_make_operation_deletes_s = macro_f_string_static_t_initialize(FAKE_make_operation_deletes_s, 0, FAKE_make_operation_deletes_s_length);
-  const f_string_static_t fake_make_operation_else_s = macro_f_string_static_t_initialize(FAKE_make_operation_else_s, 0, FAKE_make_operation_else_s_length);
-  const f_string_static_t fake_make_operation_exit_s = macro_f_string_static_t_initialize(FAKE_make_operation_exit_s, 0, FAKE_make_operation_exit_s_length);
-  const f_string_static_t fake_make_operation_fail_s = macro_f_string_static_t_initialize(FAKE_make_operation_fail_s, 0, FAKE_make_operation_fail_s_length);
-  const f_string_static_t fake_make_operation_group_s = macro_f_string_static_t_initialize(FAKE_make_operation_group_s, 0, FAKE_make_operation_group_s_length);
-  const f_string_static_t fake_make_operation_groups_s = macro_f_string_static_t_initialize(FAKE_make_operation_groups_s, 0, FAKE_make_operation_groups_s_length);
-  const f_string_static_t fake_make_operation_if_s = macro_f_string_static_t_initialize(FAKE_make_operation_if_s, 0, FAKE_make_operation_if_s_length);
-  const f_string_static_t fake_make_operation_index_s = macro_f_string_static_t_initialize(FAKE_make_operation_index_s, 0, FAKE_make_operation_index_s_length);
-  const f_string_static_t fake_make_operation_link_s = macro_f_string_static_t_initialize(FAKE_make_operation_link_s, 0, FAKE_make_operation_link_s_length);
-  const f_string_static_t fake_make_operation_mode_s = macro_f_string_static_t_initialize(FAKE_make_operation_mode_s, 0, FAKE_make_operation_mode_s_length);
-  const f_string_static_t fake_make_operation_modes_s = macro_f_string_static_t_initialize(FAKE_make_operation_modes_s, 0, FAKE_make_operation_modes_s_length);
-  const f_string_static_t fake_make_operation_move_s = macro_f_string_static_t_initialize(FAKE_make_operation_move_s, 0, FAKE_make_operation_move_s_length);
-  const f_string_static_t fake_make_operation_operate_s = macro_f_string_static_t_initialize(FAKE_make_operation_operate_s, 0, FAKE_make_operation_operate_s_length);
-  const f_string_static_t fake_make_operation_or_s = macro_f_string_static_t_initialize(FAKE_make_operation_or_s, 0, FAKE_make_operation_or_s_length);
-  const f_string_static_t fake_make_operation_owner_s = macro_f_string_static_t_initialize(FAKE_make_operation_owner_s, 0, FAKE_make_operation_owner_s_length);
-  const f_string_static_t fake_make_operation_owners_s = macro_f_string_static_t_initialize(FAKE_make_operation_owners_s, 0, FAKE_make_operation_owners_s_length);
-  const f_string_static_t fake_make_operation_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_parameter_s, 0, FAKE_make_operation_parameter_s_length);
-  const f_string_static_t fake_make_operation_pop_s = macro_f_string_static_t_initialize(FAKE_make_operation_pop_s, 0, FAKE_make_operation_pop_s_length);
-  const f_string_static_t fake_make_operation_print_s = macro_f_string_static_t_initialize(FAKE_make_operation_print_s, 0, FAKE_make_operation_print_s_length);
-  const f_string_static_t fake_make_operation_run_s = macro_f_string_static_t_initialize(FAKE_make_operation_run_s, 0, FAKE_make_operation_run_s_length);
-  const f_string_static_t fake_make_operation_shell_s = macro_f_string_static_t_initialize(FAKE_make_operation_shell_s, 0, FAKE_make_operation_shell_s_length);
-  const f_string_static_t fake_make_operation_skeleton_s = macro_f_string_static_t_initialize(FAKE_make_operation_skeleton_s, 0, FAKE_make_operation_skeleton_s_length);
-  const f_string_static_t fake_make_operation_to_s = macro_f_string_static_t_initialize(FAKE_make_operation_to_s, 0, FAKE_make_operation_to_s_length);
-  const f_string_static_t fake_make_operation_top_s = macro_f_string_static_t_initialize(FAKE_make_operation_top_s, 0, FAKE_make_operation_top_s_length);
-  const f_string_static_t fake_make_operation_touch_s = macro_f_string_static_t_initialize(FAKE_make_operation_touch_s, 0, FAKE_make_operation_touch_s_length);
-  const f_string_static_t fake_make_operation_write_s = macro_f_string_static_t_initialize(FAKE_make_operation_write_s, 0, FAKE_make_operation_write_s_length);
-
-  const f_string_static_t fake_make_operation_argument_directory_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_directory_s, 0, FAKE_make_operation_argument_directory_s_length);
-  const f_string_static_t fake_make_operation_argument_environment_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_environment_s, 0, FAKE_make_operation_argument_environment_s_length);
-  const f_string_static_t fake_make_operation_argument_error_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_error_s, 0, FAKE_make_operation_argument_error_s_length);
-  const f_string_static_t fake_make_operation_argument_exit_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_exit_s, 0, FAKE_make_operation_argument_exit_s_length);
-  const f_string_static_t fake_make_operation_argument_failure_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_failure_s, 0, FAKE_make_operation_argument_failure_s_length);
-  const f_string_static_t fake_make_operation_argument_file_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_file_s, 0, FAKE_make_operation_argument_file_s_length);
-  const f_string_static_t fake_make_operation_argument_force_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_force_s, 0, FAKE_make_operation_argument_force_s_length);
-  const f_string_static_t fake_make_operation_argument_has_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_has_s, 0, FAKE_make_operation_argument_has_s_length);
-  const f_string_static_t fake_make_operation_argument_ignore_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_ignore_s, 0, FAKE_make_operation_argument_ignore_s_length);
-  const f_string_static_t fake_make_operation_argument_is_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_is_s, 0, FAKE_make_operation_argument_is_s_length);
-  const f_string_static_t fake_make_operation_argument_no_dereference_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_no_dereference_s, 0, FAKE_make_operation_argument_no_dereference_s_length);
-  const f_string_static_t fake_make_operation_argument_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_parameter_s, 0, FAKE_make_operation_argument_parameter_s_length);
-  const f_string_static_t fake_make_operation_argument_point_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_point_s, 0, FAKE_make_operation_argument_point_s_length);
-  const f_string_static_t fake_make_operation_argument_recursive_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_recursive_s, 0, FAKE_make_operation_argument_recursive_s_length);
-  const f_string_static_t fake_make_operation_argument_strict_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_strict_s, 0, FAKE_make_operation_argument_strict_s_length);
-  const f_string_static_t fake_make_operation_argument_success_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_success_s, 0, FAKE_make_operation_argument_success_s_length);
-  const f_string_static_t fake_make_operation_argument_target_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_target_s, 0, FAKE_make_operation_argument_target_s_length);
-  const f_string_static_t fake_make_operation_argument_warn_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_warn_s, 0, FAKE_make_operation_argument_warn_s_length);
-
-  const f_string_static_t fake_make_operation_argument_if_define_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_define_s, 0, FAKE_make_operation_argument_if_define_s_length);
-  const f_string_static_t fake_make_operation_argument_if_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_equal_s, 0, FAKE_make_operation_argument_if_equal_s_length);
-  const f_string_static_t fake_make_operation_argument_if_equal_not_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_equal_not_s, 0, FAKE_make_operation_argument_if_equal_not_s_length);
-  const f_string_static_t fake_make_operation_argument_if_exist_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_exist_s, 0, FAKE_make_operation_argument_if_exist_s_length);
-  const f_string_static_t fake_make_operation_argument_if_failure_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_failure_s, 0, FAKE_make_operation_argument_if_failure_s_length);
-  const f_string_static_t fake_make_operation_argument_if_greater_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_greater_s, 0, FAKE_make_operation_argument_if_greater_s_length);
-  const f_string_static_t fake_make_operation_argument_if_greater_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_greater_equal_s, 0, FAKE_make_operation_argument_if_greater_equal_s_length);
-  const f_string_static_t fake_make_operation_argument_if_group_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_group_s, 0, FAKE_make_operation_argument_if_group_s_length);
-  const f_string_static_t fake_make_operation_argument_if_is_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_is_s, 0, FAKE_make_operation_argument_if_is_s_length);
-  const f_string_static_t fake_make_operation_argument_if_is_for_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_is_for_s, 0, FAKE_make_operation_argument_if_is_for_s_length);
-  const f_string_static_t fake_make_operation_argument_if_less_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_less_s, 0, FAKE_make_operation_argument_if_less_s_length);
-  const f_string_static_t fake_make_operation_argument_if_less_equal_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_less_equal_s, 0, FAKE_make_operation_argument_if_less_equal_s_length);
-  const f_string_static_t fake_make_operation_argument_if_mode_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_mode_s, 0, FAKE_make_operation_argument_if_mode_s_length);
-  const f_string_static_t fake_make_operation_argument_if_not_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_not_s, 0, FAKE_make_operation_argument_if_not_s_length);
-  const f_string_static_t fake_make_operation_argument_if_owner_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_owner_s, 0, FAKE_make_operation_argument_if_owner_s_length);
-  const f_string_static_t fake_make_operation_argument_if_parameter_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_parameter_s, 0, FAKE_make_operation_argument_if_parameter_s_length);
-  const f_string_static_t fake_make_operation_argument_if_success_s = macro_f_string_static_t_initialize(FAKE_make_operation_argument_if_success_s, 0, FAKE_make_operation_argument_if_success_s_length);
-#endif // _di_fake_make_operation_
-
-#ifndef _di_fake_make_parameter_t_
-  const f_string_static_t fake_make_parameter_iki_option_s = macro_f_string_static_t_initialize(FAKE_make_parameter_iki_option_s, 0, FAKE_make_parameter_iki_option_s_length);
-  const f_string_static_t fake_make_parameter_iki_value_s = macro_f_string_static_t_initialize(FAKE_make_parameter_iki_value_s, 0, FAKE_make_parameter_iki_value_s_length);
-
-  const f_string_static_t fake_make_parameter_variable_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_build_s, 0, FAKE_make_parameter_variable_build_s_length);
-  const f_string_static_t fake_make_parameter_variable_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_color_s, 0, FAKE_make_parameter_variable_color_s_length);
-  const f_string_static_t fake_make_parameter_variable_current_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_current_s, 0, FAKE_make_parameter_variable_current_s_length);
-  const f_string_static_t fake_make_parameter_variable_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_data_s, 0, FAKE_make_parameter_variable_data_s_length);
-  const f_string_static_t fake_make_parameter_variable_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_define_s, 0, FAKE_make_parameter_variable_define_s_length);
-  const f_string_static_t fake_make_parameter_variable_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_documents_s, 0, FAKE_make_parameter_variable_documents_s_length);
-  const f_string_static_t fake_make_parameter_variable_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_fakefile_s, 0, FAKE_make_parameter_variable_fakefile_s_length);
-  const f_string_static_t fake_make_parameter_variable_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_licenses_s, 0, FAKE_make_parameter_variable_licenses_s_length);
-  const f_string_static_t fake_make_parameter_variable_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_mode_s, 0, FAKE_make_parameter_variable_mode_s_length);
-  const f_string_static_t fake_make_parameter_variable_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_process_s, 0, FAKE_make_parameter_variable_process_s_length);
-  const f_string_static_t fake_make_parameter_variable_return_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_return_s, 0, FAKE_make_parameter_variable_return_s_length);
-  const f_string_static_t fake_make_parameter_variable_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_settings_s, 0, FAKE_make_parameter_variable_settings_s_length);
-  const f_string_static_t fake_make_parameter_variable_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_sources_s, 0, FAKE_make_parameter_variable_sources_s_length);
-  const f_string_static_t fake_make_parameter_variable_top_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_top_s, 0, FAKE_make_parameter_variable_top_s_length);
-  const f_string_static_t fake_make_parameter_variable_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_verbosity_s, 0, FAKE_make_parameter_variable_verbosity_s_length);
-  const f_string_static_t fake_make_parameter_variable_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_work_s, 0, FAKE_make_parameter_variable_work_s_length);
-
-  const f_string_static_t fake_make_parameter_variable_option_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_build_s, 0, FAKE_make_parameter_variable_option_build_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_color_s, 0, FAKE_make_parameter_variable_option_color_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_data_s, 0, FAKE_make_parameter_variable_option_data_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_define_s, 0, FAKE_make_parameter_variable_option_define_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_documents_s, 0, FAKE_make_parameter_variable_option_documents_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_fakefile_s, 0, FAKE_make_parameter_variable_option_fakefile_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_licenses_s, 0, FAKE_make_parameter_variable_option_licenses_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_mode_s, 0, FAKE_make_parameter_variable_option_mode_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_process_s, 0, FAKE_make_parameter_variable_option_process_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_settings_s, 0, FAKE_make_parameter_variable_option_settings_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_sources_s, 0, FAKE_make_parameter_variable_option_sources_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_verbosity_s, 0, FAKE_make_parameter_variable_option_verbosity_s_length);
-  const f_string_static_t fake_make_parameter_variable_option_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_work_s, 0, FAKE_make_parameter_variable_option_work_s_length);
-
-  const f_string_static_t fake_make_parameter_variable_value_build_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_build_s, 0, FAKE_make_parameter_variable_value_build_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_color_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_color_s, 0, FAKE_make_parameter_variable_value_color_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_data_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_data_s, 0, FAKE_make_parameter_variable_value_data_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_define_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_define_s, 0, FAKE_make_parameter_variable_value_define_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_documents_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_documents_s, 0, FAKE_make_parameter_variable_value_documents_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_fakefile_s, 0, FAKE_make_parameter_variable_value_fakefile_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_licenses_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_licenses_s, 0, FAKE_make_parameter_variable_value_licenses_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_mode_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_mode_s, 0, FAKE_make_parameter_variable_value_mode_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_process_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_process_s, 0, FAKE_make_parameter_variable_value_process_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_settings_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_settings_s, 0, FAKE_make_parameter_variable_value_settings_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_sources_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_sources_s, 0, FAKE_make_parameter_variable_value_sources_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_verbosity_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_verbosity_s, 0, FAKE_make_parameter_variable_value_verbosity_s_length);
-  const f_string_static_t fake_make_parameter_variable_value_work_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_work_s, 0, FAKE_make_parameter_variable_value_work_s_length);
-#endif // _di_fake_make_parameter_t_
-
-#ifndef _di_fake_skeleton_content_
-  const f_string_static_t fake_make_skeleton_content_defines_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_defines_s, 0, FAKE_make_skeleton_content_defines_s_length);
-  const f_string_static_t fake_make_skeleton_content_dependencies_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_dependencies_s, 0, FAKE_make_skeleton_content_dependencies_s_length);
-  const f_string_static_t fake_make_skeleton_content_fakefile_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_fakefile_s, 0, FAKE_make_skeleton_content_fakefile_s_length);
-  const f_string_static_t fake_make_skeleton_content_process_post_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_process_post_s, 0, FAKE_make_skeleton_content_process_post_s_length);
-  const f_string_static_t fake_make_skeleton_content_process_pre_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_process_pre_s, 0, FAKE_make_skeleton_content_process_pre_s_length);
-  const f_string_static_t fake_make_skeleton_content_settings_s = macro_f_string_static_t_initialize(FAKE_make_skeleton_content_settings_s, 0, FAKE_make_skeleton_content_settings_s_length);
-#endif // _di_fake_skeleton_content_
-
-#ifndef _di_fake_make_context_
-  const f_string_static_t fake_make_context_error_s = macro_f_string_static_t_initialize(FAKE_make_context_error_s, 0, FAKE_make_context_error_s_length);
-  const f_string_static_t fake_make_context_important_s = macro_f_string_static_t_initialize(FAKE_make_context_important_s, 0, FAKE_make_context_important_s_length);
-  const f_string_static_t fake_make_context_normal_s = macro_f_string_static_t_initialize(FAKE_make_context_normal_s, 0, FAKE_make_context_normal_s_length);
-  const f_string_static_t fake_make_context_notable_s = macro_f_string_static_t_initialize(FAKE_make_context_notable_s, 0, FAKE_make_context_notable_s_length);
-  const f_string_static_t fake_make_context_reset_s = macro_f_string_static_t_initialize(FAKE_make_context_reset_s, 0, FAKE_make_context_reset_s_length);
-  const f_string_static_t fake_make_context_standout_s = macro_f_string_static_t_initialize(FAKE_make_context_standout_s, 0, FAKE_make_context_standout_s_length);
-  const f_string_static_t fake_make_context_success_s = macro_f_string_static_t_initialize(FAKE_make_context_success_s, 0, FAKE_make_context_success_s_length);
-  const f_string_static_t fake_make_context_title_s = macro_f_string_static_t_initialize(FAKE_make_context_title_s, 0, FAKE_make_context_title_s_length);
-  const f_string_static_t fake_make_context_warning_s = macro_f_string_static_t_initialize(FAKE_make_context_warning_s, 0, FAKE_make_context_warning_s_length);
-#endif // _di_fake_make_context_
-
-#ifndef _di_fake_file_data_build_strings_
-  const f_string_static_t fake_file_data_build_process_post_s = macro_f_string_static_t_initialize(FAKE_file_data_build_process_post_s, 0, FAKE_file_data_build_process_post_s_length);
-  const f_string_static_t fake_file_data_build_process_pre_s = macro_f_string_static_t_initialize(FAKE_file_data_build_process_pre_s, 0, FAKE_file_data_build_process_pre_s_length);
-#endif // _di_fake_file_data_build_strings_
-
-#ifndef _di_fake_data_delete_
-  f_status_t fake_data_delete(fake_data_t * const data) {
-
-    f_string_dynamic_resize(0, &data->path_build);
-    f_string_dynamic_resize(0, &data->path_build_documentation);
-    f_string_dynamic_resize(0, &data->path_build_documents);
-    f_string_dynamic_resize(0, &data->path_build_includes);
-    f_string_dynamic_resize(0, &data->path_build_libraries);
-    f_string_dynamic_resize(0, &data->path_build_libraries_script);
-    f_string_dynamic_resize(0, &data->path_build_libraries_shared);
-    f_string_dynamic_resize(0, &data->path_build_libraries_static);
-    f_string_dynamic_resize(0, &data->path_build_objects);
-    f_string_dynamic_resize(0, &data->path_build_objects_script);
-    f_string_dynamic_resize(0, &data->path_build_objects_shared);
-    f_string_dynamic_resize(0, &data->path_build_objects_static);
-    f_string_dynamic_resize(0, &data->path_build_programs);
-    f_string_dynamic_resize(0, &data->path_build_programs_script);
-    f_string_dynamic_resize(0, &data->path_build_programs_shared);
-    f_string_dynamic_resize(0, &data->path_build_programs_static);
-    f_string_dynamic_resize(0, &data->path_build_settings);
-    f_string_dynamic_resize(0, &data->path_build_stage);
-
-    f_string_dynamic_resize(0, &data->path_data_build);
-    f_string_dynamic_resize(0, &data->path_data_documentation);
-    f_string_dynamic_resize(0, &data->path_data_settings);
-
-    f_string_dynamic_resize(0, &data->path_documents);
-
-    f_string_dynamic_resize(0, &data->path_licenses);
-
-    f_string_dynamic_resize(0, &data->path_work_includes);
-    f_string_dynamic_resize(0, &data->path_work_libraries);
-    f_string_dynamic_resize(0, &data->path_work_libraries_script);
-    f_string_dynamic_resize(0, &data->path_work_libraries_shared);
-    f_string_dynamic_resize(0, &data->path_work_libraries_static);
-    f_string_dynamic_resize(0, &data->path_work_programs);
-    f_string_dynamic_resize(0, &data->path_work_programs_script);
-    f_string_dynamic_resize(0, &data->path_work_programs_shared);
-    f_string_dynamic_resize(0, &data->path_work_programs_static);
-
-    f_string_dynamic_resize(0, &data->file_data_build_defines);
-    f_string_dynamic_resize(0, &data->file_data_build_dependencies);
-    f_string_dynamic_resize(0, &data->file_data_build_process_post);
-    f_string_dynamic_resize(0, &data->file_data_build_process_pre);
-    f_string_dynamic_resize(0, &data->file_data_build_fakefile);
-    f_string_dynamic_resize(0, &data->file_data_build_settings);
-
-    f_string_dynamic_resize(0, &data->file_documents_readme);
-
-    return F_none;
-  }
-#endif // _di_fake_data_delete_
-
-#ifndef _di_fake_make_data_delete_
-  f_status_t fake_make_data_delete(fake_make_data_t * const data) {
-
-    macro_fake_build_setting_t_delete_simple(data->setting_build);
-    macro_fake_make_setting_t_delete_simple(data->setting_make);
-
-    f_string_maps_resize(0, &data->environment);
-
-    macro_fake_make_parameter_delete_simple(data->parameter);
-    macro_fake_make_parameter_delete_simple(data->parameter_option);
-    macro_fake_make_parameter_delete_simple(data->parameter_value);
-    macro_fake_make_path_delete_simple(data->path);
-
-    f_fss_nameds_resize(0, &data->fakefile);
-
-    f_string_dynamic_resize(0, &data->buffer);
-    f_string_dynamic_resize(0, &data->cache_1);
-    f_string_dynamic_resize(0, &data->cache_2);
-    f_string_dynamic_resize(0, &data->cache_path);
-
-    f_string_dynamics_resize(0, &data->cache_arguments);
-
-    f_iki_data_delete(&data->cache_iki);
-
-    return F_none;
-  }
-#endif // _di_fake_make_data_delete_
-
 #ifdef __cplusplus
 } // extern "C"
 #endif
index acacd4e761a762d1b70a4e8e41a5f5d3c28a3e8f..cf2d9a0186a6f3b8d268024a5bfc4dd1845ca3c7 100644 (file)
 extern "C" {
 #endif
 
-/**
- * The program data.
- *
- * operation: A code representing the currrent operation.
- *
- * main:    The main program data.
- * setting: The settings data.
- *
- * path_build:                  The build path.
- * path_build_documentation:    The build documentation path.
- * path_build_documents:        The build documents path.
- * path_build_includes:         The build includes path.
- * path_build_libraries:        The build libraries path.
- * path_build_libraries_script: The build libraries_script path.
- * path_build_libraries_shared: The build libraries_shared path.
- * path_build_libraries_static: The build libraries_static path.
- * path_build_objects:          The build objects path.
- * path_build_objects_script:   The build objects_script path.
- * path_build_objects_shared:   The build objects_shared path.
- * path_build_objects_static:   The build objects_static path.
- * path_build_programs:         The build programs path.
- * path_build_programs_script:  The build programs_script path.
- * path_build_programs_shared:  The build programs_shared path.
- * path_build_programs_static:  The build programs_static path.
- * path_build_settings:         The build settings path.
- * path_build_stage:            The build stage path.
- *
- * path_data_build:         The build data path.
- * path_data_documentation: The documentation data path.
- * path_data_settings:      The settings data path.
- *
- * path_documents: The documents path.
- * path_licenses:  The licenses path.
- * path_sources:   The sources path.
- *
- * path_work_includes:         The includes work path.
- * path_work_libraries:        The libraries work path.
- * path_work_libraries_script: The libraries_script work path.
- * path_work_libraries_shared: The libraries_shared work path.
- * path_work_libraries_static: The libraries_static work path.
- * path_work_programs:         The programs work path.
- * path_work_programs_script:  The programs_script work path.
- * path_work_programs_shared:  The programs_shared work path.
- * path_work_programs_static:  The programs_static work path.
- *
- * file_data_build_defines:      The defines build file data.
- * file_data_build_dependencies: The dependencies build file data.
- * file_data_build_fakefile:     The fakefile build file data.
- * file_data_build_process_post: The process_post_s build file data.
- * file_data_build_process_pre:  The process_pre_s build file data.
- * file_data_build_settings:     The settings build file data.
- *
- * file_documents_readme: The documents readme file data.
- */
-#ifndef _di_fake_data_t_
-  typedef struct {
-    uint8_t operation;
-
-    fll_program_data_t *main;
-    fake_setting_t *setting;
-
-    f_string_dynamic_t path_build;
-    f_string_dynamic_t path_build_documentation;
-    f_string_dynamic_t path_build_documents;
-    f_string_dynamic_t path_build_includes;
-    f_string_dynamic_t path_build_libraries;
-    f_string_dynamic_t path_build_libraries_script;
-    f_string_dynamic_t path_build_libraries_shared;
-    f_string_dynamic_t path_build_libraries_static;
-    f_string_dynamic_t path_build_objects;
-    f_string_dynamic_t path_build_objects_script;
-    f_string_dynamic_t path_build_objects_shared;
-    f_string_dynamic_t path_build_objects_static;
-    f_string_dynamic_t path_build_programs;
-    f_string_dynamic_t path_build_programs_script;
-    f_string_dynamic_t path_build_programs_shared;
-    f_string_dynamic_t path_build_programs_static;
-    f_string_dynamic_t path_build_settings;
-    f_string_dynamic_t path_build_stage;
-
-    f_string_dynamic_t path_data_build;
-    f_string_dynamic_t path_data_documentation;
-    f_string_dynamic_t path_data_settings;
-
-    f_string_dynamic_t path_documents; // @todo: make this a settings configurable parameter, moving it to fake_setting_t.
-
-    f_string_dynamic_t path_licenses; // @todo: make this a settings configurable parameter, moving it to fake_setting_t.
-
-    f_string_dynamic_t path_work_includes;
-    f_string_dynamic_t path_work_libraries;
-    f_string_dynamic_t path_work_libraries_script;
-    f_string_dynamic_t path_work_libraries_shared;
-    f_string_dynamic_t path_work_libraries_static;
-    f_string_dynamic_t path_work_programs;
-    f_string_dynamic_t path_work_programs_script;
-    f_string_dynamic_t path_work_programs_shared;
-    f_string_dynamic_t path_work_programs_static;
-
-    f_string_dynamic_t file_data_build_defines;
-    f_string_dynamic_t file_data_build_dependencies;
-    f_string_dynamic_t file_data_build_fakefile;
-    f_string_dynamic_t file_data_build_process_post;
-    f_string_dynamic_t file_data_build_process_pre;
-    f_string_dynamic_t file_data_build_settings;
-
-    f_string_dynamic_t file_documents_readme;
-  } fake_data_t;
-
-  #define fake_data_t_initialize \
-    { \
-      0, \
-      0, \
-      0, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-      f_string_dynamic_t_initialize, \
-    }
-#endif // _di_fake_main_t_
-
-/**
- * Build settings data.
- *
- * data_build_setting_flag_*:
- *   - has_environment: Designate that the "environment" is specified in the "settings" Section of the Fakefile.
- *
- * flag: Flags from data_build_setting_flag_* (Not strictly part of the build settings file).
- *
- * build_language: The build_language setting.
- *
- * version_file:   The version_file setting.
- * version_target: The version_target setting.
- *
- * build_script: The build_script setting.
- * build_shared: The build_shared setting.
- * build_static: The build_static setting.
- *
- * has_path_standard:     The has_path_standard setting.
- * preserve_path_headers: The preserve_path_headers setting.
- *
- * search_exclusive: The search_exclusive setting.
- * search_shared:    The search_shared setting.
- * search_static:    The search_static setting.
- *
- * build_compiler:              The build_compiler setting.
- * build_indexer:               The build_indexer setting.
- * build_name:                  The build_name setting.
- * build_sources_object:        The build_sources_object setting.
- * build_sources_object_shared: The build_sources_object_shared setting.
- * build_sources_object_static: The build_sources_object_static setting.
- * path_headers:                The path_headers setting.
- * path_language:               The path_language setting.
- * path_library_script:         The path_library_script setting.
- * path_library_shared:         The path_library_shared setting.
- * path_library_static:         The path_library_static setting.
- * path_object_script:          The path_object_script setting.
- * path_object_shared:          The path_object_shared setting.
- * path_object_static:          The path_object_static setting.
- * path_program_script:         The path_program_script setting.
- * path_program_shared:         The path_program_shared setting.
- * path_program_static:         The path_program_static setting.
- * path_sources:                The path_sources setting.
- * path_sources_object:         The path_sources_object setting.
- * process_post:                The process_post setting.
- * process_pre:                 The process_pre setting.
- * version_major:               The version_major setting.
- * version_major_prefix:        The version_major_prefix setting.
- * version_micro:               The version_micro setting.
- * version_micro_prefix:        The version_micro_prefix setting.
- * version_minor:               The version_minor setting.
- * version_minor_prefix:        The version_minor_prefix setting.
- * version_nano:                The version_nano setting.
- * version_nano_prefix:         The version_nano_prefix setting.
- *
- * build_indexer_arguments:      The build_indexer_arguments setting.
- * build_libraries:              The build_libraries setting.
- * build_libraries_shared:       The build_libraries_shared setting.
- * build_libraries_static:       The build_libraries_static setting.
- * build_objects_library:        The build_objects_library setting.
- * build_objects_library_shared: The build_objects_library_shared setting.
- * build_objects_library_static: The build_objects_library_static setting.
- * build_objects_program:        The build_objects_program setting.
- * build_objects_program_shared: The build_objects_program_shared setting.
- * build_objects_program_static: The build_objects_program_static setting.
- * build_sources_documentation:  The build_sources_documentation setting.
- * build_sources_headers:        The build_sources_headers setting.
- * build_sources_headers_shared: The build_sources_headers_shared setting.
- * build_sources_headers_static: The build_sources_headers_static setting.
- * build_sources_library:        The build_sources_library setting.
- * build_sources_library_shared: The build_sources_library_shared setting.
- * build_sources_library_static: The build_sources_library_static setting.
- * build_sources_program:        The build_sources_program setting.
- * build_sources_program_shared: The build_sources_program_shared setting.
- * build_sources_program_static: The build_sources_program_static setting.
- * build_sources_script:         The build_sources_script setting.
- * build_sources_setting:        The build_sources_setting setting.
- * defines:                      The defines setting.
- * defines_library:              The defines_library setting.
- * defines_library_shared:       The defines_library_shared setting.
- * defines_library_static:       The defines_library_static setting.
- * defines_object:               The defines_object setting.
- * defines_object_shared:        The defines_object_shared setting.
- * defines_object_static:        The defines_object_static setting.
- * defines_program:              The defines_program setting.
- * defines_program_shared:       The defines_program_shared setting.
- * defines_program_static:       The defines_program_static setting.
- * defines_shared:               The defines_shared setting.
- * defines_static:               The defines_static setting.
- * environment:                  The environment setting.
- * flags:                        The flags setting.
- * flags_library:                The flags_library setting.
- * flags_library_shared:         The flags_library_shared setting.
- * flags_library_static:         The flags_library_static setting.
- * flags_object:                 The flags_object setting.
- * flags_object_shared:          The flags_object_shared setting.
- * flags_object_static:          The flags_object_static setting.
- * flags_program:                The flags_program setting.
- * flags_program_shared:         The flags_program_shared setting.
- * flags_program_static:         The flags_program_static setting.
- * flags_shared:                 The flags_shared setting.
- * flags_static:                 The flags_static setting.
- * modes:                        The modes setting.
- * modes_default:                The modes_default setting.
- */
-#ifndef _di_fake_build_setting_t_
-  enum {
-    data_build_setting_flag_has_environment_e = 0x1,
-  };
-
-  typedef struct {
-    uint8_t flag;
-
-    uint8_t build_language;
-
-    uint8_t version_file;
-    uint8_t version_target;
-
-    bool build_script;
-    bool build_shared;
-    bool build_static;
-
-    bool has_path_standard;
-    bool preserve_path_headers;
-
-    bool search_exclusive;
-    bool search_shared;
-    bool search_static;
-
-    f_string_dynamic_t build_compiler;
-    f_string_dynamic_t build_indexer;
-    f_string_dynamic_t build_name;
-    f_string_dynamic_t build_sources_object;
-    f_string_dynamic_t build_sources_object_shared;
-    f_string_dynamic_t build_sources_object_static;
-    f_string_dynamic_t path_headers;
-    f_string_dynamic_t path_language;
-    f_string_dynamic_t path_library_script;
-    f_string_dynamic_t path_library_shared;
-    f_string_dynamic_t path_library_static;
-    f_string_dynamic_t path_object_script;
-    f_string_dynamic_t path_object_shared;
-    f_string_dynamic_t path_object_static;
-    f_string_dynamic_t path_program_script;
-    f_string_dynamic_t path_program_shared;
-    f_string_dynamic_t path_program_static;
-    f_string_dynamic_t path_sources;
-    f_string_dynamic_t path_sources_object;
-    f_string_dynamic_t process_post;
-    f_string_dynamic_t process_pre;
-    f_string_dynamic_t version_major;
-    f_string_dynamic_t version_major_prefix;
-    f_string_dynamic_t version_micro;
-    f_string_dynamic_t version_micro_prefix;
-    f_string_dynamic_t version_minor;
-    f_string_dynamic_t version_minor_prefix;
-    f_string_dynamic_t version_nano;
-    f_string_dynamic_t version_nano_prefix;
-
-    f_string_dynamics_t build_indexer_arguments;
-    f_string_dynamics_t build_libraries;
-    f_string_dynamics_t build_libraries_shared;
-    f_string_dynamics_t build_libraries_static;
-    f_string_dynamics_t build_objects_library;
-    f_string_dynamics_t build_objects_library_shared;
-    f_string_dynamics_t build_objects_library_static;
-    f_string_dynamics_t build_objects_program;
-    f_string_dynamics_t build_objects_program_shared;
-    f_string_dynamics_t build_objects_program_static;
-    f_string_dynamics_t build_sources_documentation;
-    f_string_dynamics_t build_sources_headers;
-    f_string_dynamics_t build_sources_headers_shared;
-    f_string_dynamics_t build_sources_headers_static;
-    f_string_dynamics_t build_sources_library;
-    f_string_dynamics_t build_sources_library_shared;
-    f_string_dynamics_t build_sources_library_static;
-    f_string_dynamics_t build_sources_program;
-    f_string_dynamics_t build_sources_program_shared;
-    f_string_dynamics_t build_sources_program_static;
-    f_string_dynamics_t build_sources_script;
-    f_string_dynamics_t build_sources_setting;
-    f_string_dynamics_t defines;
-    f_string_dynamics_t defines_library;
-    f_string_dynamics_t defines_library_shared;
-    f_string_dynamics_t defines_library_static;
-    f_string_dynamics_t defines_object;
-    f_string_dynamics_t defines_object_shared;
-    f_string_dynamics_t defines_object_static;
-    f_string_dynamics_t defines_program;
-    f_string_dynamics_t defines_program_shared;
-    f_string_dynamics_t defines_program_static;
-    f_string_dynamics_t defines_shared;
-    f_string_dynamics_t defines_static;
-    f_string_dynamics_t environment;
-    f_string_dynamics_t flags;
-    f_string_dynamics_t flags_library;
-    f_string_dynamics_t flags_library_shared;
-    f_string_dynamics_t flags_library_static;
-    f_string_dynamics_t flags_object;
-    f_string_dynamics_t flags_object_shared;
-    f_string_dynamics_t flags_object_static;
-    f_string_dynamics_t flags_program;
-    f_string_dynamics_t flags_program_shared;
-    f_string_dynamics_t flags_program_static;
-    f_string_dynamics_t flags_shared;
-    f_string_dynamics_t flags_static;
-    f_string_dynamics_t modes;
-    f_string_dynamics_t modes_default;
-  } fake_build_setting_t;
-
-  #define fake_build_setting_t_initialize { \
-    0, \
-    0, \
-    0, \
-    0, \
-    F_true, \
-    F_true, \
-    F_true, \
-    F_true, \
-    F_true, \
-    F_true, \
-    F_true, \
-    F_true, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-  }
-
-  #define macro_fake_build_setting_t_delete_simple(setting) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_compiler) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_indexer) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_name) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_sources_object) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_shared) \
-    macro_f_string_dynamic_t_delete_simple(setting.build_sources_object_static) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_headers) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_language) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_library_script) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_library_shared) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_library_static) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_object_script) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_object_shared) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_object_static) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_program_script) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_program_shared) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_program_static) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_sources) \
-    macro_f_string_dynamic_t_delete_simple(setting.path_sources_object) \
-    macro_f_string_dynamic_t_delete_simple(setting.process_post) \
-    macro_f_string_dynamic_t_delete_simple(setting.process_pre) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_major) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_major_prefix) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_micro) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_micro_prefix) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_minor) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_minor_prefix) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_nano) \
-    macro_f_string_dynamic_t_delete_simple(setting.version_nano_prefix) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_indexer_arguments) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_libraries) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_libraries_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_libraries_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_library) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_library_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_program) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_objects_program_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_documentation) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_headers_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_library) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_library_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_program) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_program_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_script) \
-    macro_f_string_dynamics_t_delete_simple(setting.build_sources_setting) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_library) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_library_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_library_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_object) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_object_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_object_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_program) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_program_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_program_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.defines_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.environment) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_library) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_library_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_library_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_object) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_object_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_object_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_program) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_program_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_program_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_shared) \
-    macro_f_string_dynamics_t_delete_simple(setting.flags_static) \
-    macro_f_string_dynamics_t_delete_simple(setting.modes) \
-    macro_f_string_dynamics_t_delete_simple(setting.modes_default)
-
-  #define FAKE_build_setting_default_ar_s             "ar"
-  #define FAKE_build_setting_default_gcc_s            "gcc"
-  #define FAKE_build_setting_default_version_s        "0"
-  #define FAKE_build_setting_default_version_prefix_s "."
-  #define FAKE_build_setting_default_yes_s            "yes"
-
-  #define FAKE_build_setting_name_build_compiler_s               "build_compiler"
-  #define FAKE_build_setting_name_build_indexer_s                "build_indexer"
-  #define FAKE_build_setting_name_build_indexer_arguments_s      "build_indexer_arguments"
-  #define FAKE_build_setting_name_build_language_s               "build_language"
-  #define FAKE_build_setting_name_build_libraries_s              "build_libraries"
-  #define FAKE_build_setting_name_build_libraries_shared_s       "build_libraries_shared"
-  #define FAKE_build_setting_name_build_libraries_static_s       "build_libraries_static"
-  #define FAKE_build_setting_name_build_name_s                   "build_name"
-  #define FAKE_build_setting_name_build_objects_library_s        "build_objects_library"
-  #define FAKE_build_setting_name_build_objects_library_shared_s "build_objects_library_shared"
-  #define FAKE_build_setting_name_build_objects_library_static_s "build_objects_library_static"
-  #define FAKE_build_setting_name_build_objects_program_s        "build_objects_program"
-  #define FAKE_build_setting_name_build_objects_program_shared_s "build_objects_program_shared"
-  #define FAKE_build_setting_name_build_objects_program_static_s "build_objects_program_static"
-  #define FAKE_build_setting_name_build_script_s                 "build_script"
-  #define FAKE_build_setting_name_build_shared_s                 "build_shared"
-  #define FAKE_build_setting_name_build_sources_documentation_s  "build_sources_documentation"
-  #define FAKE_build_setting_name_build_sources_headers_s        "build_sources_headers"
-  #define FAKE_build_setting_name_build_sources_headers_shared_s "build_sources_headers_shared"
-  #define FAKE_build_setting_name_build_sources_headers_static_s "build_sources_headers_static"
-  #define FAKE_build_setting_name_build_sources_library_s        "build_sources_library"
-  #define FAKE_build_setting_name_build_sources_library_shared_s "build_sources_library_shared"
-  #define FAKE_build_setting_name_build_sources_library_static_s "build_sources_library_static"
-  #define FAKE_build_setting_name_build_sources_object_s         "build_sources_object"
-  #define FAKE_build_setting_name_build_sources_object_shared_s  "build_sources_object_shared"
-  #define FAKE_build_setting_name_build_sources_object_static_s  "build_sources_object_static"
-  #define FAKE_build_setting_name_build_sources_program_s        "build_sources_program"
-  #define FAKE_build_setting_name_build_sources_program_shared_s "build_sources_program_shared"
-  #define FAKE_build_setting_name_build_sources_program_static_s "build_sources_program_static"
-  #define FAKE_build_setting_name_build_sources_script_s         "build_sources_script"
-  #define FAKE_build_setting_name_build_sources_setting_s        "build_sources_setting"
-  #define FAKE_build_setting_name_build_static_s                 "build_static"
-  #define FAKE_build_setting_name_defines_s                      "defines"
-  #define FAKE_build_setting_name_defines_library_s              "defines_library"
-  #define FAKE_build_setting_name_defines_library_shared_s       "defines_library_shared"
-  #define FAKE_build_setting_name_defines_library_static_s       "defines_library_static"
-  #define FAKE_build_setting_name_defines_object_s               "defines_object"
-  #define FAKE_build_setting_name_defines_object_shared_s        "defines_object_shared"
-  #define FAKE_build_setting_name_defines_object_static_s        "defines_object_static"
-  #define FAKE_build_setting_name_defines_program_s              "defines_program"
-  #define FAKE_build_setting_name_defines_program_shared_s       "defines_program_shared"
-  #define FAKE_build_setting_name_defines_program_static_s       "defines_program_static"
-  #define FAKE_build_setting_name_defines_shared_s               "defines_shared"
-  #define FAKE_build_setting_name_defines_static_s               "defines_static"
-  #define FAKE_build_setting_name_environment_s                  "environment"
-  #define FAKE_build_setting_name_flags_s                        "flags"
-  #define FAKE_build_setting_name_flags_library_s                "flags_library"
-  #define FAKE_build_setting_name_flags_library_shared_s         "flags_library_shared"
-  #define FAKE_build_setting_name_flags_library_static_s         "flags_library_static"
-  #define FAKE_build_setting_name_flags_object_s                 "flags_object"
-  #define FAKE_build_setting_name_flags_object_shared_s          "flags_object_shared"
-  #define FAKE_build_setting_name_flags_object_static_s          "flags_object_static"
-  #define FAKE_build_setting_name_flags_program_s                "flags_program"
-  #define FAKE_build_setting_name_flags_program_shared_s         "flags_program_shared"
-  #define FAKE_build_setting_name_flags_program_static_s         "flags_program_static"
-  #define FAKE_build_setting_name_flags_shared_s                 "flags_shared"
-  #define FAKE_build_setting_name_flags_static_s                 "flags_static"
-  #define FAKE_build_setting_name_has_path_standard_s            "has_path_standard"
-  #define FAKE_build_setting_name_modes_s                        "modes"
-  #define FAKE_build_setting_name_modes_default_s                "modes_default"
-  #define FAKE_build_setting_name_path_headers_s                 "path_headers"
-  #define FAKE_build_setting_name_path_language_s                "path_language"
-  #define FAKE_build_setting_name_path_library_script_s          "path_library_script"
-  #define FAKE_build_setting_name_path_library_shared_s          "path_library_shared"
-  #define FAKE_build_setting_name_path_library_static_s          "path_library_static"
-  #define FAKE_build_setting_name_path_object_script_s           "path_object_script"
-  #define FAKE_build_setting_name_path_object_shared_s           "path_object_shared"
-  #define FAKE_build_setting_name_path_object_static_s           "path_object_static"
-  #define FAKE_build_setting_name_path_program_script_s          "path_program_script"
-  #define FAKE_build_setting_name_path_program_shared_s          "path_program_shared"
-  #define FAKE_build_setting_name_path_program_static_s          "path_program_static"
-  #define FAKE_build_setting_name_path_sources_s                 "path_sources"
-  #define FAKE_build_setting_name_path_sources_object_s          "path_sources_object"
-  #define FAKE_build_setting_name_preserve_path_headers_s        "preserve_path_headers"
-  #define FAKE_build_setting_name_process_post_s                 "process_post"
-  #define FAKE_build_setting_name_process_pre_s                  "process_pre"
-  #define FAKE_build_setting_name_search_exclusive_s             "search_exclusive"
-  #define FAKE_build_setting_name_search_shared_s                "search_shared"
-  #define FAKE_build_setting_name_search_static_s                "search_static"
-  #define FAKE_build_setting_name_version_file_s                 "version_file"
-  #define FAKE_build_setting_name_version_major_s                "version_major"
-  #define FAKE_build_setting_name_version_major_prefix_s         "version_major_prefix"
-  #define FAKE_build_setting_name_version_micro_s                "version_micro"
-  #define FAKE_build_setting_name_version_micro_prefix_s         "version_micro_prefix"
-  #define FAKE_build_setting_name_version_minor_s                "version_minor"
-  #define FAKE_build_setting_name_version_minor_prefix_s         "version_minor_prefix"
-  #define FAKE_build_setting_name_version_nano_s                 "version_nano"
-  #define FAKE_build_setting_name_version_nano_prefix_s          "version_nano_prefix"
-  #define FAKE_build_setting_name_version_target_s               "version_target"
-
-  #define FAKE_build_setting_default_ar_s_length             2
-  #define FAKE_build_setting_default_gcc_s_length            3
-  #define FAKE_build_setting_default_version_s_length        1
-  #define FAKE_build_setting_default_version_prefix_s_length 1
-  #define FAKE_build_setting_default_yes_s_length            3
-
-  #define FAKE_build_setting_name_build_compiler_s_length               14
-  #define FAKE_build_setting_name_build_indexer_s_length                13
-  #define FAKE_build_setting_name_build_indexer_arguments_s_length      23
-  #define FAKE_build_setting_name_build_language_s_length               14
-  #define FAKE_build_setting_name_build_libraries_s_length              15
-  #define FAKE_build_setting_name_build_libraries_shared_s_length       22
-  #define FAKE_build_setting_name_build_libraries_static_s_length       22
-  #define FAKE_build_setting_name_build_name_s_length                   10
-  #define FAKE_build_setting_name_build_objects_library_s_length        21
-  #define FAKE_build_setting_name_build_objects_library_shared_s_length 28
-  #define FAKE_build_setting_name_build_objects_library_static_s_length 28
-  #define FAKE_build_setting_name_build_objects_program_s_length        21
-  #define FAKE_build_setting_name_build_objects_program_shared_s_length 28
-  #define FAKE_build_setting_name_build_objects_program_static_s_length 28
-  #define FAKE_build_setting_name_build_script_s_length                 12
-  #define FAKE_build_setting_name_build_shared_s_length                 12
-  #define FAKE_build_setting_name_build_sources_documentation_s_length  27
-  #define FAKE_build_setting_name_build_sources_headers_s_length        21
-  #define FAKE_build_setting_name_build_sources_headers_shared_s_length 28
-  #define FAKE_build_setting_name_build_sources_headers_static_s_length 28
-  #define FAKE_build_setting_name_build_sources_library_s_length        21
-  #define FAKE_build_setting_name_build_sources_library_shared_s_length 28
-  #define FAKE_build_setting_name_build_sources_library_static_s_length 28
-  #define FAKE_build_setting_name_build_sources_object_s_length         20
-  #define FAKE_build_setting_name_build_sources_object_shared_s_length  27
-  #define FAKE_build_setting_name_build_sources_object_static_s_length  27
-  #define FAKE_build_setting_name_build_sources_program_s_length        21
-  #define FAKE_build_setting_name_build_sources_program_shared_s_length 28
-  #define FAKE_build_setting_name_build_sources_program_static_s_length 28
-  #define FAKE_build_setting_name_build_sources_script_s_length         20
-  #define FAKE_build_setting_name_build_sources_setting_s_length        21
-  #define FAKE_build_setting_name_build_static_s_length                 12
-  #define FAKE_build_setting_name_environment_s_length                  11
-  #define FAKE_build_setting_name_defines_s_length                      7
-  #define FAKE_build_setting_name_defines_library_s_length              15
-  #define FAKE_build_setting_name_defines_library_shared_s_length       22
-  #define FAKE_build_setting_name_defines_library_static_s_length       22
-  #define FAKE_build_setting_name_defines_object_s_length               14
-  #define FAKE_build_setting_name_defines_object_shared_s_length        21
-  #define FAKE_build_setting_name_defines_object_static_s_length        21
-  #define FAKE_build_setting_name_defines_program_s_length              15
-  #define FAKE_build_setting_name_defines_program_shared_s_length       22
-  #define FAKE_build_setting_name_defines_program_static_s_length       22
-  #define FAKE_build_setting_name_defines_shared_s_length               14
-  #define FAKE_build_setting_name_defines_static_s_length               14
-  #define FAKE_build_setting_name_flags_s_length                        5
-  #define FAKE_build_setting_name_flags_library_s_length                13
-  #define FAKE_build_setting_name_flags_library_shared_s_length         20
-  #define FAKE_build_setting_name_flags_library_static_s_length         20
-  #define FAKE_build_setting_name_flags_object_s_length                 12
-  #define FAKE_build_setting_name_flags_object_shared_s_length          19
-  #define FAKE_build_setting_name_flags_object_static_s_length          19
-  #define FAKE_build_setting_name_flags_program_s_length                13
-  #define FAKE_build_setting_name_flags_program_shared_s_length         20
-  #define FAKE_build_setting_name_flags_program_static_s_length         20
-  #define FAKE_build_setting_name_flags_shared_s_length                 12
-  #define FAKE_build_setting_name_flags_static_s_length                 12
-  #define FAKE_build_setting_name_has_path_standard_s_length            17
-  #define FAKE_build_setting_name_modes_s_length                        5
-  #define FAKE_build_setting_name_modes_default_s_length                13
-  #define FAKE_build_setting_name_path_headers_s_length                 12
-  #define FAKE_build_setting_name_path_language_s_length                13
-  #define FAKE_build_setting_name_path_library_script_s_length          19
-  #define FAKE_build_setting_name_path_library_shared_s_length          19
-  #define FAKE_build_setting_name_path_library_static_s_length          19
-  #define FAKE_build_setting_name_path_object_script_s_length           18
-  #define FAKE_build_setting_name_path_object_shared_s_length           18
-  #define FAKE_build_setting_name_path_object_static_s_length           18
-  #define FAKE_build_setting_name_path_program_script_s_length          19
-  #define FAKE_build_setting_name_path_program_shared_s_length          19
-  #define FAKE_build_setting_name_path_program_static_s_length          19
-  #define FAKE_build_setting_name_path_sources_s_length                 12
-  #define FAKE_build_setting_name_path_sources_object_s_length          19
-  #define FAKE_build_setting_name_preserve_path_headers_s_length        21
-  #define FAKE_build_setting_name_process_post_s_length                 12
-  #define FAKE_build_setting_name_process_pre_s_length                  11
-  #define FAKE_build_setting_name_search_exclusive_s_length             16
-  #define FAKE_build_setting_name_search_shared_s_length                13
-  #define FAKE_build_setting_name_search_static_s_length                13
-  #define FAKE_build_setting_name_version_file_s_length                 12
-  #define FAKE_build_setting_name_version_major_s_length                13
-  #define FAKE_build_setting_name_version_major_prefix_s_length         20
-  #define FAKE_build_setting_name_version_micro_s_length                13
-  #define FAKE_build_setting_name_version_micro_prefix_s_length         20
-  #define FAKE_build_setting_name_version_minor_s_length                13
-  #define FAKE_build_setting_name_version_minor_prefix_s_length         20
-  #define FAKE_build_setting_name_version_nano_s_length                 12
-  #define FAKE_build_setting_name_version_nano_prefix_s_length          19
-  #define FAKE_build_setting_name_version_target_s_length               14
-
-  extern const f_string_static_t fake_build_setting_default_ar_s;
-  extern const f_string_static_t fake_build_setting_default_gcc_s;
-  extern const f_string_static_t fake_build_setting_default_version_s;
-  extern const f_string_static_t fake_build_setting_default_version_prefix_s;
-  extern const f_string_static_t fake_build_setting_default_yes_s;
-
-  extern const f_string_static_t fake_build_setting_name_build_compiler_s;
-  extern const f_string_static_t fake_build_setting_name_build_indexer_s;
-  extern const f_string_static_t fake_build_setting_name_build_indexer_arguments_s;
-  extern const f_string_static_t fake_build_setting_name_build_language_s;
-  extern const f_string_static_t fake_build_setting_name_build_libraries_s;
-  extern const f_string_static_t fake_build_setting_name_build_libraries_shared_s;
-  extern const f_string_static_t fake_build_setting_name_build_libraries_static_s;
-  extern const f_string_static_t fake_build_setting_name_build_name_s;
-  extern const f_string_static_t fake_build_setting_name_build_objects_library_s;
-  extern const f_string_static_t fake_build_setting_name_build_objects_library_shared_s;
-  extern const f_string_static_t fake_build_setting_name_build_objects_library_static_s;
-  extern const f_string_static_t fake_build_setting_name_build_objects_program_s;
-  extern const f_string_static_t fake_build_setting_name_build_objects_program_shared_s;
-  extern const f_string_static_t fake_build_setting_name_build_objects_program_static_s;
-  extern const f_string_static_t fake_build_setting_name_build_script_s;
-  extern const f_string_static_t fake_build_setting_name_build_shared_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_documentation_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_headers_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_headers_shared_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_headers_static_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_library_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_library_shared_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_library_static_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_object_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_object_shared_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_object_static_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_program_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_program_shared_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_program_static_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_script_s;
-  extern const f_string_static_t fake_build_setting_name_build_sources_setting_s;
-  extern const f_string_static_t fake_build_setting_name_build_static_s;
-  extern const f_string_static_t fake_build_setting_name_defines_s;
-  extern const f_string_static_t fake_build_setting_name_defines_library_s;
-  extern const f_string_static_t fake_build_setting_name_defines_library_shared_s;
-  extern const f_string_static_t fake_build_setting_name_defines_library_static_s;
-  extern const f_string_static_t fake_build_setting_name_defines_object_s;
-  extern const f_string_static_t fake_build_setting_name_defines_object_shared_s;
-  extern const f_string_static_t fake_build_setting_name_defines_object_static_s;
-  extern const f_string_static_t fake_build_setting_name_defines_program_s;
-  extern const f_string_static_t fake_build_setting_name_defines_program_shared_s;
-  extern const f_string_static_t fake_build_setting_name_defines_program_static_s;
-  extern const f_string_static_t fake_build_setting_name_defines_shared_s;
-  extern const f_string_static_t fake_build_setting_name_defines_static_s;
-  extern const f_string_static_t fake_build_setting_name_environment_s;
-  extern const f_string_static_t fake_build_setting_name_flags_s;
-  extern const f_string_static_t fake_build_setting_name_flags_library_s;
-  extern const f_string_static_t fake_build_setting_name_flags_library_shared_s;
-  extern const f_string_static_t fake_build_setting_name_flags_library_static_s;
-  extern const f_string_static_t fake_build_setting_name_flags_object_s;
-  extern const f_string_static_t fake_build_setting_name_flags_object_shared_s;
-  extern const f_string_static_t fake_build_setting_name_flags_object_static_s;
-  extern const f_string_static_t fake_build_setting_name_flags_program_s;
-  extern const f_string_static_t fake_build_setting_name_flags_program_shared_s;
-  extern const f_string_static_t fake_build_setting_name_flags_program_static_s;
-  extern const f_string_static_t fake_build_setting_name_flags_shared_s;
-  extern const f_string_static_t fake_build_setting_name_flags_static_s;
-  extern const f_string_static_t fake_build_setting_name_has_path_standard_s;
-  extern const f_string_static_t fake_build_setting_name_modes_s;
-  extern const f_string_static_t fake_build_setting_name_modes_default_s;
-  extern const f_string_static_t fake_build_setting_name_path_headers_s;
-  extern const f_string_static_t fake_build_setting_name_path_language_s;
-  extern const f_string_static_t fake_build_setting_name_path_library_script_s;
-  extern const f_string_static_t fake_build_setting_name_path_library_shared_s;
-  extern const f_string_static_t fake_build_setting_name_path_library_static_s;
-  extern const f_string_static_t fake_build_setting_name_path_object_script_s;
-  extern const f_string_static_t fake_build_setting_name_path_object_shared_s;
-  extern const f_string_static_t fake_build_setting_name_path_object_static_s;
-  extern const f_string_static_t fake_build_setting_name_path_program_script_s;
-  extern const f_string_static_t fake_build_setting_name_path_program_shared_s;
-  extern const f_string_static_t fake_build_setting_name_path_program_static_s;
-  extern const f_string_static_t fake_build_setting_name_path_sources_s;
-  extern const f_string_static_t fake_build_setting_name_path_sources_object_s;
-  extern const f_string_static_t fake_build_setting_name_preserve_path_headers_s;
-  extern const f_string_static_t fake_build_setting_name_process_post_s;
-  extern const f_string_static_t fake_build_setting_name_process_pre_s;
-  extern const f_string_static_t fake_build_setting_name_search_exclusive_s;
-  extern const f_string_static_t fake_build_setting_name_search_shared_s;
-  extern const f_string_static_t fake_build_setting_name_search_static_s;
-  extern const f_string_static_t fake_build_setting_name_version_file_s;
-  extern const f_string_static_t fake_build_setting_name_version_major_s;
-  extern const f_string_static_t fake_build_setting_name_version_major_prefix_s;
-  extern const f_string_static_t fake_build_setting_name_version_micro_s;
-  extern const f_string_static_t fake_build_setting_name_version_micro_prefix_s;
-  extern const f_string_static_t fake_build_setting_name_version_minor_s;
-  extern const f_string_static_t fake_build_setting_name_version_minor_prefix_s;
-  extern const f_string_static_t fake_build_setting_name_version_nano_s;
-  extern const f_string_static_t fake_build_setting_name_version_nano_prefix_s;
-  extern const f_string_static_t fake_build_setting_name_version_target_s;
-
-  #define fake_build_setting_total_d 89
-#endif // _di_fake_build_setting_t_
-
-#ifndef _di_fake_build_stage_t_
-  typedef struct {
-    f_string_dynamic_t file_library_script;
-    f_string_dynamic_t file_library_shared;
-    f_string_dynamic_t file_library_static;
-    f_string_dynamic_t file_object_script;
-    f_string_dynamic_t file_object_shared;
-    f_string_dynamic_t file_object_static;
-    f_string_dynamic_t file_objects_static;
-    f_string_dynamic_t file_process_post;
-    f_string_dynamic_t file_process_pre;
-    f_string_dynamic_t file_program_script;
-    f_string_dynamic_t file_program_shared;
-    f_string_dynamic_t file_program_static;
-    f_string_dynamic_t file_skeleton;
-    f_string_dynamic_t file_sources_documentation;
-    f_string_dynamic_t file_sources_headers;
-    f_string_dynamic_t file_sources_script;
-    f_string_dynamic_t file_sources_settings;
-  } fake_build_stage_t;
-
-  #define fake_build_stage_t_initialize { \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-  }
-
-  #define fake_build_stage_total_d 17
-
-  #define macro_fake_build_stage_t_delete_simple(stage) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_library_script) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_library_shared) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_library_static) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_object_script) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_object_shared) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_object_static) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_objects_static) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_process_post) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_process_pre) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_program_script) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_program_shared) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_program_static) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_skeleton) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_sources_documentation) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_sources_headers) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_sources_script) \
-    macro_f_string_dynamic_t_delete_simple(stage.file_sources_settings)
-
-  #define FAKE_build_stage_built_s                 ".built"
-  #define FAKE_build_stage_library_script_s        "library_script"
-  #define FAKE_build_stage_library_shared_s        "library_shared"
-  #define FAKE_build_stage_library_static_s        "library_static"
-  #define FAKE_build_stage_object_script_s         "object_script"
-  #define FAKE_build_stage_object_shared_s         "object_shared"
-  #define FAKE_build_stage_object_static_s         "object_static"
-  #define FAKE_build_stage_objects_static_s        "objects_static"
-  #define FAKE_build_stage_process_post_s          "process_post"
-  #define FAKE_build_stage_process_pre_s           "process_pre"
-  #define FAKE_build_stage_program_script_s        "program_script"
-  #define FAKE_build_stage_program_shared_s        "program_shared"
-  #define FAKE_build_stage_program_static_s        "program_static"
-  #define FAKE_build_stage_separate_s              "-"
-  #define FAKE_build_stage_skeleton_s              "skeleton"
-  #define FAKE_build_stage_sources_documentation_s "sources_documentation"
-  #define FAKE_build_stage_sources_headers_s       "sources_headers"
-  #define FAKE_build_stage_sources_script_s        "sources_script"
-  #define FAKE_build_stage_sources_settings_s      "sources_settings"
-
-  #define FAKE_build_stage_built_s_length                 6
-  #define FAKE_build_stage_library_script_s_length        14
-  #define FAKE_build_stage_library_shared_s_length        14
-  #define FAKE_build_stage_library_static_s_length        14
-  #define FAKE_build_stage_object_script_s_length         13
-  #define FAKE_build_stage_object_shared_s_length         13
-  #define FAKE_build_stage_object_static_s_length         13
-  #define FAKE_build_stage_objects_static_s_length        14
-  #define FAKE_build_stage_process_post_s_length          12
-  #define FAKE_build_stage_process_pre_s_length           11
-  #define FAKE_build_stage_program_script_s_length        14
-  #define FAKE_build_stage_program_shared_s_length        14
-  #define FAKE_build_stage_program_static_s_length        14
-  #define FAKE_build_stage_separate_s_length              1
-  #define FAKE_build_stage_skeleton_s_length              8
-  #define FAKE_build_stage_sources_documentation_s_length 21
-  #define FAKE_build_stage_sources_headers_s_length       15
-  #define FAKE_build_stage_sources_script_s_length        14
-  #define FAKE_build_stage_sources_settings_s_length      16
-
-  extern const f_string_static_t fake_build_stage_built_s;
-  extern const f_string_static_t fake_build_stage_library_script_s;
-  extern const f_string_static_t fake_build_stage_library_shared_s;
-  extern const f_string_static_t fake_build_stage_library_static_s;
-  extern const f_string_static_t fake_build_stage_object_script_s;
-  extern const f_string_static_t fake_build_stage_object_shared_s;
-  extern const f_string_static_t fake_build_stage_object_static_s;
-  extern const f_string_static_t fake_build_stage_objects_static_s;
-  extern const f_string_static_t fake_build_stage_process_post_s;
-  extern const f_string_static_t fake_build_stage_process_pre_s;
-  extern const f_string_static_t fake_build_stage_program_script_s;
-  extern const f_string_static_t fake_build_stage_program_shared_s;
-  extern const f_string_static_t fake_build_stage_program_static_s;
-  extern const f_string_static_t fake_build_stage_separate_s;
-  extern const f_string_static_t fake_build_stage_skeleton_s;
-  extern const f_string_static_t fake_build_stage_sources_documentation_s;
-  extern const f_string_static_t fake_build_stage_sources_headers_s;
-  extern const f_string_static_t fake_build_stage_sources_script_s;
-  extern const f_string_static_t fake_build_stage_sources_settings_s;
-#endif // _di_fake_build_stage_t_
-
-/**
- * The build data.
- *
- * setting:     The build settings.
- * environment: The environment variables.
- */
-#ifndef _di_fake_build_data_t_
-  typedef struct {
-    fake_build_setting_t setting;
-    f_string_maps_t environment;
-  } fake_build_data_t;
-
-  #define fake_build_data_t_initialize { \
-    fake_build_setting_t_initialize, \
-    f_string_maps_t_initialize, \
-  }
-
-  #define macro_fake_build_main_delete_simple(build) \
-    macro_fake_build_setting_t_delete_simple(build.setting) \
-    macro_f_string_maps_t_delete_simple(build.environment);
-#endif // _di_fake_build_data_t_
-
-#ifndef _di_fake_build_parameter_
-  #define FAKE_build_parameter_library_include_s            "-I"
-  #define FAKE_build_parameter_library_link_file_s          "-l"
-  #define FAKE_build_parameter_library_link_path_s          "-L"
-  #define FAKE_build_parameter_library_name_prefix_s        "lib"
-  #define FAKE_build_parameter_library_name_suffix_shared_s ".so"
-  #define FAKE_build_parameter_library_name_suffix_static_s ".a"
-  #define FAKE_build_parameter_library_output_s             "-o"
-  #define FAKE_build_parameter_library_shared_s             "-shared"
-  #define FAKE_build_parameter_library_static_s             "-static"
-  #define FAKE_build_parameter_library_shared_prefix_s      "-Wl,-soname,"
-
-  #define FAKE_build_parameter_library_include_s_length            2
-  #define FAKE_build_parameter_library_link_file_s_length          2
-  #define FAKE_build_parameter_library_link_path_s_length          2
-  #define FAKE_build_parameter_library_name_prefix_s_length        3
-  #define FAKE_build_parameter_library_name_suffix_shared_s_length 3
-  #define FAKE_build_parameter_library_name_suffix_static_s_length 2
-  #define FAKE_build_parameter_library_output_s_length             2
-  #define FAKE_build_parameter_library_shared_s_length             7
-  #define FAKE_build_parameter_library_static_s_length             7
-  #define FAKE_build_parameter_library_shared_prefix_s_length      12
-
-  extern const f_string_static_t fake_build_parameter_library_include_s;
-  extern const f_string_static_t fake_build_parameter_library_link_file_s;
-  extern const f_string_static_t fake_build_parameter_library_link_path_s;
-  extern const f_string_static_t fake_build_parameter_library_name_prefix_s;
-  extern const f_string_static_t fake_build_parameter_library_name_suffix_shared_s;
-  extern const f_string_static_t fake_build_parameter_library_name_suffix_static_s;
-  extern const f_string_static_t fake_build_parameter_library_output_s;
-  extern const f_string_static_t fake_build_parameter_library_shared_s;
-  extern const f_string_static_t fake_build_parameter_library_static_s;
-  extern const f_string_static_t fake_build_parameter_library_shared_prefix_s;
-
-  #define FAKE_build_parameter_object_compile_s     "-c"
-  #define FAKE_build_parameter_object_name_suffix_s ".o"
-  #define FAKE_build_parameter_object_output_s      "-o"
-  #define FAKE_build_parameter_object_static_s      "-static"
-
-  #define FAKE_build_parameter_object_compile_s_length     2
-  #define FAKE_build_parameter_object_name_suffix_s_length 2
-  #define FAKE_build_parameter_object_output_s_length      2
-  #define FAKE_build_parameter_object_static_s_length      7
-
-  extern const f_string_static_t fake_build_parameter_object_compile_s;
-  extern const f_string_static_t fake_build_parameter_object_name_suffix_s;
-  extern const f_string_static_t fake_build_parameter_object_output_s;
-  extern const f_string_static_t fake_build_parameter_object_static_s;
-#endif // _di_fake_build_parameter_
-
-/**
- * Provide common/generic definitions.
- *
- * fake_common_allocation_*:
- *   - large: An allocation step used for buffers that are anticipated to have large buffers.
- *   - small: An allocation step used for buffers that are anticipated to have small buffers.
- *
- * fake_common_file_*:
- *   - directory_copy: A string referring to a file directory copy operation.
- *
- * fake_common_setting_bool_*:
- *   - yes: A representation of yes or true.
- *   - no:  A representation of no or false.
- *
- * fake_common_setting_*:
- *   - list: A generic name referring to a setting as a list.
- */
-#ifndef _di_fake_common_
-  #define fake_common_allocation_large_d 256
-  #define fake_common_allocation_small_d 16
-
-  #define FAKE_common_file_directory_copy_s      "copy directory"
-  #define FAKE_common_file_path_access_s         "access"
-  #define FAKE_common_file_path_change_to_s      "change path to"
-  #define FAKE_common_file_path_determine_real_s "determine real path of"
-  #define FAKE_common_file_path_stack_s          "path stack"
-  #define FAKE_common_file_populate_pre_s        "pre-populate"
-
-  #define FAKE_common_setting_bool_yes_s "yes"
-  #define FAKE_common_setting_bool_no_s  "no"
-
-  #define FAKE_common_setting_list_s "list"
-
-  #define FAKE_common_file_directory_copy_s_length      14
-  #define FAKE_common_file_path_access_s_length         6
-  #define FAKE_common_file_path_change_to_s_length      14
-  #define FAKE_common_file_path_determine_real_s_length 22
-  #define FAKE_common_file_path_stack_s_length          10
-  #define FAKE_common_file_populate_pre_s_length        12
-
-  #define FAKE_common_setting_bool_yes_s_length 3
-  #define FAKE_common_setting_bool_no_s_length  2
-
-  #define FAKE_common_setting_list_s_length 4
-
-  extern const f_string_static_t fake_common_file_directory_copy_s;
-  extern const f_string_static_t fake_common_file_path_access_s;
-  extern const f_string_static_t fake_common_file_path_change_to_s;
-  extern const f_string_static_t fake_common_file_path_determine_real_s;
-  extern const f_string_static_t fake_common_file_path_stack_s;
-  extern const f_string_static_t fake_common_file_populate_pre_s;
-
-  extern const f_string_static_t fake_common_setting_bool_yes_s;
-  extern const f_string_static_t fake_common_setting_bool_no_s;
-
-  extern const f_string_static_t fake_common_setting_list_s;
-
-  #define fake_common_initial_buffer_max_d 131072 // 128k max default initial buffer size.
-#endif // _di_fake_common_
-
-/**
- * Provide common/generic definitions.
- *
- * fake_make_section_*:
- *   - main:     The main section.
- *   - settings: The settings section.
- */
-#ifndef _di_fake_make_section_
-  #define FAKE_make_section_main_s     "main"
-  #define FAKE_make_section_settings_s "settings"
-
-  #define FAKE_make_section_main_s_length     4
-  #define FAKE_make_section_settings_s_length 8
-
-  extern const f_string_static_t fake_make_section_main_s;
-  extern const f_string_static_t fake_make_section_settings_s;
-
-  #define fake_make_section_stack_max_d 8192 // maximum stack call depth.
-#endif // _di_fake_make_section_
-
-#ifndef _di_fake_make_setting_t_
-  typedef struct {
-    bool load_build;
-
-    uint8_t fail;
-
-    f_string_map_multis_t parameter;
-  } fake_make_setting_t;
-
-  #define fake_make_setting_t_initialize { \
-    0, \
-    0, \
-    f_string_map_multis_t_initialize, \
-  }
-
-  #define macro_fake_make_setting_t_delete_simple(setting) \
-    macro_f_string_map_multis_t_delete_simple(setting.parameter)
-
-  #define FAKE_make_setting_compiler_s          "compiler"
-  #define FAKE_make_setting_define_s            "define"
-  #define FAKE_make_setting_environment_s       "environment"
-  #define FAKE_make_setting_fail_s              "fail"
-  #define FAKE_make_setting_indexer_s           "indexer"
-  #define FAKE_make_setting_indexer_arguments_s "indexer_arguments"
-  #define FAKE_make_setting_load_build_s        "load_build"
-  #define FAKE_make_setting_parameter_s         "parameter"
-  #define FAKE_make_setting_return_s            "return"
-
-  #define FAKE_make_setting_compiler_s_length          8
-  #define FAKE_make_setting_define_s_length            6
-  #define FAKE_make_setting_environment_s_length       11
-  #define FAKE_make_setting_fail_s_length              4
-  #define FAKE_make_setting_indexer_s_length           7
-  #define FAKE_make_setting_indexer_arguments_s_length 17
-  #define FAKE_make_setting_load_build_s_length        10
-  #define FAKE_make_setting_parameter_s_length         9
-  #define FAKE_make_setting_return_s_length            6
-
-  extern const f_string_static_t fake_make_setting_compiler_s;
-  extern const f_string_static_t fake_make_setting_define_s;
-  extern const f_string_static_t fake_make_setting_environment_s;
-  extern const f_string_static_t fake_make_setting_fail_s;
-  extern const f_string_static_t fake_make_setting_indexer_s;
-  extern const f_string_static_t fake_make_setting_indexer_arguments_s;
-  extern const f_string_static_t fake_make_setting_load_build_s;
-  extern const f_string_static_t fake_make_setting_parameter_s;
-  extern const f_string_static_t fake_make_setting_return_s;
-#endif // _di_fake_make_setting_t_
-
-#ifndef _di_fake_make_operation_
-  #define FAKE_make_operation_and_s       "and"
-  #define FAKE_make_operation_break_s     "break"
-  #define FAKE_make_operation_build_s     "build"
-  #define FAKE_make_operation_clean_s     "clean"
-  #define FAKE_make_operation_clone_s     "clone"
-  #define FAKE_make_operation_compile_s   "compile"
-  #define FAKE_make_operation_copy_s      "copy"
-  #define FAKE_make_operation_define_s    "define"
-  #define FAKE_make_operation_delete_s    "delete"
-  #define FAKE_make_operation_deletes_s   "deletes"
-  #define FAKE_make_operation_else_s      "else"
-  #define FAKE_make_operation_exit_s      "exit"
-  #define FAKE_make_operation_fail_s      "fail"
-  #define FAKE_make_operation_group_s     "group"
-  #define FAKE_make_operation_groups_s    "groups"
-  #define FAKE_make_operation_if_s        "if"
-  #define FAKE_make_operation_index_s     "index"
-  #define FAKE_make_operation_link_s      "link"
-  #define FAKE_make_operation_mode_s      "mode"
-  #define FAKE_make_operation_modes_s     "modes"
-  #define FAKE_make_operation_move_s      "move"
-  #define FAKE_make_operation_operate_s   "operate"
-  #define FAKE_make_operation_or_s        "or"
-  #define FAKE_make_operation_owner_s     "owner"
-  #define FAKE_make_operation_owners_s    "owners"
-  #define FAKE_make_operation_parameter_s "parameter"
-  #define FAKE_make_operation_pop_s       "pop"
-  #define FAKE_make_operation_print_s     "print"
-  #define FAKE_make_operation_run_s       "run"
-  #define FAKE_make_operation_shell_s     "shell"
-  #define FAKE_make_operation_skeleton_s  "skeleton"
-  #define FAKE_make_operation_to_s        "to"
-  #define FAKE_make_operation_top_s       "top"
-  #define FAKE_make_operation_touch_s     "touch"
-  #define FAKE_make_operation_write_s     "write"
-
-  #define FAKE_make_operation_and_s_length       3
-  #define FAKE_make_operation_break_s_length     5
-  #define FAKE_make_operation_build_s_length     5
-  #define FAKE_make_operation_clean_s_length     5
-  #define FAKE_make_operation_clone_s_length     5
-  #define FAKE_make_operation_compile_s_length   7
-  #define FAKE_make_operation_copy_s_length      4
-  #define FAKE_make_operation_define_s_length    6
-  #define FAKE_make_operation_delete_s_length    6
-  #define FAKE_make_operation_deletes_s_length   7
-  #define FAKE_make_operation_else_s_length      4
-  #define FAKE_make_operation_exit_s_length      4
-  #define FAKE_make_operation_fail_s_length      4
-  #define FAKE_make_operation_group_s_length     5
-  #define FAKE_make_operation_groups_s_length    6
-  #define FAKE_make_operation_if_s_length        2
-  #define FAKE_make_operation_index_s_length     5
-  #define FAKE_make_operation_link_s_length      4
-  #define FAKE_make_operation_mode_s_length      4
-  #define FAKE_make_operation_modes_s_length     5
-  #define FAKE_make_operation_move_s_length      4
-  #define FAKE_make_operation_operate_s_length   7
-  #define FAKE_make_operation_or_s_length        2
-  #define FAKE_make_operation_owner_s_length     5
-  #define FAKE_make_operation_owners_s_length    6
-  #define FAKE_make_operation_parameter_s_length 9
-  #define FAKE_make_operation_pop_s_length       3
-  #define FAKE_make_operation_print_s_length     5
-  #define FAKE_make_operation_run_s_length       3
-  #define FAKE_make_operation_shell_s_length     5
-  #define FAKE_make_operation_skeleton_s_length  8
-  #define FAKE_make_operation_to_s_length        2
-  #define FAKE_make_operation_top_s_length       3
-  #define FAKE_make_operation_touch_s_length     5
-  #define FAKE_make_operation_write_s_length     5
-
-  extern const f_string_static_t fake_make_operation_and_s;
-  extern const f_string_static_t fake_make_operation_break_s;
-  extern const f_string_static_t fake_make_operation_build_s;
-  extern const f_string_static_t fake_make_operation_clean_s;
-  extern const f_string_static_t fake_make_operation_clone_s;
-  extern const f_string_static_t fake_make_operation_compile_s;
-  extern const f_string_static_t fake_make_operation_copy_s;
-  extern const f_string_static_t fake_make_operation_define_s;
-  extern const f_string_static_t fake_make_operation_delete_s;
-  extern const f_string_static_t fake_make_operation_deletes_s;
-  extern const f_string_static_t fake_make_operation_else_s;
-  extern const f_string_static_t fake_make_operation_exit_s;
-  extern const f_string_static_t fake_make_operation_fail_s;
-  extern const f_string_static_t fake_make_operation_group_s;
-  extern const f_string_static_t fake_make_operation_groups_s;
-  extern const f_string_static_t fake_make_operation_if_s;
-  extern const f_string_static_t fake_make_operation_index_s;
-  extern const f_string_static_t fake_make_operation_link_s;
-  extern const f_string_static_t fake_make_operation_mode_s;
-  extern const f_string_static_t fake_make_operation_modes_s;
-  extern const f_string_static_t fake_make_operation_move_s;
-  extern const f_string_static_t fake_make_operation_operate_s;
-  extern const f_string_static_t fake_make_operation_or_s;
-  extern const f_string_static_t fake_make_operation_owner_s;
-  extern const f_string_static_t fake_make_operation_owners_s;
-  extern const f_string_static_t fake_make_operation_parameter_s;
-  extern const f_string_static_t fake_make_operation_pop_s;
-  extern const f_string_static_t fake_make_operation_print_s;
-  extern const f_string_static_t fake_make_operation_run_s;
-  extern const f_string_static_t fake_make_operation_shell_s;
-  extern const f_string_static_t fake_make_operation_skeleton_s;
-  extern const f_string_static_t fake_make_operation_to_s;
-  extern const f_string_static_t fake_make_operation_top_s;
-  extern const f_string_static_t fake_make_operation_touch_s;
-  extern const f_string_static_t fake_make_operation_write_s;
-
-  enum {
-    fake_make_operation_type_none_e = 0,
-    fake_make_operation_type_and_e,
-    fake_make_operation_type_break_e,
-    fake_make_operation_type_build_e,
-    fake_make_operation_type_clean_e,
-    fake_make_operation_type_clone_e,
-    fake_make_operation_type_compile_e,
-    fake_make_operation_type_copy_e,
-    fake_make_operation_type_define_e,
-    fake_make_operation_type_delete_e,
-    fake_make_operation_type_deletes_e,
-    fake_make_operation_type_else_e,
-    fake_make_operation_type_exit_e,
-    fake_make_operation_type_fail_e,
-    fake_make_operation_type_group_e,
-    fake_make_operation_type_groups_e,
-    fake_make_operation_type_if_e,
-    fake_make_operation_type_index_e,
-    fake_make_operation_type_link_e,
-    fake_make_operation_type_mode_e,
-    fake_make_operation_type_modes_e,
-    fake_make_operation_type_move_e,
-    fake_make_operation_type_operate_e,
-    fake_make_operation_type_or_e,
-    fake_make_operation_type_owner_e,
-    fake_make_operation_type_owners_e,
-    fake_make_operation_type_parameter_e,
-    fake_make_operation_type_pop_e,
-    fake_make_operation_type_print_e,
-    fake_make_operation_type_run_e,
-    fake_make_operation_type_shell_e,
-    fake_make_operation_type_skeleton_e,
-    fake_make_operation_type_to_e,
-    fake_make_operation_type_top_e,
-    fake_make_operation_type_touch_e,
-    fake_make_operation_type_write_e,
-  };
-
-  // Total does not include "fake_make_operation_type_none_e".
-  #define fake_make_operation_total_d 35
-
-  #define FAKE_make_operation_argument_directory_s      "directory"
-  #define FAKE_make_operation_argument_environment_s    "environment"
-  #define FAKE_make_operation_argument_error_s          "error"
-  #define FAKE_make_operation_argument_exit_s           "exit"
-  #define FAKE_make_operation_argument_failure_s        "failure"
-  #define FAKE_make_operation_argument_file_s           "file"
-  #define FAKE_make_operation_argument_force_s          "force"
-  #define FAKE_make_operation_argument_has_s            "has"
-  #define FAKE_make_operation_argument_ignore_s         "ignore"
-  #define FAKE_make_operation_argument_is_s             "is"
-  #define FAKE_make_operation_argument_no_dereference_s "no_dereference"
-  #define FAKE_make_operation_argument_parameter_s      "parameter"
-  #define FAKE_make_operation_argument_point_s          "point"
-  #define FAKE_make_operation_argument_recursive_s      "recursive"
-  #define FAKE_make_operation_argument_strict_s         "strict"
-  #define FAKE_make_operation_argument_success_s        "success"
-  #define FAKE_make_operation_argument_target_s         "target"
-  #define FAKE_make_operation_argument_warn_s           "warn"
-
-  #define FAKE_make_operation_argument_directory_s_length      9
-  #define FAKE_make_operation_argument_environment_s_length    11
-  #define FAKE_make_operation_argument_error_s_length          5
-  #define FAKE_make_operation_argument_exit_s_length           4
-  #define FAKE_make_operation_argument_failure_s_length        7
-  #define FAKE_make_operation_argument_file_s_length           4
-  #define FAKE_make_operation_argument_force_s_length          5
-  #define FAKE_make_operation_argument_has_s_length            3
-  #define FAKE_make_operation_argument_ignore_s_length         6
-  #define FAKE_make_operation_argument_is_s_length             2
-  #define FAKE_make_operation_argument_no_dereference_s_length 14
-  #define FAKE_make_operation_argument_parameter_s_length      9
-  #define FAKE_make_operation_argument_point_s_length          5
-  #define FAKE_make_operation_argument_recursive_s_length      9
-  #define FAKE_make_operation_argument_strict_s_length         6
-  #define FAKE_make_operation_argument_success_s_length        7
-  #define FAKE_make_operation_argument_target_s_length         6
-  #define FAKE_make_operation_argument_warn_s_length           4
-
-  extern const f_string_static_t fake_make_operation_argument_directory_s;
-  extern const f_string_static_t fake_make_operation_argument_environment_s;
-  extern const f_string_static_t fake_make_operation_argument_error_s;
-  extern const f_string_static_t fake_make_operation_argument_exit_s;
-  extern const f_string_static_t fake_make_operation_argument_failure_s;
-  extern const f_string_static_t fake_make_operation_argument_file_s;
-  extern const f_string_static_t fake_make_operation_argument_force_s;
-  extern const f_string_static_t fake_make_operation_argument_has_s;
-  extern const f_string_static_t fake_make_operation_argument_ignore_s;
-  extern const f_string_static_t fake_make_operation_argument_is_s;
-  extern const f_string_static_t fake_make_operation_argument_no_dereference_s;
-  extern const f_string_static_t fake_make_operation_argument_parameter_s;
-  extern const f_string_static_t fake_make_operation_argument_point_s;
-  extern const f_string_static_t fake_make_operation_argument_recursive_s;
-  extern const f_string_static_t fake_make_operation_argument_strict_s;
-  extern const f_string_static_t fake_make_operation_argument_success_s;
-  extern const f_string_static_t fake_make_operation_argument_target_s;
-  extern const f_string_static_t fake_make_operation_argument_warn_s;
-
-  #define FAKE_make_operation_argument_if_define_s        "define"
-  #define FAKE_make_operation_argument_if_equal_s         "=="
-  #define FAKE_make_operation_argument_if_equal_not_s     "<>"
-  #define FAKE_make_operation_argument_if_exist_s         "exist"
-  #define FAKE_make_operation_argument_if_failure_s       "failure"
-  #define FAKE_make_operation_argument_if_greater_s       ">"
-  #define FAKE_make_operation_argument_if_greater_equal_s ">="
-  #define FAKE_make_operation_argument_if_group_s         "group"
-  #define FAKE_make_operation_argument_if_is_s            "is"
-  #define FAKE_make_operation_argument_if_is_for_s        "for"
-  #define FAKE_make_operation_argument_if_less_s          "<"
-  #define FAKE_make_operation_argument_if_less_equal_s    "<="
-  #define FAKE_make_operation_argument_if_mode_s          "mode"
-  #define FAKE_make_operation_argument_if_not_s           "not"
-  #define FAKE_make_operation_argument_if_owner_s         "owner"
-  #define FAKE_make_operation_argument_if_parameter_s     "parameter"
-  #define FAKE_make_operation_argument_if_success_s       "success"
-
-  #define FAKE_make_operation_argument_if_define_s_length        6
-  #define FAKE_make_operation_argument_if_equal_s_length         2
-  #define FAKE_make_operation_argument_if_equal_not_s_length     2
-  #define FAKE_make_operation_argument_if_exist_s_length         5
-  #define FAKE_make_operation_argument_if_failure_s_length       7
-  #define FAKE_make_operation_argument_if_greater_s_length       1
-  #define FAKE_make_operation_argument_if_greater_equal_s_length 2
-  #define FAKE_make_operation_argument_if_group_s_length         5
-  #define FAKE_make_operation_argument_if_is_s_length            2
-  #define FAKE_make_operation_argument_if_is_for_s_length        3
-  #define FAKE_make_operation_argument_if_less_s_length          1
-  #define FAKE_make_operation_argument_if_less_equal_s_length    2
-  #define FAKE_make_operation_argument_if_mode_s_length          4
-  #define FAKE_make_operation_argument_if_not_s_length           3
-  #define FAKE_make_operation_argument_if_owner_s_length         5
-  #define FAKE_make_operation_argument_if_parameter_s_length     9
-  #define FAKE_make_operation_argument_if_success_s_length       7
-
-  extern const f_string_static_t fake_make_operation_argument_if_define_s;
-  extern const f_string_static_t fake_make_operation_argument_if_equal_s;
-  extern const f_string_static_t fake_make_operation_argument_if_equal_not_s;
-  extern const f_string_static_t fake_make_operation_argument_if_exist_s;
-  extern const f_string_static_t fake_make_operation_argument_if_failure_s;
-  extern const f_string_static_t fake_make_operation_argument_if_greater_s;
-  extern const f_string_static_t fake_make_operation_argument_if_greater_equal_s;
-  extern const f_string_static_t fake_make_operation_argument_if_group_s;
-  extern const f_string_static_t fake_make_operation_argument_if_is_s;
-  extern const f_string_static_t fake_make_operation_argument_if_is_for_s;
-  extern const f_string_static_t fake_make_operation_argument_if_less_s;
-  extern const f_string_static_t fake_make_operation_argument_if_less_equal_s;
-  extern const f_string_static_t fake_make_operation_argument_if_mode_s;
-  extern const f_string_static_t fake_make_operation_argument_if_not_s;
-  extern const f_string_static_t fake_make_operation_argument_if_owner_s;
-  extern const f_string_static_t fake_make_operation_argument_if_parameter_s;
-  extern const f_string_static_t fake_make_operation_argument_if_success_s;
-
-  enum {
-    fake_make_operation_if_type_else_e = 1,
-    fake_make_operation_if_type_if_e,
-    fake_make_operation_if_type_if_define_e,
-    fake_make_operation_if_type_if_equal_e,
-    fake_make_operation_if_type_if_equal_not_e,
-    fake_make_operation_if_type_if_exist_e,
-    fake_make_operation_if_type_if_failure_e,
-    fake_make_operation_if_type_if_greater_e,
-    fake_make_operation_if_type_if_greater_equal_e,
-    fake_make_operation_if_type_if_group_e,
-    fake_make_operation_if_type_if_is_e,
-    fake_make_operation_if_type_if_less_e,
-    fake_make_operation_if_type_if_less_equal_e,
-    fake_make_operation_if_type_if_mode_e,
-    fake_make_operation_if_type_if_not_e,
-    fake_make_operation_if_type_if_not_define_e,
-    fake_make_operation_if_type_if_not_exist_e,
-    fake_make_operation_if_type_if_not_group_e,
-    fake_make_operation_if_type_if_not_is_e,
-    fake_make_operation_if_type_if_not_mode_e,
-    fake_make_operation_if_type_if_not_owner_e,
-    fake_make_operation_if_type_if_not_parameter_e,
-    fake_make_operation_if_type_if_parameter_e,
-    fake_make_operation_if_type_if_owner_e,
-    fake_make_operation_if_type_if_success_e,
-  };
-
-  enum {
-    fake_make_operation_fail_type_exit_e = 1,
-    fake_make_operation_fail_type_warn_e,
-    fake_make_operation_fail_type_ignore_e,
-  };
-
-  #define fake_make_operation_recursion_depth_max_d 65535
-#endif // _di_fake_make_operation_
-
-#ifndef _di_fake_make_parameter_t_
-  #define FAKE_make_parameter_iki_option_s ":option"
-  #define FAKE_make_parameter_iki_value_s  ":value"
-
-  #define FAKE_make_parameter_variable_build_s     "build"
-  #define FAKE_make_parameter_variable_color_s     "color"
-  #define FAKE_make_parameter_variable_current_s   "current"
-  #define FAKE_make_parameter_variable_data_s      "data"
-  #define FAKE_make_parameter_variable_define_s    "define"
-  #define FAKE_make_parameter_variable_documents_s "documents"
-  #define FAKE_make_parameter_variable_fakefile_s  "fakefile"
-  #define FAKE_make_parameter_variable_licenses_s  "licenses"
-  #define FAKE_make_parameter_variable_mode_s      "mode"
-  #define FAKE_make_parameter_variable_process_s   "process"
-  #define FAKE_make_parameter_variable_return_s    "return"
-  #define FAKE_make_parameter_variable_settings_s  "settings"
-  #define FAKE_make_parameter_variable_sources_s   "sources"
-  #define FAKE_make_parameter_variable_top_s       "top"
-  #define FAKE_make_parameter_variable_verbosity_s "verbosity"
-  #define FAKE_make_parameter_variable_work_s      "work"
-
-  #define FAKE_make_parameter_variable_option_build_s     FAKE_make_parameter_variable_build_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_color_s     FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_data_s      FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_define_s    FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_fakefile_s  FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_licenses_s  FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_mode_s      FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_process_s   FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_settings_s  FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_sources_s   FAKE_make_parameter_variable_sources_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_verbosity_s FAKE_make_parameter_variable_verbosity_s FAKE_make_parameter_iki_option_s
-  #define FAKE_make_parameter_variable_option_work_s      FAKE_make_parameter_variable_work_s FAKE_make_parameter_iki_option_s
-
-  #define FAKE_make_parameter_variable_value_build_s     FAKE_make_parameter_variable_build_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_color_s     FAKE_make_parameter_variable_color_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_data_s      FAKE_make_parameter_variable_data_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_define_s    FAKE_make_parameter_variable_define_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_documents_s FAKE_make_parameter_variable_documents_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_fakefile_s  FAKE_make_parameter_variable_fakefile_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_licenses_s  FAKE_make_parameter_variable_licenses_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_mode_s      FAKE_make_parameter_variable_mode_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_process_s   FAKE_make_parameter_variable_process_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_settings_s  FAKE_make_parameter_variable_settings_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_sources_s   FAKE_make_parameter_variable_sources_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_verbosity_s FAKE_make_parameter_variable_verbosity_s FAKE_make_parameter_iki_value_s
-  #define FAKE_make_parameter_variable_value_work_s      FAKE_make_parameter_variable_work_s FAKE_make_parameter_iki_value_s
-
-  #define FAKE_make_parameter_iki_option_s_length 7
-  #define FAKE_make_parameter_iki_value_s_length  6
-
-  #define FAKE_make_parameter_variable_build_s_length     5
-  #define FAKE_make_parameter_variable_color_s_length     5
-  #define FAKE_make_parameter_variable_current_s_length   7
-  #define FAKE_make_parameter_variable_data_s_length      4
-  #define FAKE_make_parameter_variable_define_s_length    6
-  #define FAKE_make_parameter_variable_documents_s_length 9
-  #define FAKE_make_parameter_variable_fakefile_s_length  8
-  #define FAKE_make_parameter_variable_licenses_s_length  8
-  #define FAKE_make_parameter_variable_data_s_length      4
-  #define FAKE_make_parameter_variable_mode_s_length      4
-  #define FAKE_make_parameter_variable_process_s_length   7
-  #define FAKE_make_parameter_variable_return_s_length    6
-  #define FAKE_make_parameter_variable_settings_s_length  8
-  #define FAKE_make_parameter_variable_sources_s_length   7
-  #define FAKE_make_parameter_variable_top_s_length       3
-  #define FAKE_make_parameter_variable_verbosity_s_length 9
-  #define FAKE_make_parameter_variable_work_s_length      4
-
-  #define FAKE_make_parameter_variable_option_build_s_length     FAKE_make_parameter_variable_build_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_color_s_length     FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_data_s_length      FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_define_s_length    FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_fakefile_s_length  FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_licenses_s_length  FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_mode_s_length      FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_process_s_length   FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_settings_s_length  FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_sources_s_length   FAKE_make_parameter_variable_sources_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_verbosity_s_length FAKE_make_parameter_variable_verbosity_s_length + FAKE_make_parameter_iki_option_s_length
-  #define FAKE_make_parameter_variable_option_work_s_length      FAKE_make_parameter_variable_work_s_length + FAKE_make_parameter_iki_option_s_length
-
-  #define FAKE_make_parameter_variable_value_build_s_length     FAKE_make_parameter_variable_build_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_color_s_length     FAKE_make_parameter_variable_color_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_data_s_length      FAKE_make_parameter_variable_data_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_documents_s_length FAKE_make_parameter_variable_documents_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_define_s_length    FAKE_make_parameter_variable_define_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_fakefile_s_length  FAKE_make_parameter_variable_fakefile_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_licenses_s_length  FAKE_make_parameter_variable_licenses_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_mode_s_length      FAKE_make_parameter_variable_mode_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_process_s_length   FAKE_make_parameter_variable_process_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_settings_s_length  FAKE_make_parameter_variable_settings_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_sources_s_length   FAKE_make_parameter_variable_sources_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_verbosity_s_length FAKE_make_parameter_variable_verbosity_s_length + FAKE_make_parameter_iki_value_s_length
-  #define FAKE_make_parameter_variable_value_work_s_length      FAKE_make_parameter_variable_work_s_length + FAKE_make_parameter_iki_value_s_length
-
-  extern const f_string_static_t fake_make_parameter_iki_option_s;
-  extern const f_string_static_t fake_make_parameter_iki_value_s;
-
-  extern const f_string_static_t fake_make_parameter_variable_build_s;
-  extern const f_string_static_t fake_make_parameter_variable_color_s;
-  extern const f_string_static_t fake_make_parameter_variable_current_s;
-  extern const f_string_static_t fake_make_parameter_variable_data_s;
-  extern const f_string_static_t fake_make_parameter_variable_define_s;
-  extern const f_string_static_t fake_make_parameter_variable_documents_s;
-  extern const f_string_static_t fake_make_parameter_variable_fakefile_s;
-  extern const f_string_static_t fake_make_parameter_variable_licenses_s;
-  extern const f_string_static_t fake_make_parameter_variable_mode_s;
-  extern const f_string_static_t fake_make_parameter_variable_process_s;
-  extern const f_string_static_t fake_make_parameter_variable_return_s;
-  extern const f_string_static_t fake_make_parameter_variable_settings_s;
-  extern const f_string_static_t fake_make_parameter_variable_sources_s;
-  extern const f_string_static_t fake_make_parameter_variable_top_s;
-  extern const f_string_static_t fake_make_parameter_variable_verbosity_s;
-  extern const f_string_static_t fake_make_parameter_variable_work_s;
-
-  extern const f_string_static_t fake_make_parameter_variable_option_build_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_color_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_data_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_define_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_documents_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_fakefile_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_licenses_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_mode_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_process_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_settings_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_sources_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_verbosity_s;
-  extern const f_string_static_t fake_make_parameter_variable_option_work_s;
-
-  extern const f_string_static_t fake_make_parameter_variable_value_build_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_color_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_data_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_define_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_documents_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_fakefile_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_licenses_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_mode_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_process_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_settings_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_sources_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_verbosity_s;
-  extern const f_string_static_t fake_make_parameter_variable_value_work_s;
-
-  typedef struct {
-    f_string_dynamics_t build;
-    f_string_dynamics_t color;
-    f_string_dynamics_t data;
-    f_string_dynamics_t define;
-    f_string_dynamics_t documents;
-    f_string_dynamics_t fakefile;
-    f_string_dynamics_t licenses;
-    f_string_dynamics_t mode;
-    f_string_dynamics_t process;
-    f_string_dynamics_t settings;
-    f_string_dynamics_t sources;
-    f_string_dynamics_t verbosity;
-    f_string_dynamics_t work;
-  } fake_make_parameter_t;
-
-  #define fake_make_parameter_t_initialize { \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_string_dynamics_t_initialize, \
-  }
-
-  #define macro_fake_make_parameter_delete_simple(parameter) \
-    macro_f_string_dynamics_t_delete_simple(parameter.build) \
-    macro_f_string_dynamics_t_delete_simple(parameter.color) \
-    macro_f_string_dynamics_t_delete_simple(parameter.data) \
-    macro_f_string_dynamics_t_delete_simple(parameter.define) \
-    macro_f_string_dynamics_t_delete_simple(parameter.documents) \
-    macro_f_string_dynamics_t_delete_simple(parameter.fakefile) \
-    macro_f_string_dynamics_t_delete_simple(parameter.licenses) \
-    macro_f_string_dynamics_t_delete_simple(parameter.mode) \
-    macro_f_string_dynamics_t_delete_simple(parameter.process) \
-    macro_f_string_dynamics_t_delete_simple(parameter.settings) \
-    macro_f_string_dynamics_t_delete_simple(parameter.sources) \
-    macro_f_string_dynamics_t_delete_simple(parameter.verbosity) \
-    macro_f_string_dynamics_t_delete_simple(parameter.work)
-#endif // _di_fake_make_parameter_t_
-
-#ifndef _di_fake_make_path_t_
-  typedef struct {
-    f_file_t top;
-
-    f_string_dynamics_t stack;
-  } fake_make_path_t;
-
-  #define fake_make_path_t_initialize { \
-    f_file_t_initialize, \
-    f_string_dynamics_t_initialize, \
-  }
-
-  #define macro_fake_make_path_delete_simple(path) \
-    macro_f_string_dynamics_t_delete_simple(path.stack);
-#endif // _di_fake_make_path_t_
-
-/**
- * The control data.
- *
- * setting_build:    The build settings.
- * setting_make:     The make settings.
- * environment:      All environment variables allowed to be exposed to the when processing.
- * parameter:        A set of parameters available for IKI substitution.
- * parameter_option: A set of parameters available for IKI option substitution.
- * parameter_value:  A set of parameters available for IKI value substitution.
- * path:             The path to the Fakefile.
- * error:            The error output print structure.
- * fakefile:         The loaded Fakefile.
- * buffer:           A buffer used during processing.
- * cache_1:          An additional buffer for caching purposes.
- * cache_2:          An additional buffer for caching purposes.
- * cache_path:       A buffer for path-specific caching.
- * cache_arguments:  A cache for expanded arguments.
- * cache_iki:        A cache for IKI data.
- * id_main:          Index of the "main" Section.
- * main:             The main program data.
- * data:             The Fake make program data.
- * setting:          The settings data.
- */
-#ifndef _di_fake_make_data_t_
-  typedef struct {
-    fake_build_setting_t setting_build;
-    fake_make_setting_t setting_make;
-
-    f_string_maps_t environment;
-
-    fake_make_parameter_t parameter;
-    fake_make_parameter_t parameter_option;
-    fake_make_parameter_t parameter_value;
-    fake_make_path_t path;
-
-    fl_print_t error;
-
-    f_fss_nameds_t fakefile;
-
-    f_string_dynamic_t buffer;
-    f_string_dynamic_t cache_1;
-    f_string_dynamic_t cache_2;
-    f_string_dynamic_t cache_path;
-    f_string_dynamics_t cache_arguments;
-    f_iki_data_t cache_iki;
-
-    f_array_length_t id_main;
-
-    fll_program_data_t *main;
-    fake_data_t *data;
-    fake_setting_t *setting;
-  } fake_make_data_t;
-
-  #define fake_make_data_t_initialize { \
-    fake_build_setting_t_initialize, \
-    fake_make_setting_t_initialize, \
-    f_string_maps_t_initialize, \
-    fake_make_parameter_t_initialize, \
-    fake_make_parameter_t_initialize, \
-    fake_make_parameter_t_initialize, \
-    fake_make_path_t_initialize, \
-    fl_print_t_initialize, \
-    f_fss_nameds_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_iki_data_t_initialize, \
-    0, \
-    0, \
-    0, \
-    0, \
-  }
-#endif // _di_fake_make_data_t_
-
-/**
- * A structure for managing the operation and if-condition states.
- *
- * block:              The process block state.
- * block_result:       The result of the block.
- * condition:          The current if-condition type.
- * condition_result:   The result of the currently processed condition.
- * operation:          The current operation type.
- * operation_previous: The previous operation type.
- * success:            Current state is considered success when F_true and failure when F_false.
- * success_block:      Current block state is considered success when F_true and failure when F_false.
- */
-#ifndef _di_fake_state_process_t_
-  typedef struct {
-    uint8_t block;
-    uint8_t block_result;
-    uint8_t condition;
-    uint8_t condition_result;
-    uint8_t operation;
-    uint8_t operation_previous;
-    uint8_t success;
-    uint8_t success_block;
-  } fake_state_process_t;
-
-  #define fake_state_process_t_initialize { \
-    0, \
-    0, \
-    0, \
-    0, \
-    0, \
-    0, \
-    F_true, \
-    F_true, \
-  }
-#endif // _di_fake_state_process_t_
-
-/**
- * Designate the current process block state.
- *
- * fake_condition_result_*:
- *   - none:    No if-condition is set.
- *   - operate: The condition passed or perform condition, process the next operation or the condition.
- *   - skip:    The condition failed, skip the next operation.
- *   - done:    After the condition passed, the next operation was performed, all future operations within block are skipped.
- */
-#ifndef _di_fake_state_process_block_
-  enum {
-    fake_state_process_block_none_e = 0,
-    fake_state_process_block_operate_e,
-    fake_state_process_block_skip_e,
-    fake_state_process_block_done_e,
-  };
-#endif // _di_fake_state_process_block_
-
-/**
- * Designate that the if state is true, false, or undefined (none).
- *
- * fake_condition_result_*:
- *   - none:  The result of the if-condition is not set.
- *   - false: The result of the if-condition is false.
- *   - true:  The result of the if-condition is true.
- *   - error: An error occurred, any if-condition is to be skipped, falling back to the else condition, if any.
- */
-#ifndef _di_fake_condition_result_
-  enum {
-    fake_condition_result_none_e = 0,
-    fake_condition_result_false_e,
-    fake_condition_result_true_e,
-    fake_condition_result_error_e,
-  };
-#endif // _di_fake_condition_result_
-
-#ifndef _di_fake_skeleton_content_
-  #define FAKE_make_skeleton_content_defines_s      "# fss-0000\n\n"
-  #define FAKE_make_skeleton_content_dependencies_s "# fss-0000\n\n"
-  #define FAKE_make_skeleton_content_fakefile_s     "# fss-0005 iki-0002\n\nsettings:\n  fail exit\n\nmain:\n\n"
-  #define FAKE_make_skeleton_content_process_post_s "#!/bin/bash\n\n"
-  #define FAKE_make_skeleton_content_process_pre_s  "#!/bin/bash\n\n"
-  #define FAKE_make_skeleton_content_settings_s     "# fss-0001\n\n"
-
-  #define FAKE_make_skeleton_content_defines_s_length      12
-  #define FAKE_make_skeleton_content_dependencies_s_length 12
-  #define FAKE_make_skeleton_content_fakefile_s_length     51
-  #define FAKE_make_skeleton_content_process_post_s_length 13
-  #define FAKE_make_skeleton_content_process_pre_s_length  13
-  #define FAKE_make_skeleton_content_settings_s_length     12
-
-  extern const f_string_static_t fake_make_skeleton_content_defines_s;
-  extern const f_string_static_t fake_make_skeleton_content_dependencies_s;
-  extern const f_string_static_t fake_make_skeleton_content_fakefile_s;
-  extern const f_string_static_t fake_make_skeleton_content_process_post_s;
-  extern const f_string_static_t fake_make_skeleton_content_process_pre_s;
-  extern const f_string_static_t fake_make_skeleton_content_settings_s;
-#endif // _di_fake_skeleton_content_
-
-#ifndef _di_fake_make_context_
-  #define FAKE_make_context_error_s     "error"
-  #define FAKE_make_context_important_s "important"
-  #define FAKE_make_context_normal_s    "normal"
-  #define FAKE_make_context_notable_s   "notable"
-  #define FAKE_make_context_reset_s     "reset"
-  #define FAKE_make_context_standout_s  "standout"
-  #define FAKE_make_context_success_s   "success"
-  #define FAKE_make_context_title_s     "title"
-  #define FAKE_make_context_warning_s   "warning"
-
-  #define FAKE_make_context_error_s_length     5
-  #define FAKE_make_context_important_s_length 9
-  #define FAKE_make_context_normal_s_length    6
-  #define FAKE_make_context_notable_s_length   7
-  #define FAKE_make_context_reset_s_length     5
-  #define FAKE_make_context_standout_s_length  8
-  #define FAKE_make_context_success_s_length   7
-  #define FAKE_make_context_title_s_length     5
-  #define FAKE_make_context_warning_s_length   7
-
-  extern const f_string_static_t fake_make_context_error_s;
-  extern const f_string_static_t fake_make_context_important_s;
-  extern const f_string_static_t fake_make_context_normal_s;
-  extern const f_string_static_t fake_make_context_notable_s;
-  extern const f_string_static_t fake_make_context_reset_s;
-  extern const f_string_static_t fake_make_context_standout_s;
-  extern const f_string_static_t fake_make_context_success_s;
-  extern const f_string_static_t fake_make_context_title_s;
-  extern const f_string_static_t fake_make_context_warning_s;
-#endif // _di_fake_make_context_
-
-#ifndef _di_fake_file_data_build_strings_
-  #define FAKE_file_data_build_process_post_s "process_post.sh"
-  #define FAKE_file_data_build_process_pre_s  "process_pre.sh"
-
-  #define FAKE_file_data_build_process_post_s_length 15
-  #define FAKE_file_data_build_process_pre_s_length  14
-
-  extern const f_string_static_t fake_file_data_build_process_post_s;
-  extern const f_string_static_t fake_file_data_build_process_pre_s;
-#endif // _di_fake_file_data_build_strings_
-
-/**
- * Deallocate data.
- *
- * @param data
- *   The program data.
- *
- * @return
- *   F_none on success.
- *
- *   Status codes (with error bit) are returned on any problem.
- *
- * @see fake_main()
- */
-#ifndef _di_fake_data_delete_
-  extern f_status_t fake_data_delete(fake_data_t * const data);
-#endif // _di_fake_data_delete_
-
-/**
- * Deallocate make data.
- *
- * @param data
- *   The make data.
- *
- * @return
- *   F_none on success.
- *
- * @see f_fss_nameds_resize()
- * @see f_string_dynamic_resize()
- * @see f_string_maps_resize()
- */
-#ifndef _di_fake_make_data_delete_
-  extern f_status_t fake_make_data_delete(fake_make_data_t * const data) F_attribute_visibility_internal_d;
-#endif // _di_fake_make_data_delete_
-
 #ifdef __cplusplus
 } // extern "C"
 #endif
index e9dc2bfcdf45fde788cd801cc15b260be2bc394a..6d87898a0e49fb5873560cfcc6fdb5e7d4d31055 100644 (file)
@@ -7,327 +7,6 @@
 extern "C" {
 #endif
 
-#ifndef _di_fake_execute_
-  int fake_execute(fake_data_t * const data, const f_string_maps_t environment, const f_string_static_t program, const f_string_statics_t arguments, f_status_t * const status) {
-
-    if (F_status_is_error(*status)) return 1;
-
-    if (data->main->error.verbosity >= f_console_verbosity_verbose_e) {
-      f_file_stream_lock(data->main->message.to);
-
-      f_print_dynamic(program, data->main->message.to);
-
-      for (f_array_length_t i = 0; i < arguments.used; ++i) {
-
-        if (!arguments.array[i].used) continue;
-
-        fl_print_format(" %Q", data->main->message.to, arguments.array[i]);
-      } // for
-
-      f_print_dynamic_raw(f_string_eol_s, data->main->message.to);
-
-      f_file_stream_flush(data->main->message.to);
-      f_file_stream_unlock(data->main->message.to);
-    }
-
-    int return_code = 0;
-
-    if (program.used) {
-
-      // Child processes should receive all signals, without blocking.
-      f_signal_how_t signals = f_signal_how_t_initialize;
-      f_signal_set_empty(&signals.block);
-      f_signal_set_fill(&signals.block_not);
-
-      fl_execute_parameter_t parameter = macro_fl_execute_parameter_t_initialize(0, 0, &environment, &signals, 0);
-
-      *status = fll_execute_program(program, arguments, &parameter, 0, (void *) &return_code);
-
-      if (fll_program_standard_signal_received(data->main)) {
-        fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
-
-        *status = F_status_set_error(F_interrupt);
-
-        return 0;
-      }
-
-      if (*status == F_child) return return_code;
-    }
-    else {
-      *status = F_status_set_error(F_file_found_not);
-    }
-
-    if (return_code != 0) {
-      *status = F_status_set_error(F_failure);
-    }
-    else if (F_status_is_error(*status)) {
-      return_code = 1;
-
-      if (F_status_set_fine(*status) == F_file_found_not) {
-        if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-          f_file_stream_lock(data->main->error.to);
-
-          fl_print_format("%r%[%QFailed to find program '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
-          fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, program, data->main->error.notable);
-          fl_print_format("%[' for executing.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-          f_file_stream_unlock(data->main->error.to);
-        }
-      }
-      else {
-        fake_print_error(data->setting, *status, data->main->error, macro_fake_f(fll_execute_program));
-      }
-    }
-
-    return return_code;
-  }
-#endif // _di_fake_execute_
-
-#ifndef _di_fake_file_buffer_
-  f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer) {
-
-    if (fll_program_standard_signal_received(data->main)) {
-      fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
-
-      return F_status_set_error(F_interrupt);
-    }
-
-    f_status_t status = f_file_exists(path_file, F_true);
-
-    if (F_status_is_error(status)) {
-      fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e);
-
-      return status;
-    }
-
-    if (status == F_true) {
-      {
-        off_t size_file = 0;
-
-        status = f_file_size(path_file, F_true, &size_file);
-
-        if (F_status_is_error(status)) {
-          fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_size), path_file, f_file_operation_read_s, fll_error_file_type_file_e);
-
-          return status;
-        }
-
-        if (size_file > fake_common_initial_buffer_max_d) {
-          size_file = fake_common_initial_buffer_max_d;
-        }
-
-        status = f_string_dynamic_increase_by(size_file, buffer);
-
-        if (F_status_is_error(status)) {
-          const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24);
-
-          fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_string_dynamic_increase_by), path_file, message, fll_error_file_type_file_e);
-
-          return status;
-        }
-
-        status = F_true;
-      }
-
-      f_file_t file = f_file_t_initialize;
-
-      status = f_file_stream_open(path_file, f_string_empty_s, &file);
-
-      if (F_status_is_error(status)) {
-        fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stream_open), path_file, f_file_operation_open_s, fll_error_file_type_file_e);
-
-        return status;
-      }
-
-      status = f_file_stream_read(file, buffer);
-
-      f_file_stream_flush(file);
-      f_file_stream_close(&file);
-
-      if (F_status_is_error(status)) {
-        fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_read), path_file, f_file_operation_read_s, fll_error_file_type_file_e);
-      }
-    }
-    else {
-      if (required) {
-        status = F_status_set_error(F_file_found_not);
-
-        fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_exists), path_file, f_file_operation_find_s, fll_error_file_type_file_e);
-      }
-    }
-
-    return status;
-  }
-#endif // _di_fake_file_buffer_
-
-#ifndef _di_fake_pipe_buffer_
-  f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) {
-
-    f_status_t status = F_none;
-    f_file_t file = f_file_t_initialize;
-
-    file.id = F_type_descriptor_input_d;
-    file.stream = F_type_input_d;
-    file.size_read = fake_default_allocation_pipe_d;
-
-    status = f_string_dynamic_increase_by(fake_common_initial_buffer_max_d, buffer);
-
-    if (F_status_is_error(status)) {
-      const f_string_static_t message = macro_f_string_static_t_initialize("allocate buffer size for", 0, 24);
-      fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_string_dynamic_increase_by), f_string_ascii_minus_s, message, fll_error_file_type_file_e);
-
-      return status;
-    }
-
-    // Reset the error state before processing.
-    clearerr(F_type_input_d);
-
-    do {
-      if (fll_program_standard_signal_received(data->main)) {
-        fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
-
-        return F_status_set_error(F_interrupt);
-      }
-
-      status = f_file_stream_read_block(file, buffer);
-
-    } while (F_status_is_fine(status) && status != F_interrupt && status != F_none_eof);
-
-    if (F_status_is_error(status)) {
-      fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stream_read_block), f_string_ascii_minus_s, f_file_operation_read_s, fll_error_file_type_file_e);
-    }
-
-    return status;
-  }
-#endif // _di_fake_pipe_buffer_
-
-#ifndef _di_fake_validate_parameter_paths_
-  f_status_t fake_validate_parameter_paths(fake_data_t * const data) {
-
-    if (fll_program_standard_signal_received(data->main)) {
-      fll_program_print_signal_received(data->main->warning, data->setting->line_first, data->main->signal_received);
-
-      return F_status_set_error(F_interrupt);
-    }
-
-    const f_string_static_t names[] = {
-      fake_long_build_s,
-      fake_long_data_s,
-      fake_long_documents_s,
-      fake_long_licenses_s,
-      fake_long_sources_s,
-      fake_long_work_s,
-    };
-
-    const f_string_dynamic_t values[] = {
-      data->setting->build,
-      data->setting->data,
-      data->setting->documents,
-      data->setting->licenses,
-      data->setting->sources,
-      data->setting->work,
-    };
-
-    uint8_t requireds[] = {
-      F_false, // fake_long_build_s
-      (data->main->pipe & fll_program_data_pipe_input_e) ? F_false : F_true, // fake_long_data_s
-      F_false, // fake_long_documents_s
-      F_false, // fake_long_licenses_s
-      F_false, // fake_long_sources_s
-      F_false, // fake_long_work_s
-    };
-
-    struct stat directory_stat;
-
-    f_status_t status = F_none;
-
-    // Check only expected operations (fake_operation_clean_e and fake_operation_skeleton_e should not call this function).
-    if (data->operation == fake_operation_make_e) {
-      if (data->main->parameters.array[fake_parameter_fakefile_e].result == f_console_result_none_e) {
-        if (data->setting->build.used && f_file_exists(data->setting->build, F_false) != F_true) {
-          if (f_file_exists(fake_default_fakefile_s, F_false) == F_true) {
-            requireds[1] = F_false; // fake_long_data_s
-          }
-        }
-      }
-    }
-
-    // If a custom --data or a custom --fakefile parameter is passed and uses an absolute or relative to current path, then do not check.
-    if (data->operation == fake_operation_make_e || data->operation == fake_operation_build_e) {
-      f_console_parameter_t * const parameter = &data->main->parameters.array[
-        data->operation == fake_operation_make_e
-          ? fake_parameter_fakefile_e
-          : fake_parameter_settings_e
-        ];
-
-      if (parameter->result & f_console_result_value_e) {
-        const f_array_length_t index = parameter->values.array[parameter->values.used - 1];
-
-        if (f_path_is_absolute(data->main->parameters.arguments.array[index]) == F_true || f_path_is_relative_current(data->main->parameters.arguments.array[index]) == F_true) {
-          requireds[1] = F_none; // fake_long_data_s
-        }
-        else {
-          status = f_file_exists(data->main->parameters.arguments.array[index], F_true);
-
-          if (F_status_is_error_not(status) && status == F_true) {
-            requireds[1] = F_none; // fake_long_data_s
-          }
-        }
-      }
-    }
-
-    for (uint8_t i = 0; i < 6; ++i) {
-
-      if (requireds[i] != F_none && values[i].used) {
-        memset(&directory_stat, 0, sizeof(struct stat));
-
-        status = f_file_stat(values[i], F_true, &directory_stat);
-
-        if (status == F_status_set_error(F_file_found_not)) status = F_status_set_error(F_directory_found_not);
-
-        if (F_status_is_error(status)) {
-          if (F_status_set_fine(status) != F_directory_found_not || requireds[i]) {
-            fake_print_error_file(data->setting, status, data->main->error, macro_fake_f(f_file_stat), values[i], f_file_operation_access_s, fll_error_file_type_directory_e);
-
-            return status;
-          }
-        }
-      }
-      else if (requireds[i] == F_true) {
-        f_file_stream_lock(data->main->error.to);
-
-        fl_print_format("%r%[%QNo valid path for the (required) directory parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
-        fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, names[i], data->main->error.notable);
-        fl_print_format("%[' was found.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-
-        return F_status_set_error(F_directory_found_not);
-      }
-    } // for
-
-    return F_none;
-  }
-#endif // _di_fake_validate_parameter_paths_
-
-#ifndef _di_fake_verbose_print_clone_
-  void fake_verbose_print_clone(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) {
-    fll_print_format("Cloned '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s);
-  }
-#endif // _di_fake_verbose_print_clone_
-
-#ifndef _di_fake_verbose_print_copy_
-  void fake_verbose_print_copy(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) {
-    fll_print_format("Copied '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s);
-  }
-#endif // _di_fake_verbose_print_copy_
-
-#ifndef _di_fake_verbose_print_move_
-  void fake_verbose_print_move(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) {
-    fll_print_format("Moved '%Q' to '%Q'.%r", output, source, destination, f_string_eol_s);
-  }
-#endif // _di_fake_verbose_print_move_
-
 #ifdef __cplusplus
 } // extern "C"
 #endif
index 2bcb2b0c179f193796a47d924b3acd4b5cc2659e..1a3df65efb61d44ccee5fa26338de161e2b5b94e 100644 (file)
 extern "C" {
 #endif
 
-/**
- * Execute the given command and arguments.
- *
- * Will print the command if in verbose mode.
- *
- * @param data
- *   The program data.
- * @param environment
- *   The environment variable data.
- * @param program
- *   The program to be executed.
- * @param arguments
- *   The arguments to be passed to the program.
- * @param status
- *   The return status.
- *
- * @return
- *   The return code result from execution.
- *   A value of 1 is returned if status has the error bit set.
- *
- *   F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
- */
-#ifndef _di_fake_execute_
-  extern int fake_execute(fake_data_t * const data, const f_string_maps_t environment, const f_string_static_t program, const f_string_statics_t arguments, f_status_t * const status) F_attribute_visibility_internal_d;
-#endif // _di_fake_execute_
-
-/**
- * Load the contents of a file into the given buffer, handling all potential errors.
- *
- * @param data
- *   The program data.
- * @param path_file
- *   The path to the file to load.
- * @param required
- *   If TRUE, then return error when file is not found.
- *   If FALSE, then return F_false when file is not found.
- * @param buffer
- *   A buffer containing the contents of the file.
- *
- * @return
- *   F_none on success.
- *   F_false on file not found and file is not required.
- *
- *   F_file_found_not (with error bit) if file is not found and file is required.
- *   F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
- *
- *   Status codes (with error bit) are returned on any problem.
- */
-#ifndef _di_fake_file_buffer_
-  extern f_status_t fake_file_buffer(fake_data_t * const data, const f_string_static_t path_file, const bool required, f_string_dynamic_t * const buffer) F_attribute_visibility_internal_d;
-#endif // _di_fake_file_buffer_
-
-/**
- * Load the contents of the standard input pipe into the given buffer, handling all potential errors.
- *
- * @param data
- *   The program data.
- * @param buffer
- *   A buffer containing the contents of the file.
- *
- * @return
- *   F_none on success.
- *
- *   F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
- *
- *   Status codes (with error bit) are returned on any problem.
- */
-#ifndef _di_fake_pipe_buffer_
-  extern f_status_t fake_pipe_buffer(fake_data_t * const data, f_string_dynamic_t * const buffer) F_attribute_visibility_internal_d;
-#endif // _di_fake_pipe_buffer_
-
-/**
- * Validate directories and print any relating error messages.
- *
- * This should not be called for skeleton as in that case the directories probably do not exist.
- *
- * @param data
- *   The program data.
- *
- * @return
- *   F_none on success.
- *
- *   F_interrupt (with error bit) on receiving a terminate process signal, such as an interrupt signal.
- *
- *   Status codes (with error bit) are returned on any problem.
- */
-#ifndef _di_fake_validate_parameter_paths_
-  extern f_status_t fake_validate_parameter_paths(fake_data_t * const data) F_attribute_visibility_internal_d;
-#endif // _di_fake_validate_parameter_paths_
-
-/**
- * Helper function for performing a verbose print for a file clone operation.
- *
- * @param output
- *   A file to print to.
- * @param source
- *   The source string.
- * @param destination
- *   The destination string.
- */
-#ifndef _di_fake_verbose_print_clone_
-  extern void fake_verbose_print_clone(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d;
-#endif // _di_fake_verbose_print_clone_
-
-/**
- * Helper function for performing a verbose print for a file copy operation.
- *
- * @param output
- *   A file to print to.
- * @param source
- *   The source string.
- * @param destination
- *   The destination string.
- */
-#ifndef _di_fake_verbose_print_copy_
-  extern void fake_verbose_print_copy(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d;
-#endif // _di_fake_verbose_print_copy_
-
-/**
- * Helper function for performing a verbose print for a file move operation.
- *
- * @param output
- *   A file to print to.
- * @param source
- *   The source string.
- * @param destination
- *   The destination string.
- */
-#ifndef _di_fake_verbose_print_move_
-  extern void fake_verbose_print_move(const f_file_t output, const f_string_static_t source, const f_string_static_t destination) F_attribute_visibility_internal_d;
-#endif // _di_fake_verbose_print_move_
-
 #ifdef __cplusplus
 } // extern "C"
 #endif
index 24ddf8c74de9e62052f48cbd14399dd3972c0a0b..6d4b4ef81357995e3bc3e953e44c2a22b8aeb6aa 100644 (file)
@@ -6,637 +6,6 @@
 extern "C" {
 #endif
 
-#ifndef _di_fake_print_error_build_operation_file_
-  bool fake_print_error_build_operation_file(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) {
-
-    if (F_status_set_fine(status) == F_file_found_not) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QFailed to find '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_parameter) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QInvalid parameter when calling '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
-        fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, function, data->main->error.notable);
-        fl_print_format("%[() to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_name) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QInvalid name for '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
-
-        if (source.used) {
-          fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable);
-        }
-
-        if (destination.used) {
-          fl_print_format("%[' or '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-          fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, destination, data->main->error.notable);
-        }
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_memory_not) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QUnable to allocate memory, while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_number_overflow) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QOverflow while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_directory) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QInvalid directory while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_access_denied) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QAccess denied while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_loop) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QLoop while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_prohibited) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QProhibited by system while trying to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_directory_found_not) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QFailed to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%[' due to an invalid directory in the path.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (F_status_set_fine(status) == F_failure) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fake_print_line_first_locked(data->setting, data->main->error);
-
-        fl_print_format("%[%QFailed to %Q '%]", data->main->error.to, data->main->error.context, data->main->error.prefix, operation, data->main->error.context);
-
-        fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-        fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (fll_error_print(data->main->error, F_status_set_fine(status), function, F_false) == F_known_not && fallback && data->main->error.verbosity > f_console_verbosity_quiet_e) {
-      f_file_stream_lock(data->main->error.to);
-
-      fake_print_line_first_locked(data->setting, data->main->error);
-
-      fl_print_format("%[UNKNOWN %Q(%]", data->main->error.to, data->main->error.context, data->main->error.prefix, data->main->error.context);
-      fl_print_format("%[%ui%]", data->main->error.to, data->main->error.notable, F_status_set_fine(status), data->main->error.notable);
-      fl_print_format("%[) occurred while trying to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context);
-
-      fake_print_error_build_operation_file_message(data, operation, source, destination, how);
-
-      fl_print_format("%['.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-      f_file_stream_unlock(data->main->error.to);
-    }
-
-    return F_true;
-  }
-#endif // _di_fake_print_error_build_operation_file_
-
-#ifndef _di_fake_print_error_build_operation_file_message_
-  void fake_print_error_build_operation_file_message(fake_data_t * const data, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) {
-
-    if (source.used) {
-      fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable);
-    }
-
-    fl_print_format("%[while trying to %Q '%]", data->main->error.to, data->main->error.context, operation, data->main->error.context);
-
-    if (destination.used) {
-      fl_print_format("%[' %Q '%]", data->main->error.to, data->main->error.context, how, data->main->error.context);
-      fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, destination, data->main->error.notable);
-    }
-    else if (source.used) {
-      fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, source, data->main->error.notable);
-    }
-  }
-#endif // _di_fake_print_error_build_operation_file_message_
-
-#ifndef _di_fake_print_error_fss
-  bool fake_print_error_fss(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) {
-
-    if (status == F_file_found_not) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fl_print_format("%r%[%QOccurred on invalid UTF-8 character at stop position (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
-        fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable);
-        fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-        fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable);
-        fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (status == F_complete_not_utf || status == F_complete_not_utf_eos || status == F_complete_not_utf_stop) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fl_print_format("%r%[%QOccurred on invalid UTF-8 character at %s (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, status == F_complete_not_utf_eos ? "end of string" : "stop point of string", data->main->error.context);
-        fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable);
-        fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-        fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable);
-        fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (status == F_complete_not_utf_stop) {
-      if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-        f_file_stream_lock(data->main->error.to);
-
-        fl_print_format("%r%[%QOccurred on invalid UTF-8 character at stop point of string (at '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
-        fl_print_format("%[%un%]", data->main->error.to, data->main->error.notable, range.start, data->main->error.notable);
-        fl_print_format("%[ of setting file '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-        fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, path_file, data->main->error.notable);
-        fl_print_format("%[').%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-        f_file_stream_unlock(data->main->error.to);
-      }
-
-      return F_false;
-    }
-
-    if (fll_error_print(data->main->error, status, function, F_false) == F_known_not && fallback && data->main->error.verbosity > f_console_verbosity_quiet_e) {
-      f_file_stream_lock(data->main->error.to);
-
-      fl_print_format("%r%[UNKNOWN %Q(%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
-      fl_print_format("%[%ui%]", data->main->error.to, data->main->error.notable, status, data->main->error.notable);
-      fl_print_format("%[) in function '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-      fl_print_format("%[%Q%]", data->main->error.to, data->main->error.notable, function, data->main->error.notable);
-      fl_print_format("%[().%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-      f_file_stream_unlock(data->main->error.to);
-    }
-
-    return F_true;
-  }
-#endif // _di_fake_print_error_fss
-
-#ifndef _di_fake_print_error_parameter_missing_value_
-  void fake_print_error_parameter_missing_value(fake_data_t * const data, const f_string_static_t parameter) {
-
-    if (data->main->error.verbosity == f_console_verbosity_quiet_e) return;
-
-    f_file_stream_lock(data->main->error.to);
-
-    fl_print_format("%r%[%QThe parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
-    fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, parameter, data->main->error.notable);
-    fl_print_format("%[' is specified, but no value is given.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-    f_file_stream_unlock(data->main->error.to);
-  }
-#endif // _di_fake_print_error_parameter_missing_value_
-
-#ifndef _di_fake_print_error_parameter_too_many_
-  void fake_print_error_parameter_too_many(fake_data_t * const data, const f_string_static_t parameter) {
-
-    if (data->main->error.verbosity == f_console_verbosity_quiet_e) return;
-
-    f_file_stream_lock(data->main->error.to);
-
-    fl_print_format("%r%[%QThe parameter '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
-    fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, parameter, data->main->error.notable);
-    fl_print_format("%[' was specified too many times.%]%r", data->main->error.to, data->main->error.context, data->main->error.context, f_string_eol_s);
-
-    f_file_stream_unlock(data->main->error.to);
-  }
-#endif // _di_fake_print_error_parameter_too_many_
-
-#ifndef _di_fake_print_error_requires_more_arguments_
-  void fake_print_error_requires_more_arguments(fake_make_data_t * const data_make) {
-
-    if (data_make->error.verbosity == f_console_verbosity_quiet_e) return;
-    if (!data_make->main->error.to.stream) return;
-
-    fll_print_format("%r%[%QRequires more arguments.%]%r", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s);
-  }
-#endif // _di_fake_print_error_requires_more_arguments_
-
-#ifndef _di_fake_print_error_too_many_arguments_
-  void fake_print_error_too_many_arguments(fake_make_data_t * const data_make) {
-
-    if (data_make->error.verbosity == f_console_verbosity_quiet_e) return;
-    if (!data_make->main->error.to.stream) return;
-
-    fll_print_format("%r%[%QHas too many arguments.%]%r", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context, f_string_eol_s);
-  }
-#endif // _di_fake_print_error_too_many_arguments_
-
-#ifndef _di_fake_print_error_argument_empty_
-  void fake_print_error_argument_empty(fake_make_data_t * const data_make, const f_array_length_t index) {
-
-    if (data_make->error.verbosity == f_console_verbosity_quiet_e) return;
-    if (!data_make->main->error.to.stream) return;
-
-    f_file_stream_lock(data_make->main->error.to);
-
-    fl_print_format("%r%[%QThe %]", data_make->main->error.to, f_string_eol_s, data_make->error.context, data_make->error.prefix, data_make->error.context);
-    fl_print_format("%[%un%]", data_make->main->error.to, data_make->error.notable, index, data_make->error.notable);
-    fl_print_format("%[ argument must not be an empty string.%]%r", data_make->main->error.to, data_make->error.context, data_make->error.context, f_string_eol_s);
-
-    f_file_stream_unlock(data_make->main->error.to);
-  }
-#endif // _di_fake_print_error_argument_empty_
-
-#ifndef _di_fake_print_message_section_operation_failed_
-  void fake_print_message_section_operation_failed(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) {
-
-    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
-
-    f_array_length_t line = 1;
-    f_state_t state = f_state_t_initialize;
-
-    f_fss_count_lines(state, buffer, operation_name.start, &line);
-
-    f_file_stream_lock(print.to);
-
-    fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
-    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable);
-    fl_print_format("%[' from section '%]", print.to, print.context, print.context);
-    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable);
-    fl_print_format("%[' on line%] ", print.to, print.context, print.context);
-    fl_print_format("%[%un%]", print.to, print.notable, line, print.notable);
-    fl_print_format(" %[failed.%]%r", print.to, print.context, print.context, f_string_eol_s);
-
-    f_file_stream_unlock(print.to);
-  }
-#endif // _di_fake_print_message_section_operation_failed_
-
-#ifndef _di_fake_print_message_section_operation_link_argument_unknown_
-  void fake_print_message_section_operation_link_argument_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) {
-
-    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
-
-    f_file_stream_lock(print.to);
-
-    fl_print_format("%r%[%QThe argument '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
-    fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable);
-    fl_print_format("%[' is not not valid and may only be one of either '%]", print.to, print.context, print.context);
-    fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_force_s, print.notable);
-    fl_print_format("%[' or '%]", print.to, print.context, print.context);
-    fl_print_format("%[%r%]", print.to, print.notable, fake_make_operation_argument_strict_s, print.notable);
-    fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s);
-
-    f_file_stream_unlock(print.to);
-
-  }
-#endif // _di_fake_print_message_section_operation_link_argument_unknown_
-
-#ifndef _di_fake_print_message_section_operation_link_point_exists_
-  void fake_print_message_section_operation_link_point_exists(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) {
-
-    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
-
-    f_file_stream_lock(print.to);
-
-    fl_print_format("%r%[%QThe point file '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
-    fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable);
-    fl_print_format("%[' already exists.%]%r", print.to, print.context, print.context, f_string_eol_s);
-
-    f_file_stream_unlock(print.to);
-
-  }
-#endif // _di_fake_print_message_section_operation_link_point_exists_
-
-#ifndef _di_fake_print_message_section_operation_link_target_exists_not_
-  void fake_print_message_section_operation_link_target_exists_not(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) {
-
-    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
-
-    f_file_stream_lock(print.to);
-
-    fl_print_format("%r%[%QThe target file '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
-    fl_print_format("%[%Q%]", print.to, print.notable, argument, print.notable);
-    fl_print_format("%[' does not exist.%]%r", print.to, print.context, print.context, f_string_eol_s);
-
-    f_file_stream_unlock(print.to);
-
-  }
-#endif // _di_fake_print_message_section_operation_link_target_exists_not_
-
-#ifndef _di_fake_print_message_section_operation_path_outside_
-  void fake_print_message_section_operation_path_outside(fake_data_t * const data, const fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) {
-
-    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
-
-    f_file_stream_lock(print.to);
-
-    if (F_status_set_fine(status) == F_false) {
-      fake_print_line_first_locked(data->setting, data->main->error);
-
-      fl_print_format("%[%QThe path '%]", print.to, print.context, print.prefix, print.context);
-      fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable);
-      fl_print_format("%[' is outside the project root.%]%r", print.to, print.context, print.context, f_string_eol_s);
-    }
-    else {
-      fake_print_error_file(data->setting, status, print, function, path, fake_common_file_path_determine_real_s, fll_error_file_type_file_e);
-    }
-
-    f_file_stream_unlock(print.to);
-  }
-#endif // _di_fake_print_message_section_operation_path_outside_
-
-#ifndef _di_fake_print_message_section_operation_path_stack_max_
-  void fake_print_message_section_operation_path_stack_max(fake_data_t * const data, fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) {
-
-    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
-
-    if (status == F_array_too_large) {
-      f_file_stream_lock(print.to);
-
-      fl_print_format("%r%[%QMaximum stack size reached while processing path '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
-      fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable);
-      fl_print_format("%['", print.to, print.context);
-
-      if (function) {
-        fl_print_format(" while calling%] %[%S%]", print.to, print.context, print.notable, function, print.notable);
-        fl_print_format("%[()", print.to, print.context);
-      }
-
-      fl_print_format(".%]%r", print.to, print.context, f_string_eol_s);
-
-      f_file_stream_unlock(print.to);
-    }
-    else {
-      fake_print_error_file(data->setting, status, print, function, path, fake_common_file_path_change_to_s, fll_error_file_type_directory_e);
-    }
-  }
-#endif // _di_fake_print_message_section_operation_path_stack_max_
-
-#ifndef _di_fake_print_message_section_operation_stack_max_
-  void fake_print_message_section_operation_stack_max(fake_data_t * const data, fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) {
-
-    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
-
-    f_array_length_t line = 1;
-    f_state_t state = f_state_t_initialize;
-
-    f_fss_count_lines(state, buffer, operation_name.start, &line);
-
-    f_file_stream_lock(print.to);
-
-    fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
-    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable);
-    fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context);
-    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable);
-    fl_print_format("%[' on line%] ", print.to, print.context, print.context);
-    fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable);
-    fl_print_format("%[' cannot be processed because the max stack depth of%] ", print.to, print.context, print.context);
-    fl_print_format("%[%ul%]", print.to, print.notable, stack_max, print.notable);
-    fl_print_format(" %[has been reached.%]%r", print.to, print.context, print.context, f_string_eol_s);
-
-    f_file_stream_unlock(print.to);
-  }
-#endif // _di_fake_print_message_section_operation_stack_max_
-
-#ifndef _di_fake_print_message_section_operation_unknown_
-  void fake_print_message_section_operation_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) {
-
-    if (print.verbosity == f_console_verbosity_quiet_e || !print.to.stream) return;
-
-    f_array_length_t line = 1;
-    f_state_t state = f_state_t_initialize;
-
-    f_fss_count_lines(state, buffer, operation_name.start, &line);
-
-    f_file_stream_lock(print.to);
-
-    fl_print_format("%r%[%QThe section operation '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
-    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, operation_name, print.notable);
-    fl_print_format("%[' from section '%]", print.to, print.context, buffer, print.context);
-    fl_print_format("%[%/Q%]", print.to, print.notable, buffer, section_name, print.notable);
-    fl_print_format("%[' on line%] ", print.to, print.context, print.context);
-    fl_print_format("%[%ul%]", print.to, print.notable, line, print.notable);
-    fl_print_format(" %[is not a known operation name.%]%r", print.to, print.context, print.context, f_string_eol_s);
-
-    f_file_stream_unlock(print.to);
-  }
-#endif // _di_fake_print_message_section_operation_unknown_
-
-#ifndef _di_fake_print_warning_settings_content_empty_
-  void fake_print_warning_settings_content_empty(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_static_t settings_name) {
-
-    if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return;
-
-    f_file_stream_lock(data->main->warning.to);
-
-    fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context);
-    fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable);
-    fl_print_format("%[' has empty content for the '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-    fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, settings_name, data->main->warning.notable);
-    fl_print_format("%[' object '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-    fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_object, data->main->warning.notable);
-    fl_print_format("%['.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s);
-
-    f_file_stream_unlock(data->main->warning.to);
-  }
-#endif // _di_fake_print_warning_settings_content_empty_
-
-#ifndef _di_fake_print_warning_settings_content_invalid_
-  void fake_print_warning_settings_content_invalid(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_range_t range_content, const f_string_static_t settings_name) {
-
-    if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return;
-
-    f_file_stream_lock(data->main->warning.to);
-
-    fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context);
-    fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable);
-    fl_print_format("%[' has invalid content '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-    fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_content, data->main->warning.notable);
-    fl_print_format("%[' for the '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-    fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, settings_name, data->main->warning.notable);
-    fl_print_format("%[' object '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-    fl_print_format("%[%/Q%]", data->main->warning.to, data->main->warning.notable, buffer, range_object, data->main->warning.notable);
-    fl_print_format("%['.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s);
-
-    f_file_stream_unlock(data->main->warning.to);
-  }
-#endif // _di_fake_print_warning_settings_content_invalid_
-
-#ifndef _di_fake_print_warning_settings_content_multiple_
-  void fake_print_warning_settings_content_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t name_object) {
-
-    if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return;
-
-    f_file_stream_lock(data->main->warning.to);
-
-    fl_print_format("%r%[%QThe fakefile '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context);
-    fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, name_object, data->main->warning.notable);
-    fl_print_format("%[' in the file '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-    fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable);
-    fl_print_format("%[' may only have a single property, only using the first.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s);
-
-    f_file_stream_unlock(data->main->warning.to);
-  }
-#endif // _di_fake_print_warning_settings_content_multiple_
-
-#ifndef _di_fake_print_warning_settings_object_multiple_
-  void fake_print_warning_settings_object_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t label, const f_string_static_t name_object) {
-
-    if (data->main->warning.verbosity == f_console_verbosity_quiet_e) return;
-
-    f_file_stream_lock(data->main->warning.to);
-
-    fl_print_format("%r%[%QThe object '%]", data->main->warning.to, f_string_eol_s, data->main->warning.context, data->main->warning.prefix, data->main->warning.context);
-    fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, name_object, data->main->warning.notable);
-    fl_print_format("%[' in the file '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-    fl_print_format("%[%Q%]", data->main->warning.to, data->main->warning.notable, path_file, data->main->warning.notable);
-    fl_print_format("%[' may only be specified once, only using the first.%]%r", data->main->warning.to, data->main->warning.context, data->main->warning.context, f_string_eol_s);
-
-    f_file_stream_unlock(data->main->warning.to);
-  }
-#endif // _di_fake_print_warning_settings_object_multiple_
-
 #ifdef __cplusplus
 } // extern "C"
 #endif
index 5e74abf31f5a82c857a4238bc860ee0d00738aef..ac39d789fdf898b45227fb0ad1532744d524f7a3 100644 (file)
 extern "C" {
 #endif
 
-/**
- * Print build operation file error messages.
- *
- * @param data
- *   The program data.
- * @param status
- *   The status to use.
- *   This is provided, ignoring data.setting->status, for thread-safety reasons.
- * @param function
- *   The name of the function where the error happened.
- * @param operation
- *   The operation performed.
- * @param source
- *   The operation source.
- * @param destination
- *   The operation destination, if applicable.
- *   Set destination.used to 0 to disable.
- * @param how
- *   The how the operation is perform, such as "to" in "copy" source "to" destination.
- * @param fallback
- *   Set to F_true to print the fallback error message for unknown errors.
- *
- * @return
- *   F_true is returned if the status code has no print message.
- *   F_false is returned on successful print of known errors.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- *
- * @see fake_print_error_build_operation_file_message();
- */
-#ifndef _di_fake_print_error_operation_file_
-  extern bool fake_print_error_build_operation_file(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how, const bool fallback) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_error_operation_file_
-
-/**
- * Helper function for printing build operation file error messages.
- *
- * This prints the "copy source to destination" part of the message.
- *
- * @param data
- *   The program data.
- * @param operation
- *   The operation performed.
- * @param source
- *   The operation source.
- * @param destination
- *   The operation destination, if applicable.
- *   Set destination.used to 0 to disable.
- * @param how
- *   The how the operation is perform, such as "to" in "copy" source "to" destination.
- *
- * @see fl_print_format()
- *
- * @see fake_print_error_build_operation_file()
- */
-#ifndef _di_fake_print_error_build_operation_file_message_
-  extern void fake_print_error_build_operation_file_message(fake_data_t * const data, const f_string_static_t operation, const f_string_static_t source, const f_string_static_t destination, const f_string_static_t how) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_error_build_operation_file_message_
-
-/**
- * Print FSS error messages.
- *
- * @param data
- *   The program data.
- * @param status
- *   The error status code to report on.
- * @param function
- *   The function call that returned the error.
- * @param path_file
- *   The path to the file.
- * @param range
- *   The range representing the position in the buffer such that range.start is where the error happened.
- * @param fallback
- *   Set to F_true to print the fallback error message for unknown errors.
- *
- * @return
- *   F_true is returned if the status code has no print message.
- *   F_false is returned on successful print of known errors.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_error_fss_
-  extern bool fake_print_error_fss(fake_data_t * const data, const f_status_t status, const f_string_t function, const f_string_static_t path_file, const f_string_range_t range, const bool fallback) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_error_fss_
-
-/**
- * Print an error message for when the parameter is missing its accompanying value.
- *
- * @param data
- *   The program data.
- * @param parameter
- *   The parameter name.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_error_parameter_missing_value_
-  extern void fake_print_error_parameter_missing_value(fake_data_t * const data, const f_string_static_t parameter) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_error_parameter_missing_value_
-
-/**
- * Print an error message for when the parameter is specified too many times.
- *
- * @param data
- *   The program data.
- * @param parameter
- *   The parameter name.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_error_parameter_too_many_
-  extern void fake_print_error_parameter_too_many(fake_data_t * const data, const f_string_static_t parameter) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_error_parameter_too_many_
-
-/**
- * Print an error message for when there are more arguments are required (such as to a fakefile operation).
- *
- * @param data_make
- *   All make related setting data, including data from the fakefile and the build settings file.
- *
- * @see fll_print_format()
- */
-#ifndef _di_fake_print_error_requires_more_arguments_
-  extern void fake_print_error_requires_more_arguments(fake_make_data_t * const data_make) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_error_requires_more_arguments_
-
-/**
- * Print an error message for when there are too many arguments passed (such as to a fakefile operation).
- *
- * @param data_make
- *   All make related setting data, including data from the fakefile and the build settings file.
- *
- * @see fll_print_format()
- */
-#ifndef _di_fake_print_error_too_many_arguments_
-  extern void fake_print_error_too_many_arguments(fake_make_data_t * const data_make) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_error_too_many_arguments_
-
-/**
- * Print an error message for when an argument is an empty string.
- *
- * @param data_make
- *   All make related setting data, including data from the fakefile and the build settings file.
- * @param index
- *   The index of the argument that is an empty string.
- *
- * @see fll_print_format()
- */
-#ifndef _di_fake_print_error_argument_empty_
-  extern void fake_print_error_argument_empty(fake_make_data_t * const data_make, const f_array_length_t index) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_error_argument_empty_
-
-/**
- * Print error messages when processing some fakefile section, for a specific line and operation, and that operation failed.
- *
- * @param data
- *   The program data.
- * @param print
- *   Designates how the section error/warning should be printed.
- * @param buffer
- *   The buffer containing the fakefile data.
- * @param section_name
- *   The range within the buffer representing the section name.
- * @param operation_name
- *   The range within the buffer representing the operation name within the section.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_message_section_operation_failed_
-  extern void fake_print_message_section_operation_failed(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_message_section_operation_failed_
-
-/**
- * Print error messages when a given link argument is unknown.
- *
- * @param data
- *   The program data.
- * @param print
- *   Designates how the section error/warning should be printed.
- * @param argument
- *   The argument that is unknown by the link operation.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_message_section_operation_link_argument_unknown_
-  extern void fake_print_message_section_operation_link_argument_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_message_section_operation_link_argument_unknown_
-
-/**
- * Print error messages when a given link point file already exists.
- *
- * @param data
- *   The program data.
- * @param print
- *   Designates how the section error/warning should be printed.
- * @param argument
- *   The argument representing the point file.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_message_section_operation_link_point_exists_
-  extern void fake_print_message_section_operation_link_point_exists(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_message_section_operation_link_point_exists_
-
-/**
- * Print error messages when a given link target file does not already exist.
- *
- * @param data
- *   The program data.
- * @param print
- *   Designates how the section error/warning should be printed.
- * @param argument
- *   The argument representing the point file.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_message_section_operation_link_target_exists_not_
-  extern void fake_print_message_section_operation_link_target_exists_not(fake_data_t * const data, const fl_print_t print, const f_string_static_t argument) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_message_section_operation_link_target_exists_not_
-
-/**
- * Print error messages when processing some fakefile section, for a specific line and operation, and that operation has a path outside of the project root.
- *
- * @param data
- *   The program data.
- * @param print
- *   Designates how the section error/warning should be printed.
- * @param status
- *   The status code representing an error.
- * @param function
- *   The name of the function where the error happened.
- * @param path
- *   The path that is outside of the project path.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- * @see fll_error_file_print()
- */
-#ifndef _di_fake_print_message_section_operation_path_outside_
-  extern void fake_print_message_section_operation_path_outside(fake_data_t * const data, const fl_print_t print, const f_status_t status, const f_string_t function, const f_string_static_t path) F_attribute_visibility_internal_d;
-#endif // _fake_print_message_section_operation_path_outside_
-
-/**
- * Print error messages when processing some fakefile section, for a specific line and operation.
- *
- * @param data
- *   The program data.
- * @param error
- *   Designates how the section error/warning should be printed.
- * @param status
- *   The status code representing an error.
- * @param function
- *   The name of the function where the error happened.
- *   Set to 0 to disable.
- * @param path
- *   The path to the directory.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- * @see fll_error_file_print()
- */
-#ifndef _di_fake_print_message_section_operation_path_stack_max_
-  extern void fake_print_message_section_operation_path_stack_max(fake_data_t * const data, fl_print_t error, const f_status_t status, const f_string_t function, const f_string_static_t path) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_message_section_operation_path_stack_max_
-
-/**
- * Print error messages when processing some fakefile section, for a specific line and operation, and that the max stack depth is reached.
- *
- * @param data
- *   The program data.
- * @param print
- *   Designates how the section error/warning should be printed.
- * @param buffer
- *   The buffer containing the fakefile data.
- * @param section_name
- *   The range within the buffer representing the section name.
- * @param operation_name
- *   The range within the buffer representing the operation name within the section.
- * @param stack_max
- *   The max stack depth.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_message_section_operation_stack_max_
-  extern void fake_print_message_section_operation_stack_max(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name, const f_array_length_t stack_max) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_message_section_operation_stack_max_
-
-/**
- * Print error messages when processing some fakefile section, for a specific line and operation, and that operation is invalid.
- *
- * @param data
- *   The program data.
- * @param print
- *   Designates how the section error/warning should be printed.
- * @param buffer
- *   The buffer containing the fakefile data.
- * @param section_name
- *   The range within the buffer representing the section name.
- * @param operation_name
- *   The range within the buffer representing the operation name within the section.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_message_section_operation_unknown_
-  extern void fake_print_message_section_operation_unknown(fake_data_t * const data, const fl_print_t print, const f_string_static_t buffer, const f_string_range_t section_name, const f_string_range_t operation_name) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_message_section_operation_unknown_
-
-/**
- * Print message when fake settings content is empty.
- *
- * @param data
- *   The program data.
- * @param path_file
- *   The path to the fakefile.
- * @param buffer
- *   The buffer containing the loaded file content.
- * @param range_object
- *   The range within the buffer representing the object.
- * @param settings_name
- *   The name of the setting that has an invalid value.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_warning_settings_content_empty_
-  extern void fake_print_warning_settings_content_empty(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_static_t settings_name) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_warning_settings_content_empty_
-
-/**
- * Print warning message when fake settings content is invalid.
- *
- * @param data
- *   The program data.
- * @param path_file
- *   The path to the fakefile.
- * @param buffer
- *   The buffer containing the loaded file content.
- * @param range_object
- *   The range within the buffer representing the object.
- * @param range_content
- *   The range within the buffer representing the content.
- * @param settings_name
- *   The name of the setting that has an invalid value.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_warning_settings_content_invalid_
-  extern void fake_print_warning_settings_content_invalid(fake_data_t * const data, const f_string_static_t path_file, const f_string_dynamic_t buffer, const f_string_range_t range_object, const f_string_range_t range_content, const f_string_static_t settings_name) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_warning_settings_content_invalid_
-
-/**
- * Print warning message when settings content has too many values.
- *
- * @param data
- *   The program data.
- * @param path_file
- *   The path to the fakefile.
- * @param buffer
- *   The buffer containing the loaded file content.
- * @param name_object
- *   The name of the object.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_warning_settings_content_multiple_
-  extern void fake_print_warning_settings_content_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t name_object) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_warning_settings_content_multiple_
-
-/**
- * Print warning message when fakefile has too many objects with the same name.
- *
- * @param data
- *   The program data.
- * @param path_file
- *   The path to the fakefile.
- * @param buffer
- *   The buffer containing the loaded file content.
- * @param label
- *   A label describing what this object belongs to.
- * @param name_object
- *   The name of the object.
- *
- * @see f_file_stream_lock()
- * @see f_file_stream_unlock()
- * @see fl_print_format()
- */
-#ifndef _di_fake_print_warning_settings_object_multiple_
-  extern void fake_print_warning_settings_object_multiple(fake_data_t * const data, const f_string_static_t path_file, const f_string_static_t label, const f_string_static_t name_object) F_attribute_visibility_internal_d;
-#endif // _di_fake_print_warning_settings_object_multiple_
-
 #ifdef __cplusplus
 } // extern "C"
 #endif
similarity index 99%
rename from level_3/fake/c/main/private-skeleton.c
rename to level_3/fake/c/main/skeleton.c
index 6a4bc98bdab891d5d10fe5f6f5e4dc23e2443e25..26fe0243862caf9e9fec3bd3a99627e8f7ae5fa4 100644 (file)
@@ -1,6 +1,5 @@
 #include "fake.h"
-#include "private-common.h"
-#include "private-skeleton.h"
+#include "skeleton.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/level_3/fake/c/main/skeleton/print.c b/level_3/fake/c/main/skeleton/print.c
new file mode 100644 (file)
index 0000000..9dcac6e
--- /dev/null
@@ -0,0 +1,10 @@
+#include "../fake.h"
+#include "print.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_3/fake/c/main/skeleton/print.h b/level_3/fake/c/main/skeleton/print.h
new file mode 100644 (file)
index 0000000..66c9d2c
--- /dev/null
@@ -0,0 +1,19 @@
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ */
+#ifndef _PRIVATE_skeleton_print_h
+#define _PRIVATE_skeleton_print_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _PRIVATE_skeleton_print_h
index dba15f0d483dcf4050d7a6be414d109e9a0ea244..ec0a58695faf6e123d8918a467c3b6894a2bf00f 100644 (file)
@@ -27,16 +27,23 @@ build_libraries-individual -lf_account -lf_capability -lf_color -lf_console -lf_
 build_libraries-level -lfll_2 -lfll_1 -lfll_0
 build_libraries-monolithic -lfll
 
-build_sources_library main/fake.c main/common.c main/common-print.c main/common-string.c main/common-type.c main/print.c
-build_sources_library main/private-build.c main/private-build-library.c main/private-build-load.c main/private-build-object.c main/private-build-objects.c main/private-build-program.c main/private-build-skeleton.c
-build_sources_library main/private-clean.c main/private-common.c main/private-make.c main/private-print.c main/private-skeleton.c
-build_sources_library main/private-make-load_fakefile.c main/private-make-load_parameters.c
-build_sources_library main/private-make-operate.c main/private-make-operate_block.c main/private-make-operate_process.c main/private-make-operate_process_type.c main/private-make-operate_validate.c main/private-make-operate_validate_type.c
-build_sources_library main/private-fake.c main/private-fake-path_generate.c
+build_sources_library main/build.c main/clean.c main/common.c main/fake.c main/make.c main/print.c main/private-common.c main/private-fake.c main/private-print.c main/skeleton.c
+build_sources_library main/build/library.c main/build/load.c main/build/object.c main/build/objects.c main/build/print.c main/build/program.c main/build/skeleton.c
+build_sources_library main/clean/print.c
+build_sources_library main/common/print.c main/common/string.c main/common/type.c
+build_sources_library main/fake/path_generate.c main/fake/print.c
+build_sources_library main/make/load_fakefile.c main/make/load_parameters.c main/make/operate_block.c main/make/operate.c main/make/operate_process.c main/make/operate_process_type.c main/make/operate_validate.c main/make/operate_validate_type.c main/make/print.c
+build_sources_library main/skeleton/print.c
 
 build_sources_program main/main.c
 
-build_sources_headers main/fake.h main/common.h main/common-print.h main/common-string.h main/common-type.h main/print.h
+build_sources_headers main/build.h main/clean.h main/common.h main/fake.h main/make.h main/print.h main/private-common.h main/private-fake.h main/private-print.h main/skeleton.h
+build_sources_headers main/build/library.h main/build/load.h main/build/object.h main/build/objects.h main/build/print.h main/build/program.h main/build/skeleton.h
+build_sources_headers main/clean/print.h
+build_sources_headers main/common/print.h main/common/string.h main/common/type.h
+build_sources_headers main/fake/path_generate.h main/fake/print.h
+build_sources_headers main/make/load_fakefile.h main/make/load_parameters.h main/make/operate_block.h main/make/operate.h main/make/operate_process.h main/make/operate_process_type.h main/make/operate_validate.h main/make/operate_validate_type.h main/make/print.h
+build_sources_headers main/skeleton/print.h
 
 build_sources_documentation man