I discovered that the data build directory customization is incomplete while working on the Kevux Tools TacocaT program.
A new parameter to specify a sub-directory within the data directory, called "under", represented by -U and --under is now added.
This provides the ability to change the "build" part of the "data/build" directory.
This can even be an empty string.
The fakefile documentation and specification is updated because this parameter must now be reserved and exposed to IKI expansion.
I have not yet done a thorough test of this feature and I will hopefully do this before the next release.
I have performed a basic test and I can now compile the TacocaT program easily using this parameter.
const f_string_static_t fake_short_path_build_s = macro_f_string_static_t_initialize(FAKE_short_path_build_s, 0, FAKE_short_path_build_s_length);
const f_string_static_t fake_short_path_data_s = macro_f_string_static_t_initialize(FAKE_short_path_data_s, 0, FAKE_short_path_data_s_length);
const f_string_static_t fake_short_path_sources_s = macro_f_string_static_t_initialize(FAKE_short_path_sources_s, 0, FAKE_short_path_sources_s_length);
+ const f_string_static_t fake_short_path_under_s = macro_f_string_static_t_initialize(FAKE_short_path_under_s, 0, FAKE_short_path_under_s_length);
const f_string_static_t fake_short_path_work_s = macro_f_string_static_t_initialize(FAKE_short_path_work_s, 0, FAKE_short_path_work_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_path_build_s = macro_f_string_static_t_initialize(FAKE_long_path_build_s, 0, FAKE_long_path_build_s_length);
const f_string_static_t fake_long_path_data_s = macro_f_string_static_t_initialize(FAKE_long_path_data_s, 0, FAKE_long_path_data_s_length);
const f_string_static_t fake_long_path_sources_s = macro_f_string_static_t_initialize(FAKE_long_path_sources_s, 0, FAKE_long_path_sources_s_length);
+ const f_string_static_t fake_long_path_under_s = macro_f_string_static_t_initialize(FAKE_long_path_under_s, 0, FAKE_long_path_under_s_length);
const f_string_static_t fake_long_path_work_s = macro_f_string_static_t_initialize(FAKE_long_path_work_s, 0, FAKE_long_path_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);
#define FAKE_short_path_build_s "b"
#define FAKE_short_path_data_s "D"
#define FAKE_short_path_sources_s "S"
+ #define FAKE_short_path_under_s "U"
#define FAKE_short_path_work_s "w"
#define FAKE_long_define_s "define"
#define FAKE_long_path_build_s "build"
#define FAKE_long_path_data_s "data"
#define FAKE_long_path_sources_s "sources"
+ #define FAKE_long_path_under_s "under"
#define FAKE_long_path_work_s "work"
// These special parameters are provided in such a way that they mimic the traditional ./configure script.
#define FAKE_short_path_build_s_length 1
#define FAKE_short_path_data_s_length 1
#define FAKE_short_path_sources_s_length 1
+ #define FAKE_short_path_under_s_length 1
#define FAKE_short_path_work_s_length 1
#define FAKE_long_define_s_length 6
#define FAKE_long_path_build_s_length 5
#define FAKE_long_path_data_s_length 4
#define FAKE_long_path_sources_s_length 7
+ #define FAKE_long_path_under_s_length 5
#define FAKE_long_path_work_s_length 4
#define FAKE_long_documents_disabled_s_length 11
extern const f_string_static_t fake_short_path_build_s;
extern const f_string_static_t fake_short_path_data_s;
extern const f_string_static_t fake_short_path_sources_s;
+ extern const f_string_static_t fake_short_path_under_s;
extern const f_string_static_t fake_short_path_work_s;
extern const f_string_static_t fake_long_define_s;
extern const f_string_static_t fake_long_path_build_s;
extern const f_string_static_t fake_long_path_data_s;
extern const f_string_static_t fake_long_path_sources_s;
+ extern const f_string_static_t fake_long_path_under_s;
extern const f_string_static_t fake_long_path_work_s;
extern const f_string_static_t fake_long_documents_disabled_s;
fake_parameter_path_build_e,
fake_parameter_path_data_e,
fake_parameter_path_sources_e,
+ fake_parameter_path_under_e,
fake_parameter_path_work_e,
fake_parameter_documents_disabled_e,
macro_f_console_parameter_t_initialize(fake_short_path_build_s.string, fake_long_path_build_s.string, 0, 1, f_console_type_normal_e), \
macro_f_console_parameter_t_initialize(fake_short_path_data_s.string, fake_long_path_data_s.string, 0, 1, f_console_type_normal_e), \
macro_f_console_parameter_t_initialize(fake_short_path_sources_s.string, fake_long_path_sources_s.string, 0, 1, f_console_type_normal_e), \
+ macro_f_console_parameter_t_initialize(fake_short_path_under_s.string, fake_long_path_under_s.string, 0, 1, f_console_type_normal_e), \
macro_f_console_parameter_t_initialize(fake_short_path_work_s.string, fake_long_path_work_s.string, 0, 1, f_console_type_normal_e), \
macro_f_console_parameter_t_initialize(0, fake_long_documents_disabled_s.string, 0, 0, f_console_type_normal_e), \
macro_f_console_parameter_t_initialize(0, fake_long_documents_enabled_s.string, 0, 0, f_console_type_normal_e), \
macro_f_console_parameter_t_initialize(0, 0, fake_other_operation_skeleton_s.string, 0, f_console_type_other_e), \
}
- #define fake_total_parameters_d 30
+ #define fake_total_parameters_d 31
#endif // _di_fake_parameters_
#ifdef __cplusplus
fll_program_print_help_option(file, context, fake_short_path_build_s, fake_long_path_build_s, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Specify a custom build directory.");
fll_program_print_help_option(file, context, fake_short_path_data_s, fake_long_path_data_s, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Specify a custom path to the data files.");
fll_program_print_help_option(file, context, fake_short_path_sources_s, fake_long_path_sources_s, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, "Specify a custom path to the source files.");
+ fll_program_print_help_option(file, context, fake_short_path_under_s, fake_long_path_under_s, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Specify a custom path the data build files are under.");
fll_program_print_help_option(file, context, fake_short_path_work_s, fake_long_path_work_s, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Use includes/libraries/programs from this directory instead of system.");
fl_print_format("%r%r %[Special Options:%] ", file.stream, f_string_eol_s, f_string_eol_s, context.set.important, context.set.important);
f_console_symbol_short_enable_s,
f_console_symbol_short_enable_s,
f_console_symbol_short_enable_s,
+ f_console_symbol_short_enable_s,
};
const f_string_static_t parameters_name[] = {
fake_short_path_build_s,
fake_short_path_data_s,
fake_short_path_sources_s,
+ fake_short_path_under_s,
fake_short_path_work_s,
};
data->path_build,
data->path_data,
data_build->setting.path_sources,
+ data->path_under,
data->path_work,
};
- *status = fll_execute_arguments_add_parameter_set(parameters_prefix, parameters_name, parameters_value, 7, &arguments);
+ *status = fll_execute_arguments_add_parameter_set(parameters_prefix, parameters_name, parameters_value, 8, &arguments);
f_string_dynamic_resize(0, &defines);
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_under_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_under_s, 0, FAKE_make_parameter_variable_under_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_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_under_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_option_under_s, 0, FAKE_make_parameter_variable_option_under_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_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_under_s = macro_f_string_static_t_initialize(FAKE_make_parameter_variable_value_under_s, 0, FAKE_make_parameter_variable_value_under_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_
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_work);
f_string_dynamic_resize(0, &data->path_data);
f_string_dynamic_resize(0, &data->path_data_build);
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_sources);
+ f_string_dynamic_resize(0, &data->path_under);
f_string_dynamic_resize(0, &data->path_work);
f_string_dynamic_resize(0, &data->path_work_includes);
*
* path_documents: The documents path.
* path_licenses: The licenses path.
- * path_sources: The sources path.
+ * path_sources: The sources path
+ * path_under: The under path (used to construct the "build" part of the path_data_build).
*
* path_work: The work path.
* path_work_includes: The includes work path.
f_string_dynamic_t path_data_settings;
f_string_dynamic_t path_documents;
-
f_string_dynamic_t path_licenses;
-
f_string_dynamic_t path_sources;
+ f_string_dynamic_t path_under;
f_string_dynamic_t path_work;
f_string_dynamic_t path_work_includes;
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, \
}
#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_under_s "under"
#define FAKE_make_parameter_variable_verbosity_s "verbosity"
#define FAKE_make_parameter_variable_work_s "work"
#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_under_s FAKE_make_parameter_variable_under_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_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_under_s FAKE_make_parameter_variable_under_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_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_under_s_length 5
#define FAKE_make_parameter_variable_verbosity_s_length 9
#define FAKE_make_parameter_variable_work_s_length 4
#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_under_s_length FAKE_make_parameter_variable_under_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_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_under_s_length FAKE_make_parameter_variable_under_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_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_under_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_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_under_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_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_under_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;
f_string_dynamics_t process;
f_string_dynamics_t settings;
f_string_dynamics_t sources;
+ f_string_dynamics_t under;
f_string_dynamics_t verbosity;
f_string_dynamics_t work;
} fake_make_parameter_t;
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.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.under) \
macro_f_string_dynamics_t_delete_simple(parameter.verbosity) \
macro_f_string_dynamics_t_delete_simple(parameter.work)
#endif // _di_fake_make_parameter_t_
fake_path_part_programs_s,
fake_path_part_settings_s,
fake_path_part_stage_s,
- fake_path_part_build_s,
+ data->path_under,
fake_path_part_documentation_s,
fake_path_part_settings_s,
fake_path_part_documents_s,
fake_parameter_path_build_e,
fake_parameter_path_data_e,
fake_parameter_path_sources_e,
+ fake_parameter_path_under_e,
fake_parameter_path_work_e,
};
fake_long_path_build_s,
fake_long_path_data_s,
fake_long_path_sources_s,
+ fake_long_path_under_s,
fake_long_path_work_s,
};
fake_default_path_build_s,
fake_default_path_data_s,
fake_default_path_sources_s,
+ fake_path_part_build_s,
fake_default_path_work_s,
};
&data->path_build,
&data->path_data,
&data->path_sources,
+ &data->path_under,
&data->path_work,
};
- for (uint8_t i = 0; i < 4; ++i) {
+ for (uint8_t i = 0; i < 5; ++i) {
if (data->main->parameters.array[parameters_id[i]].result == f_console_result_found_e) {
fake_print_error_parameter_missing_value(data, parameters_name[i]);
fake_short_path_build_s,
fake_short_path_data_s,
fake_short_path_sources_s,
+ fake_short_path_under_s,
fake_short_path_work_s,
fake_short_process_s,
fake_short_settings_s,
&data_make->main->parameters.array[fake_parameter_path_build_e],
&data_make->main->parameters.array[fake_parameter_path_data_e],
&data_make->main->parameters.array[fake_parameter_path_sources_e],
+ &data_make->main->parameters.array[fake_parameter_path_under_e],
&data_make->main->parameters.array[fake_parameter_path_work_e],
&data_make->main->parameters.array[fake_parameter_process_e],
&data_make->main->parameters.array[fake_parameter_settings_e],
&data_make->data->path_build,
&data_make->data->path_data,
&data_make->data->path_sources,
+ &data_make->data->path_under,
&data_make->data->path_work,
&data_make->data->process,
&data_make->data->settings,
&data_make->parameter.build,
&data_make->parameter.data,
&data_make->parameter.sources,
+ &data_make->parameter.under,
&data_make->parameter.work,
&data_make->parameter.process,
&data_make->parameter.settings,
&data_make->parameter_option.build,
&data_make->parameter_option.data,
&data_make->parameter_option.sources,
+ &data_make->parameter_option.under,
&data_make->parameter_option.work,
&data_make->parameter_option.process,
&data_make->parameter_option.settings,
&data_make->parameter_value.build,
&data_make->parameter_value.data,
&data_make->parameter_value.sources,
+ &data_make->parameter_value.under,
&data_make->parameter_value.work,
&data_make->parameter_value.process,
&data_make->parameter_value.settings,
};
- for (uint8_t i = 0; i < 7; ++i) {
+ for (uint8_t i = 0; i < 8; ++i) {
if (console[i]->result == f_console_result_none_e) {
continue;
fake_make_parameter_variable_process_s,
fake_make_parameter_variable_settings_s,
fake_make_parameter_variable_sources_s,
+ fake_make_parameter_variable_under_s,
fake_make_parameter_variable_verbosity_s,
fake_make_parameter_variable_work_s,
fake_make_parameter_variable_option_build_s,
fake_make_parameter_variable_option_process_s,
fake_make_parameter_variable_option_settings_s,
fake_make_parameter_variable_option_sources_s,
+ fake_make_parameter_variable_option_under_s,
fake_make_parameter_variable_option_verbosity_s,
fake_make_parameter_variable_option_work_s,
fake_make_parameter_variable_value_build_s,
fake_make_parameter_variable_value_process_s,
fake_make_parameter_variable_value_settings_s,
fake_make_parameter_variable_value_sources_s,
+ fake_make_parameter_variable_value_under_s,
fake_make_parameter_variable_value_verbosity_s,
fake_make_parameter_variable_value_work_s,
};
&data_make->parameter.process,
&data_make->parameter.settings,
&data_make->parameter.sources,
+ &data_make->parameter.under,
&data_make->parameter.verbosity,
&data_make->parameter.work,
&data_make->parameter_option.build,
&data_make->parameter_option.process,
&data_make->parameter_option.settings,
&data_make->parameter_option.sources,
+ &data_make->parameter_option.under,
&data_make->parameter_option.verbosity,
&data_make->parameter_option.work,
&data_make->parameter_value.build,
&data_make->parameter_value.process,
&data_make->parameter_value.settings,
&data_make->parameter_value.sources,
+ &data_make->parameter_value.under,
&data_make->parameter_value.verbosity,
&data_make->parameter_value.work,
};
unmatched = F_false;
}
else {
- for (k = 0; k < 33; ++k) {
+ for (k = 0; k < 36; ++k) {
if (fl_string_dynamic_partial_compare_string(reserved_name[k].string, data_make->buffer, reserved_name[k].used, iki_data->content.array[j]) != F_equal_to) {
continue;
fake_make_parameter_variable_process_s,
fake_make_parameter_variable_settings_s,
fake_make_parameter_variable_sources_s,
+ fake_make_parameter_variable_under_s,
fake_make_parameter_variable_verbosity_s,
fake_make_parameter_variable_work_s,
fake_make_parameter_variable_option_build_s,
fake_make_parameter_variable_option_process_s,
fake_make_parameter_variable_option_settings_s,
fake_make_parameter_variable_option_sources_s,
+ fake_make_parameter_variable_option_under_s,
fake_make_parameter_variable_option_verbosity_s,
fake_make_parameter_variable_option_work_s,
fake_make_parameter_variable_value_build_s,
fake_make_parameter_variable_value_process_s,
fake_make_parameter_variable_value_settings_s,
fake_make_parameter_variable_value_sources_s,
+ fake_make_parameter_variable_value_under_s,
fake_make_parameter_variable_value_verbosity_s,
fake_make_parameter_variable_value_work_s,
};
data_make->data->process.used,
data_make->data->settings.used,
data_make->data->path_sources.used,
+ data_make->data->path_under.used,
F_true,
data_make->data->path_work.used,
data_make->main->parameters.array[fake_parameter_path_build_e].result == f_console_result_additional_e,
data_make->main->parameters.array[fake_parameter_process_e].result == f_console_result_additional_e,
data_make->main->parameters.array[fake_parameter_settings_e].result == f_console_result_additional_e,
data_make->main->parameters.array[fake_parameter_path_sources_e].result == f_console_result_additional_e,
+ data_make->main->parameters.array[fake_parameter_path_under_e].result == f_console_result_additional_e,
data_make->main->parameters.array[fake_parameter_verbosity_quiet_e].result == f_console_result_found_e || data_make->main->parameters.array[fake_parameter_verbosity_normal_e].result == f_console_result_found_e || data_make->main->parameters.array[fake_parameter_verbosity_verbose_e].result == f_console_result_found_e || data_make->main->parameters.array[fake_parameter_verbosity_debug_e].result == f_console_result_found_e,
data_make->main->parameters.array[fake_parameter_path_work_e].result == f_console_result_additional_e,
data_make->parameter_value.build.used,
data_make->parameter_value.process.used,
data_make->parameter_value.settings.used,
data_make->parameter_value.sources.used,
+ data_make->parameter_value.under.used,
data_make->parameter_value.verbosity.used,
data_make->parameter_value.work.used,
};
// Multiple properties may pass and so if any of them fail, then they all fail.
for (; i < data_make->cache_arguments.used && !result; ++i) {
- for (j = 0; j < 33; ++j) {
+ for (j = 0; j < 36; ++j) {
if (fl_string_dynamic_compare(reserved_name[j], data_make->cache_arguments.array[i]) == F_equal_to) {
result = reserved_parameter[j] ? 2 : 1;
fake_make_parameter_variable_process_s,
fake_make_parameter_variable_settings_s,
fake_make_parameter_variable_sources_s,
+ fake_make_parameter_variable_under_s,
fake_make_parameter_variable_verbosity_s,
fake_make_parameter_variable_work_s,
fake_make_parameter_variable_option_build_s,
fake_make_parameter_variable_option_process_s,
fake_make_parameter_variable_option_settings_s,
fake_make_parameter_variable_option_sources_s,
+ fake_make_parameter_variable_option_under_s,
fake_make_parameter_variable_option_verbosity_s,
fake_make_parameter_variable_option_work_s,
fake_make_parameter_variable_value_build_s,
fake_make_parameter_variable_value_process_s,
fake_make_parameter_variable_value_settings_s,
fake_make_parameter_variable_value_sources_s,
+ fake_make_parameter_variable_value_under_s,
fake_make_parameter_variable_value_verbosity_s,
fake_make_parameter_variable_value_work_s,
};
f_status_t status = F_none;
- for (f_array_length_t i = 0; i < 33; ++i) {
+ for (f_array_length_t i = 0; i < 36; ++i) {
if (fl_string_dynamic_compare(reserved_name[i], data_make->cache_arguments.array[0]) == F_equal_to) {
if (data_make->error.verbosity != f_console_verbosity_quiet_e && data_make->error.to.stream) {
\fB\-S, \-\-sources\fR
Specify a custom path to the source files.
.TP
+\fB\-U, \-\-under\fR
+Specify a custom path the data build files are under.
+.TP
\fB\-w, \-\-work\fR
Use includes/libraries/programs from this directory instead of system.
.TP
- code:"settings": Associated with code:"-s/--settings" parameter.
- code:"sources": Associated with code:"-S/--sources" parameter.
- code:"top": The absolute path to the code:"top" directory, which is the base project directory (Always has a trailing forward slash).
+ - code:"under": Associated with code:"-U/--under" parameter.
- code:"verbosity": Associated with code:"+Q/++quiet", code:"+E/++error", code:"+N/++normal", code:"+V/++verbose", and code:"+D/++debug" parameters.
- code:"work": Associated with code:"-w/--work" parameter.
This variable holds the code:"sources" program parameters, such as code:"-S sources/".
This supports both code:":option" and code:":value".
+ - code:"under"\:
+ This variable holds the code:"under" program parameters, such as code:"-U build/".
+ This supports both code:":option" and code:":value".
+
- code:"verbosity"\:
This variable holds the verbosity related program parameters, such as code:"+V".
This supports both code:":option" and code:":value" (value is always an empty string).
- code:"<="
The code:"if" bold:"Section Operation" condition code:"parameter"\:
- The following reserved words are available for parameter names: code:"build", code:"color", code:"current", code:"data", code:"documents", code:"define", code:"fakefile", code:"licenses", code:"mode", code:"process", code:"return", code:"settings", code:"sources", code:"top", code:"verbosity", and code:"work".
+ The following reserved words are available for parameter names: code:"build", code:"color", code:"current", code:"data", code:"documents", code:"define", code:"fakefile", code:"licenses", code:"mode", code:"process", code:"return", code:"settings", code:"sources", code:"top", code:"under", code:"verbosity", and code:"work".
The reserved words code:"documents" and code:"licenses" are neither implemented nor supported by Featureless Make 0.6.x and earlier)
Each of the reserved words supports having code:":option" and code:":value" appended, such as: code:"work:value".