]> Kevux Git Server - fll/commitdiff
Progress: Continue Featureless Make, focusing on printing.
authorKevin Day <kevin@kevux.org>
Fri, 24 Feb 2023 05:37:34 +0000 (23:37 -0600)
committerKevin Day <kevin@kevux.org>
Fri, 24 Feb 2023 05:37:34 +0000 (23:37 -0600)
Update the header description comments.

I thought I was almost done but I noticed that I overlooked an entire directory tree.

45 files changed:
build/stand_alone/fake.settings
level_3/fake/c/main/build.h
level_3/fake/c/main/build/library.h
level_3/fake/c/main/build/load.c
level_3/fake/c/main/build/load.h
level_3/fake/c/main/build/object.h
level_3/fake/c/main/build/objects.h
level_3/fake/c/main/build/print-error.c
level_3/fake/c/main/build/print-error.h
level_3/fake/c/main/build/print-verbose.h
level_3/fake/c/main/build/print-warning.c [new file with mode: 0644]
level_3/fake/c/main/build/print-warning.h [new file with mode: 0644]
level_3/fake/c/main/build/print.h
level_3/fake/c/main/build/program.h
level_3/fake/c/main/build/skeleton.h
level_3/fake/c/main/clean.h
level_3/fake/c/main/clean/print.h
level_3/fake/c/main/common.h
level_3/fake/c/main/common/define.h
level_3/fake/c/main/common/enumeration.h
level_3/fake/c/main/common/print.h
level_3/fake/c/main/common/string.h
level_3/fake/c/main/common/type.h
level_3/fake/c/main/fake.h
level_3/fake/c/main/fake/path_generate.h
level_3/fake/c/main/make.h
level_3/fake/c/main/make/load_fakefile.c
level_3/fake/c/main/make/load_fakefile.h
level_3/fake/c/main/make/load_parameters.h
level_3/fake/c/main/make/operate.h
level_3/fake/c/main/make/operate_block.h
level_3/fake/c/main/make/operate_process.h
level_3/fake/c/main/make/operate_process_type.h
level_3/fake/c/main/make/operate_validate.h
level_3/fake/c/main/make/operate_validate_type.h
level_3/fake/c/main/make/print-error.h
level_3/fake/c/main/make/print-verbose.h
level_3/fake/c/main/make/print-warning.c
level_3/fake/c/main/make/print-warning.h
level_3/fake/c/main/make/print.h
level_3/fake/c/main/print-error.h
level_3/fake/c/main/print.c
level_3/fake/c/main/print.h
level_3/fake/c/main/skeleton.h
level_3/fake/data/build/settings

index 3e6e20893ed503bf5c6c5fa0b5f2825ad7a3d741..d77939f68bffb1f5832b15dad299a6e0d2631d3c 100644 (file)
@@ -68,7 +68,7 @@ build_sources_program fll/level_2/print.c
 build_sources_program fll/level_2/program.c fll/level_2/program/common.c fll/level_2/program/print.c fll/level_2/private-program.c
 
 build_sources_program program/fake/main/build.c program/fake/main/clean.c program/fake/main/common.c program/fake/main/fake.c program/fake/main/make.c program/fake/main/print.c program/fake/main/print-error.c program/fake/main/print-warning.c program/fake/main/skeleton.c
-build_sources_program program/fake/main/build/library.c program/fake/main/build/load.c program/fake/main/build/object.c program/fake/main/build/objects.c program/fake/main/build/print.c program/fake/main/build/print-error.c program/fake/main/build/print-verbose.c program/fake/main/build/program.c program/fake/main/build/skeleton.c
+build_sources_program program/fake/main/build/library.c program/fake/main/build/load.c program/fake/main/build/object.c program/fake/main/build/objects.c program/fake/main/build/print.c program/fake/main/build/print-error.c program/fake/main/build/print-verbose.c program/fake/main/build/print-warning.c program/fake/main/build/program.c program/fake/main/build/skeleton.c
 build_sources_program program/fake/main/clean/print.c
 build_sources_program program/fake/main/common/define.c program/fake/main/common/enumeration.c program/fake/main/common/print.c program/fake/main/common/string.c program/fake/main/common/type.c
 build_sources_program program/fake/main/fake/path_generate.c
index c51a008d9c5eab56da9af00ddb8358e58ad9eeef..f0599bff61ced3e7d01ccf4d3f22bfdfd8acc2a4 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_h
 #define _PRIVATE_build_h
index cde67f3216b4814049d4054b313b2808c0c4c6f3..6c775d2f6c30f62faaef45e6db43025b51304106 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build library functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_library_h
 #define _PRIVATE_build_library_h
index 1506104e1f696c758cd57e0c5dc81d7852dd61d0..e16da258116ebe7c92840697c18d085ea2f31ec1 100644 (file)
@@ -1,6 +1,8 @@
 #include "../fake.h"
 #include "../print.h"
 #include "load.h"
