FDOS / kernel

FreeDOS kernel - implements the core MS-DOS/PC-DOS (R) compatible operating system. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2 or later. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project.
http://kernel.fdos.org/
GNU General Public License v2.0
811 stars 144 forks source link

Boot sector listing files not named correctly #97

Closed ecm-pushbx closed 9 months ago

ecm-pushbx commented 1 year ago

https://github.com/FDOS/kernel/blob/2efe4ab9f4a645eb3b44a178c99eb03c4cfa6ead/boot/makefile#L11

In the makefile the recipe line $(NASM) -dISFAT12 boot.asm -l$*.lst -ofat12com.bin creates the file .lst (just dot L S T, no name portion) on our server and the desktop box (both running Debian). This seems to have been added in https://sourceforge.net/p/freedos/svn/1492/

ecm-pushbx commented 1 year ago

Quoth https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html#Automatic-Variables

In an explicit rule, there is no stem; so ‘$*’ cannot be determined in that way. Instead, if the target name ends with a recognized suffix (see Old-Fashioned Suffix Rules), ‘$*’ is set to the target name minus the suffix. For example, if the target name is ‘foo.c’, then ‘$*’ is set to ‘foo’, since ‘.c’ is a suffix. GNU make does this bizarre thing only for compatibility with other implementations of make. You should generally avoid using ‘$*’ except in implicit rules or static pattern rules.

If the target name in an explicit rule does not end with a recognized suffix, ‘$*’ is set to the empty string for that rule.