1 #include "types.h" 2 #include "globals.h" 3 4 int env_overrides = 0; 5 6 /* Nonzero means ignore status codes returned by commands 7 executed to remake files. Just treat them all as successful (-i). */ 8 9 int ignore_errors_flag = 0; 10 11 /* Nonzero means don't remake anything, just print the data base 12 that results from reading the makefile (-p). */ 13 14 int print_data_base_flag = 0; 15 16 /* Nonzero means don't remake anything; just return a nonzero status 17 if the specified targets are not up to date (-q). */ 18 19 int question_flag = 0; 20 21 /* Nonzero means do not use any of the builtin rules (-r) / variables (-R). */ 22 23 int no_builtin_rules_flag = 0; 24 int no_builtin_variables_flag = 0; 25 26 /* Nonzero means check symlink mtimes. */ 27 int check_symlink_flag = 0; 28 29 /* Nonzero means print directory before starting and when done (-w). */ 30 int print_directory_flag = 0; 31 32 /* Nonzero means print version information. */ 33 int print_version_flag = 0; 34 35 /*! Nonzero means --trace and shell trace with input. */ 36 int shell_trace = 0; 37 38 /* Nonzero means profile calls (option --profile). */ 39 int profile_flag = 0; 40 41 /* Nonzero means look in parent directories for a Makefile if one isn't found 42 in the current directory (option --search-parent). */ 43 int search_parent_flag = 0; 44 45 /* Nonzero means do extra verification (that may slow things down). */ 46 int verify_flag; 47 48 /* Nonzero means do not print commands to be executed (-s). */ 49 int silent_flag; 50 51 /* Nonzero means just touch the files 52 that would appear to need remaking (-t) */ 53 int touch_flag; 54 55 /* Nonzero means just print what commands would need to be executed, 56 don't actually execute them (-n). */ 57 int just_print_flag; 58 59 /*! If 1, we don't give additional error reporting information. */ 60 int no_extended_errors = 0; 61 62 int db_level = 0; 63 64 /*! Value of the MAKELEVEL variable at startup (or 0). */ 65 unsigned int makelevel; 66 67 /*! Nonzero gives a list of explicit target names and exits. Set by option 68 --targets 69 */ 70 int show_targets_flag = 0; 71 72 /*! Nonzero gives a list of explicit target names that have commands 73 associated with them and exits. Set by option --tasks 74 */ 75 int show_tasks_flag = 0; 76 77 /*! If 1, same as --debugger=preaction */ 78 int debugger_flag; 79 80 /* If nonzero, we should print a warning message 81 for each reference to an undefined variable. */ 82 int warn_undefined_variables_flag; 83 84 /** True if we are inside the debugger, false otherwise. */ 85 int in_debugger = false; 86 87 /*! Nonzero if we have seen the magic '.POSIX' target. 88 This turns on pedantic compliance with POSIX.2. */ 89 int posix_pedantic; 90 91 /*! If nonzero, we are debugging after each "step" for that many times. 92 When we have a value 1, then we actually run the debugger read loop. 93 Otherwise we decrement the step count. 94 95 */ 96 unsigned int i_debugger_stepping = 0; 97 98 /*! If nonzero, we are debugging after each "next" for that many times. 99 When we have a value 1, then we actually run the debugger read loop. 100 Otherwise we decrement the step count. 101 102 */ 103 unsigned int i_debugger_nexting = 0; 104 105 /*! If nonzero, enter the debugger if we hit a fatal error. 106 */ 107 unsigned int debugger_on_error = 0; 108 109 /*! If nonzero, we have requested some sort of debugging. 110 */ 111 unsigned int debugger_enabled; 112 113 /*! If true, enter the debugger before reading any makefiles. */ 114 bool b_debugger_preread = false; 115 116 /* This character introduces a command: it's the first char on the line. */ 117 char cmd_prefix = '\t'; 118 119 /*! Our current directory after processing all -C options. */ 120 char *starting_directory; 121 122 /* One of OUTPUT_SYNC_* if the "--output-sync" option was given. This 123 attempts to synchronize the output of parallel jobs such that the results 124 of each job stay together. */ 125 int output_sync = OUTPUT_SYNC_NONE; 126 127 /*! This is the path to the shell used run Makefile commands. 128 The value is set in job.c. 129 */ 130 extern const char *default_shell; 131 132 char *remote_description = 0; 133 134 /* Remember the original value of the SHELL variable, from the environment. */ 135 struct variable shell_var; 136 137 /* The filename and pointer to line number of the 138 makefile currently being read in. */ 139 const gmk_floc *reading_file = 0; 140