Ensure makeSystem is POSIX compliant for libgm2 Makefiles
Replaces 'echo' with POSIX-compliant 'printf' in libgm2's build scripts to ensure cross-platform compatibility.
This commit addresses a PR for the Modula-2 front-end by ensuring that the makeSystem script used in the libgm2 Makefiles is POSIX compliant. It replaces the use of echo with an equivalent printf command, avoiding potential compatibility issues across different shell environments. The change also ensures that makeSystem is invoked via $(SHELL) in the relevant Makefiles.
In Details
This change ensures POSIX compliance for the makeSystem script used within the libgm2 (Modula-2) build system. Specifically, it replaces echo commands with POSIX-standard printf equivalents to avoid shell-specific behaviors, particularly when makeSystem is invoked indirectly via $(SHELL) in Makefiles. This is part of PR 127359.
- POSIX
- The Portable Operating System Interface is a family of standards specified by the IEEE for maintaining compatibility between operating systems. POSIX compliance ensures software can run on different Unix-like systems without modification.
- libgm2
- The GNU Modula-2 compiler's runtime library.
- Makefile
- A file that contains build instructions for the
makeutility, specifying dependencies and commands to compile and link software. - SHELL
- In the context of a Makefile,
$(SHELL)typically refers to the default shell specified by the system (e.g.,/bin/shor/bin/bash), ensuring commands are executed in a consistent environment.