+#include "print-error.h"
+#include "print-warning.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -198,15 +200,7 @@ extern "C" {
       for (uint8_t i = 0; i < 1; ++i) {
 
         if (!settings[i]->used) {
-          f_file_stream_lock(data->main->error.to);
-
-          fl_print_format("%r%[%QThe setting '%]", 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, names[i], data->main->error.notable);
-          fl_print_format("%[' is required but is not specified in the settings 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);
+          fake_build_print_error_missing_required_setting(data->setting, data->main->warning, names[i], path_file);
 
           failed = F_true;
         }
@@ -593,17 +587,7 @@ extern "C" {
         } // for
 
         if (found == F_false) {
-          if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-            f_file_stream_lock(data->main->error.to);
-
-            fl_print_format("%r%[%QThe specified mode '%]", 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, modes->array[i], data->main->error.notable);
-            fl_print_format("%[' is not a valid mode, according to '%]", 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);
-          }
+          fake_build_print_error_mode_invalid(data->setting, data->main->warning, modes->array[i], path_file);
 
           error_printed = F_true;
           *status = F_status_set_error(F_parameter);
@@ -687,15 +671,7 @@ extern "C" {
 
     if (F_status_is_error(*status)) {
       if (*status == F_status_set_error(F_string_too_large)) {
-        if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-          f_file_stream_unlock(data->main->error.to);
-
-          fl_print_format("%r%[%QA setting in the file '%]", 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, path_file, data->main->error.notable);
-          fl_print_format("%[' is too long.%]%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);
-        }
+        fake_build_print_error_setting_too_long(data->setting, data->main->warning, path_file);
       }
       else if (!error_printed) {
         fake_print_error(data->setting, data->main->error, *status, function);
@@ -1030,7 +1006,7 @@ extern "C" {
         0,                                           // search_exclusive
         0,                                           // search_shared
         0,                                           // search_static
-        fake_build_version_micro_e,             // version_file
+        fake_build_version_micro_e,                  // version_file
         0,                                           // version_major
         0,                                           // version_major_prefix
         0,                                           // version_micro
@@ -1039,7 +1015,7 @@ extern "C" {
         0,                                           // version_minor_prefix
         0,                                           // version_nano
         0,                                           // version_nano_prefix
-        fake_build_version_major_e,             // version_target
+        fake_build_version_major_e,                  // version_target
       };
 
       const f_string_static_t settings_single_version_default_name[] = {
@@ -1047,13 +1023,13 @@ extern "C" {
         f_string_empty_s,                            // build_indexer
         f_string_empty_s,                            // build_language
         f_string_empty_s,                            // build_name
-        f_string_empty_s,                            // build_script
-        f_string_empty_s,                            // build_shared
+        fake_common_setting_bool_yes_s,              // build_script
+        fake_common_setting_bool_yes_s,              // build_shared
         f_string_empty_s,                            // build_sources_object
         f_string_empty_s,                            // build_sources_object_shared
         f_string_empty_s,                            // build_sources_object_static
-        f_string_empty_s,                            // build_static
-        f_string_empty_s,                            // has_path_standard
+        fake_common_setting_bool_yes_s,              // build_static
+        fake_common_setting_bool_yes_s,              // has_path_standard
         f_string_empty_s,                            // path_headers
         f_string_empty_s,                            // path_language
         f_string_empty_s,                            // path_library_script
@@ -1067,12 +1043,12 @@ extern "C" {
         f_string_empty_s,                            // path_program_static
         f_string_empty_s,                            // path_sources
         f_string_empty_s,                            // path_sources_object
-        f_string_empty_s,                            // preserve_path_headers
+        fake_common_setting_bool_yes_s,              // preserve_path_headers
         f_string_empty_s,                            // process_post
         f_string_empty_s,                            // process_pre
-        f_string_empty_s,                            // search_exclusive
-        f_string_empty_s,                            // search_shared
-        f_string_empty_s,                            // search_static
+        fake_common_setting_bool_yes_s,              // search_exclusive
+        fake_common_setting_bool_yes_s,              // search_shared
+        fake_common_setting_bool_yes_s,              // search_static
         fake_build_version_micro_s,                  // version_file
         f_string_empty_s,                            // version_major
         f_string_empty_s,                            // version_major_prefix
@@ -1156,23 +1132,7 @@ extern "C" {
           else {
             *settings_single_bool[i] = F_true;
 
-            if (data->main->warning.verbosity >= f_console_verbosity_verbose_e) {
-              f_file_stream_lock(data->main->warning.to);
-
-              fl_print_format("%r%[%QThe setting '%]", 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, settings_single_name[i], 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 be either '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_common_setting_bool_yes_s, data->main->warning.notable);
-              fl_print_format("%[' or '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_common_setting_bool_no_s, data->main->warning.notable);
-              fl_print_format("%[', defaulting to '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_common_setting_bool_yes_s, 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);
-            }
+            fake_build_print_warning_setting_boolean_may_only_be(data->setting, data->main->warning, settings_single_name[i], path_file, settings_single_version_default_name[i]);
           }
         }
         else if (settings_single_type[i] == 4) {
@@ -1188,25 +1148,7 @@ extern "C" {
           else {
             *settings_single_language[i] = fake_build_language_c_e;
 
-            if (data->main->warning.verbosity >= f_console_verbosity_verbose_e) {
-              f_file_stream_lock(data->main->warning.to);
-
-              fl_print_format("%r%[%QThe setting '%]", 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, settings_single_name[i], 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 one of '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_language_bash_s, data->main->warning.notable);
-              fl_print_format("%[', '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_language_c_s, data->main->warning.notable);
-              fl_print_format("%[', or '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_language_cpp_s, data->main->warning.notable);
-              fl_print_format("%[', defaulting to '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_language_c_s, 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);
-            }
+            fake_build_print_warning_setting_language_may_only_be(data->setting, data->main->warning, settings_single_name[i], path_file, fake_build_language_c_s);
           }
         }
         else if (settings_single_type[i] == 5) {
@@ -1225,27 +1167,7 @@ extern "C" {
           else {
             *settings_single_version[i] = settings_single_version_default[i];
 
-            if (data->main->warning.verbosity >= f_console_verbosity_verbose_e) {
-              f_file_stream_lock(data->main->warning.to);
-
-              fl_print_format("%r%[%QThe setting '%]", 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, settings_single_name[i], 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 one of '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_version_major_s, data->main->warning.notable);
-              fl_print_format("%[', '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_version_minor_s, data->main->warning.notable);
-              fl_print_format("%[', '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_version_micro_s, data->main->warning.notable);
-              fl_print_format("%[', or '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-              fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_version_nano_s, data->main->warning.notable);
-              fl_print_format("%[', defaulting to '%]", 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_single_version_default_name[i], 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);
-            }
+            fake_build_print_warning_setting_version_may_only_be(data->setting, data->main->warning, settings_single_name[i], path_file, settings_single_version_default_name[i]);
           }
         }
         else if (settings_single_destination[i]) {
@@ -1286,37 +1208,13 @@ extern "C" {
         if (checks && !setting->version_file) {
           setting->version_file = fake_build_version_micro_e;
 
-          if (data->main->warning.verbosity >= f_console_verbosity_verbose_e) {
-            f_file_stream_lock(data->main->warning.to);
-
-            fl_print_format("%r%[%QThe setting '%]", 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, fake_build_setting_name_version_file_s, 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("%[' is required, defaulting to '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-            fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_version_micro_s, 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);
-          }
+          fake_build_print_warning_setting_required_default_to(data->setting, data->main->warning, fake_build_setting_name_version_file_s, path_file, fake_build_version_micro_s);
         }
 
         if (checks && !setting->version_target) {
           setting->version_target = fake_build_version_major_e;
 
-          if (data->main->warning.verbosity >= f_console_verbosity_verbose_e) {
-            f_file_stream_lock(data->main->warning.to);
-
-            fl_print_format("%r%[%QThe setting '%]", 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, fake_build_setting_name_version_target_s, 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("%[' is required, defaulting to '%]", data->main->warning.to, data->main->warning.context, data->main->warning.context);
-            fl_print_format("%[%r%]", data->main->warning.to, data->main->warning.notable, fake_build_version_major_s, 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);
-          }
+          fake_build_print_warning_setting_required_default_to(data->setting, data->main->warning, fake_build_setting_name_version_target_s, path_file, fake_build_version_major_s);
         }
       }
     }
@@ -1390,19 +1288,7 @@ extern "C" {
           setting->search_shared = F_false;
         }
 
-        if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-          f_file_stream_lock(data->main->error.to);
-
-          fl_print_format("%r%[%QThe parameters '%]", 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, fake_long_shared_disabled_s, data->main->error.notable);
-          fl_print_format("%[' and '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-          fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, fake_long_shared_enabled_s, data->main->error.notable);
-          fl_print_format("%[' contradict, defaulting to '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-          fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, setting->build_shared ? fake_long_shared_enabled_s : fake_long_shared_disabled_s, 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);
-        }
+        fake_build_print_warning_parameters_contradict(data->setting, data->main->warning, f_console_symbol_long_normal_s, fake_long_shared_disabled_s, f_console_symbol_long_normal_s, fake_long_shared_enabled_s, f_console_symbol_long_normal_s, setting->build_shared ? fake_long_shared_enabled_s : fake_long_shared_disabled_s);
       }
       else {
         setting->build_shared = F_false;
@@ -1425,19 +1311,7 @@ extern "C" {
           setting->search_static = F_false;
         }
 
-        if (data->main->error.verbosity >= f_console_verbosity_verbose_e) {
-          f_file_stream_lock(data->main->error.to);
-
-          fl_print_format("%r%[%QThe parameters '%]", 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, fake_long_static_disabled_s, data->main->error.notable);
-          fl_print_format("%[' and '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-          fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, fake_long_static_enabled_s, data->main->error.notable);
-          fl_print_format("%[' contradict, defaulting to '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-          fl_print_format("%[%r%r%]", data->main->error.to, data->main->error.notable, f_console_symbol_long_normal_s, setting->build_static ? fake_long_static_enabled_s : fake_long_static_disabled_s, 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);
-        }
+        fake_build_print_warning_parameters_contradict(data->setting, data->main->warning, f_console_symbol_long_normal_s, fake_long_static_disabled_s, f_console_symbol_long_normal_s, fake_long_static_enabled_s, f_console_symbol_long_normal_s, setting->build_static ? fake_long_static_enabled_s : fake_long_static_disabled_s);
       }
       else {
         setting->build_static = F_false;
@@ -1451,19 +1325,7 @@ extern "C" {
 
     if (setting->build_language == fake_build_language_c_e || setting->build_language == fake_build_language_cpp_e) {
       if (setting->build_shared == F_false && setting->build_static == F_false) {
-        if (data->main->error.verbosity > f_console_verbosity_quiet_e) {
-          f_file_stream_lock(data->main->error.to);
-
-          fl_print_format("%r%[%QThe build settings '%]", data->main->error.to, f_string_eol_s, data->main->error.context, data->main->error.prefix, data->main->error.context);
-          fl_print_format("%[%r%]", data->main->error.to, data->main->error.notable, fake_build_setting_name_build_shared_s, data->main->error.notable);
-          fl_print_format("%[' and '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-          fl_print_format("%[%r%]", data->main->error.to, data->main->error.notable, fake_build_setting_name_build_static_s, data->main->error.notable);
-          fl_print_format("%[' cannot both be false when using the language '%]", data->main->error.to, data->main->error.context, data->main->error.context);
-          fl_print_format("%[%r%]", data->main->error.to, data->main->error.notable, setting->build_language == fake_build_language_c_e ? fake_build_language_c_s : fake_build_language_cpp_s, 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);
-        }
+        fake_build_print_warning_setting_both_cannot_when_language(data->setting, data->main->warning, fake_build_setting_name_build_shared_s, fake_build_setting_name_build_static_s, setting->build_language == fake_build_language_c_e ? fake_build_language_c_s : fake_build_language_cpp_s);
 
         *status = F_status_set_error(F_failure);
       }
index 03377ef422ce284f9b066197adaafa5e44382c8d..0cea8ca57176e7803195a071f904eb34a4ba0475 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build load functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_load_h
 #define _PRIVATE_build_load_h
index 3fc58b669fb5c1b0ca71eb24a89f2815a4fd5a91..569a968a2f061397d7933561db9af46c383b2887 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build object functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_object_h
 #define _PRIVATE_build_object_h
index c4f5ac549bc671becf095f9691fd346cd722ebee..a7eb6bdea3fba365a6bdda50e7e62fc0961f6270 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build objects functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_objects_h
 #define _PRIVATE_build_objects_h
index 5950a43e738f6d72a645d66230c6dd2e98aef2cd..3174c80ad740a72f70fd3416fd44640f1b437889 100644 (file)
@@ -27,6 +27,37 @@ extern "C" {
   }
 #endif // _di_fake_build_print_error_exist_not_directory_
 
+#ifndef _di_fake_build_print_error_missing_required_setting_
+  f_status_t fake_build_print_error_missing_required_setting(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path) {
+
+    if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not;
+
+    fake_print_context_wrapped_variables(setting, print, "The setting ", name, " is required but is not specified in the settings file ", path, 0);
+
+    return F_none;
+  }
+#endif // _di_fake_build_print_error_missing_required_setting_
+
+#ifndef _di_fake_build_print_error_mode_invalid_
+  f_status_t fake_build_print_error_mode_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t mode, const f_string_static_t path) {
+
+    fake_print_context_wrapped_variables(setting, print, "The specified mode ", mode, " in the settings file ", path, " is not a valid mode");
+
+    return F_none;
+  }
+#endif // _di_fake_build_print_error_mode_invalid_
+
+#ifndef _di_fake_build_print_error_setting_too_long_
+  f_status_t fake_build_print_error_setting_too_long(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) {
+
+    if (!setting || print.verbosity < f_console_verbosity_error_e) return F_output_not;
+
+    fake_print_context_wrapped_variable(setting, print, "A setting in the settings file ", path, " is too long");
+
+    return F_none;
+  }
+#endif // _di_fake_build_print_error_setting_too_long_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
index a1903fe79181e440f6b0fc565acdce92a1b3a5d0..cebac956411cfe065f35ffafb936cdc16a650493 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build error print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_print_error_h
 #define _PRIVATE_build_print_error_h
@@ -56,6 +60,77 @@ extern "C" {
   extern f_status_t fake_build_print_error_exist_not_directory(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path);
 #endif // _di_fake_build_print_error_exist_not_directory_
 
+/**
+ * Print error message about a required setting missing.
+ *
+ * @param setting
+ *   The main program settings.
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   Designates the how and where to print.
+ * @param name
+ *   The name of the missing setting.
+ * @param path
+ *   The path to the file.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ * @see fake_print_context_wrapped_variables()
+ */
+#ifndef _di_fake_build_print_error_missing_required_setting_
+  extern f_status_t fake_build_print_error_missing_required_setting(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path);
+#endif // _di_fake_build_print_error_missing_required_setting_
+
+
+/**
+ * Print error message about a mode being invalid.
+ *
+ * @param setting
+ *   The main program settings.
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   Designates the how and where to print.
+ * @param mode
+ *   The invalid mode.
+ * @param path
+ *   The path to the file.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ * @see fake_print_context_wrapped_variables()
+ */
+#ifndef _di_fake_build_print_error_mode_invalid_
+  extern f_status_t fake_build_print_error_mode_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t mode, const f_string_static_t path);
+#endif // _di_fake_build_print_error_mode_invalid_
+
+/**
+ * Print error message about not creating path due to a parent directory not existing or is otherwise invalid.
+ *
+ * @param setting
+ *   The main program settings.
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   Designates the how and where to print.
+ * @param path
+ *   The path that cannot be created.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ * @see fake_print_context_wrapped_variables()
+ */
+#ifndef _di_fake_build_print_error_setting_too_long_
+  extern f_status_t fake_build_print_error_setting_too_long(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path);
+#endif // _di_fake_build_print_error_setting_too_long_
+
 #ifdef __cplusplus
 } // extern "C"
 #endif
index 1acdf10f657268c3f326c52f5a9fcd0d8e8c8185..cafaeeb484c01cc1bb300f408aaccffed325be75 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build verbose print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_print_verbose_h
 #define _PRIVATE_build_print_verbose_h
diff --git a/level_3/fake/c/main/build/print-warning.c b/level_3/fake/c/main/build/print-warning.c
new file mode 100644 (file)
index 0000000..ca7ea5c
--- /dev/null
@@ -0,0 +1,142 @@
+#include "../fake.h"
+#include "print-warning.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_fake_build_print_warning_parameters_contradict_
+  f_status_t fake_build_print_warning_parameters_contradict(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_static_t symbol_3, const f_string_static_t name_3) {
+
+    if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+    fake_print_context_wrapped_parameters(setting, print, "The parameters ", symbol_1, name_1, " and ", symbol_2, name_2, " contradict, defaulting to ", symbol_3, name_3, 0);
+
+    return F_none;
+  }
+#endif // _di_fake_build_print_warning_parameters_contradict_
+
+#ifndef _di_fake_build_print_warning_setting_boolean_may_only_be_
+  f_status_t fake_build_print_warning_setting_boolean_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) {
+
+    if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+    f_file_stream_lock(print.to);
+
+    fake_print_line_first_unlocked(setting, print);
+
+    fl_print_format("%r%[%QThe setting '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, name, print.notable);
+    fl_print_format("%[' in the file '%]", print.to, print.context, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable);
+    fl_print_format("%[' may be either '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_common_setting_bool_yes_s, print.notable);
+    fl_print_format("%[' or '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_common_setting_bool_no_s, print.notable);
+    fl_print_format("%[', defaulting to '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, default_to, print.notable);
+    fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+
+    return F_none;
+  }
+#endif // _di_fake_build_print_warning_setting_boolean_may_only_be_
+
+#ifndef _di_fake_build_print_warning_setting_both_cannot_using_language_
+  f_status_t fake_build_print_warning_setting_both_cannot_when_language(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name_1, const f_string_static_t name_2, const f_string_static_t language) {
+
+    if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+    fake_print_context_wrapped_parameters(setting, print, "The build settings ", f_string_empty_s, name_1, " and ", f_string_empty_s, name_2, " cannot both be false when using the language ", f_string_empty_s, language, 0);
+
+    return F_none;
+  }
+#endif // _di_fake_build_print_warning_setting_both_cannot_using_language_
+
+#ifndef _di_fake_build_print_warning_setting_language_may_only_be_
+  f_status_t fake_build_print_warning_setting_language_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) {
+
+    if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+    f_file_stream_lock(print.to);
+
+    fake_print_line_first_unlocked(setting, print);
+
+    fl_print_format("%[%QThe setting '%]", print.to, print.context, print.prefix, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, name, print.notable);
+    fl_print_format("%[' in the file '%]", print.to, print.context, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable);
+    fl_print_format("%[' may only be one of '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_build_language_bash_s, print.notable);
+    fl_print_format("%[', '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_build_language_c_s, print.notable);
+    fl_print_format("%[', or '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_build_language_cpp_s, print.notable);
+    fl_print_format("%[', defaulting to '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, default_to, print.notable);
+    fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+
+    return F_none;
+  }
+#endif // _di_fake_build_print_warning_setting_language_may_only_be_
+
+#ifndef _di_fake_build_print_warning_setting_required_default_to_
+  f_status_t fake_build_print_warning_setting_required_default_to(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) {
+
+    if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+    f_file_stream_lock(print.to);
+
+    fake_print_line_first_unlocked(setting, print);
+
+    fl_print_format("%[%QThe setting '%]", print.to, print.context, print.prefix, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, name, print.notable);
+    fl_print_format("%[' in the file '%]", print.to, print.context, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable);
+    fl_print_format("%[' is required, defaulting to '%]", print.to, print.context, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, default_to, print.notable);
+    fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+
+    return F_none;
+  }
+#endif // _di_fake_build_print_warning_setting_required_default_to_
+
+#ifndef _di_fake_build_print_warning_setting_version_may_only_be_
+  f_status_t fake_build_print_warning_setting_version_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to) {
+
+    if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+    f_file_stream_lock(print.to);
+
+    fake_print_line_first_unlocked(setting, print);
+
+    fl_print_format("%[%QThe setting '%]", print.to, f_string_eol_s, print.context, print.prefix, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, name, print.notable);
+    fl_print_format("%[' in the file '%]", print.to, print.context, print.context);
+    fl_print_format("%[%Q%]", print.to, print.notable, path, print.notable);
+    fl_print_format("%[' may only be one of '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_build_version_major_s, print.notable);
+    fl_print_format("%[', '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_build_version_minor_s, print.notable);
+    fl_print_format("%[', '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_build_version_micro_s, print.notable);
+    fl_print_format("%[', or '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, fake_build_version_nano_s, print.notable);
+    fl_print_format("%[', defaulting to '%]", print.to, print.context, print.context);
+    fl_print_format("%[%r%]", print.to, print.notable, default_to, print.notable);
+    fl_print_format("%['.%]%r", print.to, print.context, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+
+    return F_none;
+  }
+#endif // _di_fake_build_print_warning_setting_version_may_only_be_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_3/fake/c/main/build/print-warning.h b/level_3/fake/c/main/build/print-warning.h
new file mode 100644 (file)
index 0000000..a879d95
--- /dev/null
@@ -0,0 +1,197 @@
+/**
+ * FLL - Level 3
+ *
+ * Project: Featureless Make
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build warning print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
+ */
+#ifndef _PRIVATE_build_print_warning_h
+#define _PRIVATE_build_print_warning_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Print error message regarding two parameters contradicting and designating a default fallback parameter.
+ *
+ * @param setting
+ *   The main program settings.
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   Designates the how and where to print.
+ * @param symbol_1
+ *   The symbol for the first parameter.
+ * @param name_1
+ *   The name for the first parameter.
+ * @param symbol_2
+ *   The symbol for the second parameter.
+ * @param name_2
+ *   The name for the second parameter.
+ * @param symbol_3
+ *   The symbol for the third parameter (the fallback).
+ * @param name_3
+ *   The name for the third parameter (the fallback).
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ * @see fake_print_context_wrapped_parameters()
+ */
+#ifndef _di_fake_build_print_warning_parameters_contradict_
+  extern f_status_t fake_build_print_warning_parameters_contradict(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_static_t symbol_3, const f_string_static_t name_3);
+#endif // _di_fake_build_print_warning_parameters_contradict_
+
+/**
+ * Print warning message that the setting may only be from a specific set of allowed boolean values.
+ *
+ * @param setting
+ *   The main program settings.
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   Designates the how and where to print.
+ * @param name
+ *   The name for the setting.
+ * @param path
+ *   The path to the setting file.
+ * @param default_to
+ *   The value being defaulted to.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ *
+ * @see fake_print_line_first_unlocked()
+ */
+#ifndef _di_fake_build_print_warning_setting_boolean_may_only_be_
+  extern f_status_t fake_build_print_warning_setting_boolean_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to);
+#endif // _di_fake_build_print_warning_setting_boolean_may_only_be_
+
+/**
+ * Print warning message regarding two parameters being both false when using a given language.
+ *
+ * @param setting
+ *   The main program settings.
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   Designates the how and where to print.
+ * @param name_1
+ *   The name for the first setting.
+ * @param name_2
+ *   The name for the second setting.
+ * @param language
+ *   The name for the language.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ * @see fake_print_context_wrapped_parameters()
+ */
+#ifndef _di_fake_build_print_error_settings_both_cannot_using_language_
+  extern f_status_t fake_build_print_warning_setting_both_cannot_when_language(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name_1, const f_string_static_t name_2, const f_string_static_t name_3);
+#endif // _di_fake_build_print_error_settings_both_cannot_using_language_
+
+/**
+ * Print warning message that the setting may only be from a specific set of allowed language values.
+ *
+ * @param setting
+ *   The main program settings.
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   Designates the how and where to print.
+ * @param name
+ *   The name for the setting.
+ * @param path
+ *   The path to the setting file.
+ * @param default_to
+ *   The value being defaulted to.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ *
+ * @see fake_print_line_first_unlocked()
+ */
+#ifndef _di_fake_build_print_warning_setting_language_may_only_be_
+  extern f_status_t fake_build_print_warning_setting_language_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to);
+#endif // _di_fake_build_print_warning_setting_language_may_only_be_
+
+/**
+ * Print warning message regarding two parameters being both false when using a given language.
+ *
+ * @param setting
+ *   The main program settings.
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   Designates the how and where to print.
+ * @param name_1
+ *   The name for the first setting.
+ * @param name_2
+ *   The name for the second setting.
+ * @param language
+ *   The name for the language.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ * @see fake_print_context_wrapped_parameters()
+ */
+#ifndef _di_fake_build_print_warning_setting_required_default_to_
+  f_status_t fake_build_print_warning_setting_required_default_to(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to);
+#endif // _di_fake_build_print_warning_setting_required_default_to_
+
+/**
+ * Print warning message that the setting may only be from a specific set of allowed version values.
+ *
+ * @param setting
+ *   The main program settings.
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   Designates the how and where to print.
+ * @param name
+ *   The name for the setting.
+ * @param path
+ *   The path to the setting file.
+ * @param default_to
+ *   The value being defaulted to.
+ *
+ * @return
+ *   F_none on success.
+ *   F_output_not on success, but no printing is performed.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ *
+ * @see fake_print_line_first_unlocked()
+ */
+#ifndef _di_fake_build_print_warning_setting_version_may_only_be_
+  extern f_status_t fake_build_print_warning_setting_version_may_only_be(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t name, const f_string_static_t path, const f_string_static_t default_to);
+#endif // _di_fake_build_print_warning_setting_version_may_only_be_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _PRIVATE_build_print_warning_h
index 11b2ce440134a0c495e3f7971049f38abc0cde33..16b654d72ed4e552d2405da6c6b469670c6300f9 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_print_h
 #define _PRIVATE_build_print_h
index 517b04538cb5ae76c6b487630143c3acd5fa1551..c38310c394d8d02d1580150329789dc86ab5b76e 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build program functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_program_h
 #define _PRIVATE_build_program_h
index ab39895bbb941caab5480db0a803ded446c8e7bb..572cb813d12cf837c082caf8808c006449721561 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides build skeleton functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_build_skeleton_h
 #define _PRIVATE_build_skeleton_h
index ed42d02a7d7ff0fc58cdba3570ceccb2ad85c7b1..cbf493fe6bc31a5a31b0d5c341c5bd46e0661195 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides clean functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_clean_h
 #define _PRIVATE_clean_h
index 8608a372c96facbf49ba11e5db86237cbfa3bdcc..f8c77fa9aa45c7a56bb133eb7091cadc90df080e 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides clean print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_clean_print_h
 #define _PRIVATE_clean_print_h
index 1fb9156169ebbcb9e3985fd9351287dd9f60f7ee..f6199e13871abda1ee2cc2d45e6d63088939c82f 100644 (file)
@@ -5,7 +5,7 @@
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
  *
- * Provides the common functionality.
+ * Provides common functionality.
  *
  * This is auto-included and should not need to be explicitly included.
  */
index d25de6c8e9aa937150de2b81793f1a832a0fdd2c..f308b4500344de327401695b1a481ee0f99ca181 100644 (file)
@@ -5,7 +5,7 @@
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
  *
- * Provides the common defines.
+ * Provides common define functionality.
  *
  * This is auto-included and should not need to be explicitly included.
  */
index dc7e31d990f0e3011d1c99eb9ff062fbf6fae84f..fb07ffcb12f88e9eed6fe97c3019fe475bf99305 100644 (file)
@@ -5,7 +5,7 @@
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
  *
- * Provides the common enumeration structures.
+ * Provides common enumeration functionality.
  *
  * This is auto-included and should not need to be explicitly included.
  */
index 777da6703fda8269c41441f30fe3bfb0439e5b53..fd48ee5fd88e65883d5ea7dbe9826704b4688735 100644 (file)
@@ -5,7 +5,7 @@
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
  *
- * Provides the common print functionality.
+ * Provides common print functionality.
  *
  * This is auto-included and should not need to be explicitly included.
  */
index 1465fb1bfc736b1bf336cda65f2c9f57a818f7ba..298b19ed1655c157f02a0604fd2086910c0e4dc7 100644 (file)
@@ -5,7 +5,7 @@
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
  *
- * Provides the common string structures.
+ * Provides common string functionality.
  *
  * This is auto-included and should not need to be explicitly included.
  */
index bb4ea2772dffcb4b5b625734214f438181e18820..166b8949687dfa10e068559aa0ed3d475d1a3ad1 100644 (file)
@@ -5,7 +5,7 @@
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
  *
- * Provides the common type structures.
+ * Provides common type functionality.
  *
  * This is auto-included and should not need to be explicitly included.
  */
index 6d3649b01542ac9a1c86456e622ccc8a5be41509..7479367f70b5e4e048c3e5add9e2f9cb8dc1a785 100644 (file)
  *
  * The built sources are placed in the build directory with the following structure:
  *   - build/
- *     - data/
- *     - documents/
- *     - includes/
- *     - libraries/
- *       - script/
- *       - shared/
- *       - static/
- *     - objects/
- *     - programs/
- *       - script/
- *       - shared/
- *       - static/
- *     - settings/
- *     - stage/
+ *     â”œâ”€â”€ data
+ *     â”œâ”€â”€ documentation
+ *     â”œâ”€â”€ documents
+ *     â”œâ”€â”€ includes
+ *     â”œâ”€â”€ libraries
+ *     â”‚   â”œâ”€â”€ script
+ *     â”‚   â”œâ”€â”€ shared
+ *     â”‚   â””── static
+ *     â”œâ”€â”€ objects
+ *     â”‚   â”œâ”€â”€ script
+ *     â”‚   â”œâ”€â”€ shared
+ *     â”‚   â””── static
+ *     â”œâ”€â”€ programs
+ *     â”‚   â”œâ”€â”€ script
+ *     â”‚   â”œâ”€â”€ shared
+ *     â”‚   â””── static
+ *     â”œâ”€â”€ settings
+ *     â””── stage
  *
  * The "data/" directory contains all file data, such as firmware or files commonly found under /usr/share in a standard GNU Linux system.
- * The "documents/" directory contains all documentation after any build-time processing.
- * The "libraries/" and "programs/" directories contains the sub-directories "script/", "shared/", and "static/".
+ * The "documentation/" directory contains special documentation files such as man pages.
+ * The "documents/" directory contains all other documents, data, and documentation.
+ * The "includes/" directory contains all include files (such as C header files).
+ * The "libraries/", "objects/", and "programs/" directories contains the sub-directories "script/", "shared/", and "static/".
  * The "libraries/" directory will contain compiled libraries or library-like scripts in their respective sub-directories.
  * The "objects/" directory will contain any compile object files.
  * The "programs/" directory will contain compiled programs or program-like scripts in their respective sub-directories.
index c27f8f6c6b3c0b1c78860887a3b817383b904d7a..eacffca92e3698701671abc212ff8c37e36f6db3 100644 (file)
@@ -5,9 +5,9 @@
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
  *
- * Provides the path generate functionality for the fake program.
+ * Provides path generate functionality.
  *
- * This is to be specifically included by the fake program sources and not anywhere else.
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_fake_path_generate_h
 #define _fake_fake_path_generate_h
index f3b2cd99077381d657021a1d8ae86e0151a3d75c..8098223fe062d8f33592706e64e5b3da32844bf4 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_make_h
 #define _PRIVATE_make_h
index c5b2020726d8986d0c9cde42c927a984d155b1f1..61d5e4a1f0882a913316163060b5bbc3d8b6474f 100644 (file)
@@ -123,7 +123,7 @@ extern "C" {
 
           if (fl_string_dynamic_partial_compare_string(fake_make_item_settings_s.string, data_make->buffer, fake_make_item_settings_s.used, list_objects.array[i]) == F_equal_to) {
             if (!missing_settings) {
-              fake_make_print_warning_settings_object_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_item_settings_s);
+              fake_make_print_warning_setting_object_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_item_settings_s);
 
               continue;
             }
@@ -154,7 +154,7 @@ extern "C" {
 
           if (fl_string_dynamic_partial_compare_string(fake_make_item_main_s.string, data_make->buffer, fake_make_item_main_s.used, list_objects.array[i]) == F_equal_to) {
             if (!missing_main) {
-              fake_make_print_warning_settings_object_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_item_main_s);
+              fake_make_print_warning_setting_object_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_item_main_s);
 
               continue;
             }
@@ -334,15 +334,15 @@ extern "C" {
         data_make->setting_make.load_build = F_false;
       }
       else {
-        fake_make_print_warning_settings_content_invalid(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, content->array[0], fake_make_item_settings_s);
+        fake_make_print_warning_setting_content_invalid(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, content->array[0], fake_make_item_settings_s);
       }
 
       if (content->used > 1) {
-        fake_make_print_warning_settings_content_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_setting_load_build_s);
+        fake_make_print_warning_setting_content_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_setting_load_build_s);
       }
     }
     else {
-      fake_make_print_warning_settings_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_load_build_s);
+      fake_make_print_warning_setting_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_load_build_s);
     }
   }
 #endif // _di_fake_make_load_fakefile_setting_build_
@@ -354,11 +354,11 @@ extern "C" {
       *range_compiler = &content->array[content->used - 1];
 
       if (content->used > 1) {
-        fake_make_print_warning_settings_content_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_setting_compiler_s);
+        fake_make_print_warning_setting_content_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_setting_compiler_s);
       }
     }
     else {
-      fake_make_print_warning_settings_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_compiler_s);
+      fake_make_print_warning_setting_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_compiler_s);
     }
   }
 #endif // _di_fake_make_load_fakefile_setting_compiler_
@@ -549,15 +549,15 @@ extern "C" {
         data_make->setting_make.fail = fake_make_operation_fail_ignore_e;
       }
       else {
-        fake_make_print_warning_settings_content_invalid(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, content->array[content->used - 1], fake_make_item_settings_s);
+        fake_make_print_warning_setting_content_invalid(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, content->array[content->used - 1], fake_make_item_settings_s);
       }
 
       if (content->used > 1) {
-        fake_make_print_warning_settings_content_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_setting_fail_s);
+        fake_make_print_warning_setting_content_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_setting_fail_s);
       }
     }
     else {
-      fake_make_print_warning_settings_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_fail_s);
+      fake_make_print_warning_setting_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_fail_s);
     }
   }
 #endif // _di_fake_make_load_fakefile_setting_fail_
@@ -569,11 +569,11 @@ extern "C" {
       *range_indexer = &content->array[content->used - 1];
 
       if (content->used > 1) {
-        fake_make_print_warning_settings_content_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_setting_indexer_s);
+        fake_make_print_warning_setting_content_multiple(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, fake_make_setting_indexer_s);
       }
     }
     else {
-      fake_make_print_warning_settings_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_indexer_s);
+      fake_make_print_warning_setting_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_indexer_s);
     }
   }
 #endif // _di_fake_make_load_fakefile_setting_indexer_
@@ -614,7 +614,7 @@ extern "C" {
       }
     }
     else {
-      fake_make_print_warning_settings_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_return_s);
+      fake_make_print_warning_setting_content_empty(data_make->setting, data_make->main->warning, data_make->data->file_data_build_fakefile, data_make->buffer, *object, fake_make_setting_return_s);
     }
 
     return F_none;
index a0296df0b615181e3c084ef643cf1a22d4946ce9..26ee88f91415616c7c76829d14388d1e62d478b4 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make load fakefile functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_load_fakefile_h
 #define _fake_make_load_fakefile_h
index 613108cfd5095b6334894ca6b89cc7b1cf9a321f..b50902eb9a2d8e3f3f9b0fc85a2fa8a861e6c4de 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make load parameter functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_load_parameters_h
 #define _fake_make_load_parameters_h
index 042a673612923157ce85eb821e53921eb712ed43..a75c8caf32c464c5dc7cc88608a54742f2e1af7a 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make operate functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_operate_h
 #define _fake_make_operate_h
index 08cb2d1be0b5e580a967937c20dce47ffd128706..c72404f4a8de82b7f66af073bee659c78e887bc5 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make operate block functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_operate_block_h
 #define _fake_make_operate_block_h
index 77399902e558fb2d017f229901a7b6a07994b056..22ce8d2f0263320df2e44eddb3281e0f8bf8e367 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make operate process functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_operate_process_h
 #define _fake_make_operate_process_h
index 31525a287845d32242a09a599812bfff57f71e65..379044c1821486b84646274ee4e14671c2b3f6af 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make opeate process type functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_operate_type_h
 #define _fake_make_operate_type_h
index 714b781923eb821faf91b56520cba1b1f434565f..dfeb6545af731cbeb7b3a877c27869c5c9af0374 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make operate validate functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_operate_validate_h
 #define _fake_make_operate_validate_h
index 2d1abcc0c8e1c2f332395ff4b692a0226266309f..042a1812f7b80e206a62f03e493b5c5387def51c 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make operate validate type functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_operate_validate_type_h
 #define _fake_make_operate_validate_type_h
index 07eeaf4e146758a58746b01f951fa3fc7d98171a..dc16a6331ca0dac158d1e6b56177cfd6bb97d7b0 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make error print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_print_error_h
 #define _fake_make_print_error_h
index a8a1835e5934b54016ba5ed1e997e906e654d460..e79cfcd782fa293e99cb271b814f8f1a6b430fd3 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make verbose print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_print_verbose_h
 #define _fake_make_print_verbose_h
index db7e6567136e378132d0d651e022c2f898ca4a48..50f6697f38f62b60469c3d3603e605b1a1eea89f 100644 (file)
@@ -70,8 +70,8 @@ extern "C" {
   }
 #endif // _di_fake_make_print_warning_file_not_found_
 
-#ifndef _di_fake_make_print_warning_settings_content_empty_
-  f_status_t fake_make_print_warning_settings_content_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t range, const f_string_static_t name) {
+#ifndef _di_fake_make_print_warning_setting_content_empty_
+  f_status_t fake_make_print_warning_setting_content_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t range, const f_string_static_t name) {
 
     if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
 
@@ -91,10 +91,10 @@ extern "C" {
 
     return F_none;
   }
-#endif // _di_fake_make_print_warning_settings_content_empty_
+#endif // _di_fake_make_print_warning_setting_content_empty_
 
-#ifndef _di_fake_make_print_warning_settings_content_invalid_
-  f_status_t fake_make_print_warning_settings_content_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t object, const f_string_range_t content, const f_string_static_t name) {
+#ifndef _di_fake_make_print_warning_setting_content_invalid_
+  f_status_t fake_make_print_warning_setting_content_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t object, const f_string_range_t content, const f_string_static_t name) {
 
     if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
 
@@ -116,10 +116,10 @@ extern "C" {
 
     return F_none;
   }
-#endif // _di_fake_make_print_warning_settings_content_invalid_
+#endif // _di_fake_make_print_warning_setting_content_invalid_
 
-#ifndef _di_fake_make_print_warning_settings_content_multiple_
-  f_status_t fake_make_print_warning_settings_content_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name) {
+#ifndef _di_fake_make_print_warning_setting_content_multiple_
+  f_status_t fake_make_print_warning_setting_content_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name) {
 
     if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
 
@@ -127,10 +127,10 @@ extern "C" {
 
     return F_none;
   }
-#endif // _di_fake_make_print_warning_settings_content_multiple_
+#endif // _di_fake_make_print_warning_setting_content_multiple_
 
-#ifndef _di_fake_make_print_warning_settings_object_multiple_
-  f_status_t fake_make_print_warning_settings_object_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name) {
+#ifndef _di_fake_make_print_warning_setting_object_multiple_
+  f_status_t fake_make_print_warning_setting_object_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name) {
 
     if (!setting || print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
 
@@ -138,7 +138,7 @@ extern "C" {
 
     return F_none;
   }
-#endif // _di_fake_make_print_warning_settings_object_multiple_
+#endif // _di_fake_make_print_warning_setting_object_multiple_
 
 #ifdef __cplusplus
 } // extern "C"
index 7c232f773e773da32dc43a26956c04fbb15f233b..b46b7e56e18b313e779ee1e9ce7876a6c3671709 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make warning print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_print_warning_h
 #define _fake_make_print_warning_h
@@ -142,9 +146,9 @@ extern "C" {
  *   F_none on success.
  *   F_output_not on success, but no printing is performed.
  */
-#ifndef _di_fake_make_print_warning_settings_content_empty_
-  extern f_status_t fake_make_print_warning_settings_content_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t range, const f_string_static_t name);
-#endif // _di_fake_make_print_warning_settings_content_empty_
+#ifndef _di_fake_make_print_warning_setting_content_empty_
+  extern f_status_t fake_make_print_warning_setting_content_empty(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t range, const f_string_static_t name);
+#endif // _di_fake_make_print_warning_setting_content_empty_
 
 /**
  * Print warning message when fake settings content is invalid.
@@ -171,9 +175,9 @@ extern "C" {
  *   F_none on success.
  *   F_output_not on success, but no printing is performed.
  */
-#ifndef _di_fake_make_print_warning_settings_content_invalid_
-  extern f_status_t fake_make_print_warning_settings_content_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t object, const f_string_range_t content, const f_string_static_t name);
-#endif // _di_fake_make_print_warning_settings_content_invalid_
+#ifndef _di_fake_make_print_warning_setting_content_invalid_
+  extern f_status_t fake_make_print_warning_setting_content_invalid(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_dynamic_t buffer, const f_string_range_t object, const f_string_range_t content, const f_string_static_t name);
+#endif // _di_fake_make_print_warning_setting_content_invalid_
 
 /**
  * Print warning message when settings content has too many values.
@@ -194,9 +198,9 @@ extern "C" {
  *   F_none on success.
  *   F_output_not on success, but no printing is performed.
  */
-#ifndef _di_fake_make_print_warning_settings_content_multiple_
-  extern f_status_t fake_make_print_warning_settings_content_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name);
-#endif // _di_fake_make_print_warning_settings_content_multiple_
+#ifndef _di_fake_make_print_warning_setting_content_multiple_
+  extern f_status_t fake_make_print_warning_setting_content_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name);
+#endif // _di_fake_make_print_warning_setting_content_multiple_
 
 /**
  * Print warning message when fakefile has too many objects with the same name.
@@ -217,9 +221,9 @@ extern "C" {
  *   F_none on success.
  *   F_output_not on success, but no printing is performed.
  */
-#ifndef _di_fake_make_print_warning_settings_object_multiple_
-  extern f_status_t fake_make_print_warning_settings_object_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name);
-#endif // _di_fake_make_print_warning_settings_object_multiple_
+#ifndef _di_fake_make_print_warning_setting_object_multiple_
+  extern f_status_t fake_make_print_warning_setting_object_multiple(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t fakefile, const f_string_static_t name);
+#endif // _di_fake_make_print_warning_setting_object_multiple_
 
 #ifdef __cplusplus
 } // extern "C"
index 7814abbbc44b41a448b64020d022ad513e4611ea..e1c1389af81250895d9eef5ddb5a7fed76417394 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides make print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_make_print_h
 #define _fake_make_print_h
index b61aba7de0d9b0dd2c7b5faab6c8693abb0e0959..b1c322852b71308e7e48383cbbc3b087112c32d4 100644 (file)
@@ -5,7 +5,7 @@
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
  *
- * Provides the error print functionality.
+ * Provides error print functionality.
  *
  * This is auto-included and should not need to be explicitly included.
  */
index 10672b2d45c235e3f13760d03221d45ffdbfb62d..c141ea75824144d95f8d5c2520e95fa357eb25c7 100644 (file)
@@ -53,6 +53,27 @@ extern "C" {
   }
 #endif // _di_fake_print_context_wrapped_parameter_
 
+#ifndef _di_fake_print_context_wrapped_parameters_
+  void fake_print_context_wrapped_parameters(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_t between_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_t between_2, const f_string_static_t symbol_3, const f_string_static_t name_3, const f_string_t after) {
+
+    if (!setting) return;
+
+    f_file_stream_lock(print.to);
+
+    fake_print_line_first_unlocked(setting, print);
+
+    fl_print_format("%[%Q%S'%]", print.to, print.context, print.prefix, before, print.context);
+    fl_print_format("%[%Q%Q%]", print.to, print.notable, symbol_1, name_1, print.notable);
+    fl_print_format("%['%S'%]%r", print.to, print.context, between_1, print.context);
+    fl_print_format("%[%Q%Q%]", print.to, print.notable, symbol_2, name_2, print.notable);
+    fl_print_format("%['%S'%]%r", print.to, print.context, between_2, print.context);
+    fl_print_format("%[%Q%Q%]", print.to, print.notable, symbol_3, name_3, print.notable);
+    fl_print_format("%['%S.%]%r", print.to, print.context, after, print.context, f_string_eol_s);
+
+    f_file_stream_unlock(print.to);
+  }
+#endif // _di_fake_print_context_wrapped_parameters_
+
 #ifndef _di_fake_print_context_wrapped_variable_
   void fake_print_context_wrapped_variable(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t variable, const f_string_t after) {
 
index 8712eebc88d9b7b96fff51b47b2f91b60ee524ff..3c42e29a29b3ce2b4404bb7d4debc16f7bd30631 100644 (file)
@@ -4,6 +4,10 @@
  * Project: UTF8
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides print functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _fake_print_h
 #define _fake_print_h
@@ -91,10 +95,9 @@ extern "C" {
  *   Set to NULL to disable.
  * @param symbol
  *   The string representing the symbol for the parameter.
- *   Set to NULL to disable.
+ *   Set to f_string_empty_s to disable.
  * @param name
  *   The string representing the parameter name.
- *   May be an empty string (like f_string_empty_s) to not print anything.
  * @param after
  *   The string being printed after the variable.
  *   Likely should have a space added at the start of the string.
@@ -111,6 +114,61 @@ extern "C" {
 #endif // _di_fake_print_context_wrapped_parameter_
 
 /**
+ * Print a parameter context message with a there parameters, with symbols, and wrapping strings.
+ *
+ * This is primarily used by numerous print functions to reduce code.
+ * This is not used for any print functions that has complex format structures.
+ *
+ * @param setting
+ *   The main program settings.
+ *   (Must be of type fake_setting_t.)
+ *
+ *   This does not alter setting.status.
+ * @param print
+ *   The output structure to print to.
+ * @param before
+ *   The string being printed before the variable.
+ *   Likely should have a space added at the end of the string.
+ *   Set to NULL to disable.
+ * @param symbol_1
+ *   The string representing the symbol for the parameter.
+ *   Set to f_string_empty_s to disable.
+ * @param name_1
+ *   The string representing the parameter name.
+ * @param middle_1
+ *   The string being printed before the variable.
+ *   Likely should have a space added at the end of the string.
+ *   Set to NULL to disable.
+ * @param symbol_2
+ *   The string representing the symbol for the parameter.
+ *   Set to f_string_empty_s to disable.
+ * @param name_2
+ *   The string representing the parameter name.
+ * @param middle_2
+ *   The string being printed before the variable.
+ *   Likely should have a space added at the end of the string.
+ *   Set to NULL to disable.
+ * @param symbol_3
+ *   The string representing the symbol for the parameter.
+ *   Set to f_string_empty_s to disable.
+ * @param name_3
+ *   The string representing the parameter name.
+ * @param after
+ *   The string being printed after the variable.
+ *   Likely should have a space added at the start of the string.
+ *   Set to NULL to disable.
+ *
+ * @see f_file_stream_lock()
+ * @see f_file_stream_unlock()
+ * @see fl_print_format()
+ *
+ * @see fake_print_line_first_unlocked()
+ */
+#ifndef _di_fake_print_context_wrapped_parameter_
+  extern void fake_print_context_wrapped_parameters(fake_setting_t * const setting, const fl_print_t print, const f_string_t before, const f_string_static_t symbol_1, const f_string_static_t name_1, const f_string_t between_1, const f_string_static_t symbol_2, const f_string_static_t name_2, const f_string_t between_2, const f_string_static_t symbol_3, const f_string_static_t name_3, const f_string_t after);
+#endif // _di_fake_print_context_wrapped_parameter_
+
+/**
  * Print a wrapped context message with a before string, an after string, and a string variable.
  *
  * This is primarily used by numerous print functions to reduce code.
index 21cc97a1c3f6e60d948cc0104b4d1a2d21c8fbf9..685121d77d778364a09a3093d1a418740d744a27 100644 (file)
@@ -4,6 +4,10 @@
  * Project: Featureless Make
  * API Version: 0.7
  * Licenses: lgpl-2.1-or-later
+ *
+ * Provides skeleton functionality.
+ *
+ * This is auto-included and should not need to be explicitly included.
  */
 #ifndef _PRIVATE_skeleton_h
 #define _PRIVATE_skeleton_h
index ebfcf378b7ec4980631db7c8c225dcca71fd2296..0366e1e1f3c304f1d2c11f0b5938115a8c0cf62d 100644 (file)
@@ -28,7 +28,7 @@ build_libraries-level -lfll_2 -lfll_1 -lfll_0
 build_libraries-monolithic -lfll
 
 build_sources_library main/build.c main/clean.c main/common.c main/fake.c main/make.c main/print.c main/print-error.c main/print-warning.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/print-error.c main/build/print-verbose.c main/build/program.c main/build/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/print-error.c main/build/print-verbose.c main/build/print-warning.c main/build/program.c main/build/skeleton.c
 build_sources_library main/clean/print.c
 build_sources_library main/common/define.c main/common/enumeration.c main/common/print.c main/common/string.c main/common/type.c
 build_sources_library main/fake/path_generate.c
@@ -37,11 +37,11 @@ build_sources_library main/make/load_fakefile.c main/make/load_parameters.c main
 build_sources_program main/main.c
 
 build_sources_headers main/build.h main/clean.h main/common.h main/fake.h main/make.h main/print.h main/print-error.h main/print-warning.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/print-error.h main/build/print-verbose.h main/build/program.h main/build/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/print-error.h main/build/print-verbose.h main/build/print-warning.h main/build/program.h main/build/skeleton.h
 build_sources_headers main/clean/print.h
 build_sources_headers main/common/define.h main/common/enumeration.h main/common/print.h main/common/string.h main/common/type.h
 build_sources_headers main/fake/path_generate.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 main/make/print-error.h main/make/print-verbose.h main/make/print-warning.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 main/make/print-error.h main/make/print-verbose.h main/make/print-warning.h main/make/print-warning.h
 
 build_sources_documentation man