Refactor code that handles when included files are missing

- Single unified routine for erroring out or handling missing dependencies
- Single three-state enum instead of two Booleans for missing dependencies
  (this causes `-MC` to imply `-MG` instead of needing `-MG -MC`)
- Functions than can miss included files return a Boolean for whether the
  parser should `YYACCEPT` and exit
This commit is contained in:
Rangi42
2025-07-18 14:03:23 -04:00
parent b80b30fba1
commit e7d63f5f6b
9 changed files with 72 additions and 76 deletions

View File

@@ -116,7 +116,7 @@ Write
dependencies to
.Ar depend_file .
.It Fl MC
To be used in conjunction with
Implies
.Fl MG .
This makes
.Nm
@@ -143,7 +143,9 @@ exits normally or continues processing (depending on whether
was enabled) instead of erroring out.
This feature is used in automatic updating of Makefiles.
.It Fl MP
When enabled, this causes a phony target to be added for each dependency other than the main file.
When enabled, this adds a phony target to the rules emitted by
.Fl M
for each dependency other than the main file.
This prevents
.Xr make 1
from erroring out when dependency files are deleted.