Porting to VMS, from Hartmut Becker.
Create a new variable MAKE_HOST providing the host architecture.
Cleanups.
Add job.h to POTFILES as it now has a translation.
Disable database verification unless debug enabled.

The database verification can take a long time.  Only enable it if debug mode
is enabled.  If MAKE_MAINTAINER_MODE is set, it's also enabled by default.
Create a character map to use for locating stop-points in strings.

In various places we were passing flags and characters to compare, then
using complex conditionals to see where to stop in string searches.
Performance numbers reveal that we were spending as much as 23% of our
processing time in these functions, most of it in the comparison lines.
Instead create a character map and use a single bitwise comparison to
determine if this is any one of the stop characters.
Fix a fatal error at startup on Windows due to non-ASCII characters in PATH.

 main.c (find_and_set_default_shell): Don't use file_exists_p or
 dir_file_exists_p, as those call readdir, which can fail if PATH
 includes directories with non-ASCII characters, and that would
 cause Make to fail at startup with confusing diagnostics.  See
 https://sourceforge.net/mailarchive/message.php?msg_id=30846737
 for the details.
Compare internal commands of non-Unix shells on Windows case-insensitively.

 job.c (construct_command_argv_internal) [WINDOWS32]: Use
 case-insensitive comparison with internal commands of non-Unix
 shells.
Minor fix in build_w32.bat.

 build_w32.bat (LinkGCC): Prevent a comment from being displayed
 at build time.
Set O_APPEND mode for stdout/stderr and output-sync temporary files.

POSIX does not guarantee that writes will be atomic if a file is
opened for normal (non-append) output.  That means if multiple processes
are writing to the same file, output could be lost.  I can't think of
a real use-case where we would NOT want append for stdout/stderr, so
force it if we can.
Keep a local count of the max dependency list size.

This global variable could be modified during recursion so keep our
own local copy to compare against.
Modify the update_status field in struct file to be an enum.

Makes the code a little clearer/cleaner, and solves a problem on systems
where a char is unsigned by default.
Notify the compiler that exec_command() won't return.
Safety cleanups: ensure OUTFD is -1 when closed.
[Bug #39158] Source cleanups suggested by cppcheck utility.
[Bug #39310] Parse simple pattern prereqs for globbing.

We tried to get some efficiency by avoiding a parse_file_seq() for simple
pattern prerequisites, but this also means no wildcard expansion was
happening, so add it back.  Add regression tests for wildcards in target and
prerequisite lists.