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

A small build issue when building using OpenWatcom 1.9 under DOS #131

Closed bocke closed 9 months ago

bocke commented 9 months ago

At some moment build script tries to run

cd ..\country && C:\WATCOM\BINW\WMAKE.EXE all

While double ampersands should work on modern Windows CMD, it won't work under MS-DOS and derivatives. So if you run the build under pure DOS (or DOSEmu2 as in my case), it will break at this point.

You can still enter the directory, run wmake and copy country.sys to ..\bin and rerun build and everything will work. But you can't get a clean build without any manual intervention.

I couldn't identify where is the offending code as it seems to be hidden behind variables.

bocke commented 9 months ago

Got it. It's in kernel/makefile:

../bin/country.sys:
    cd ..$(DIRSEP)country && $(MAKE) all
    $(CP) ..$(DIRSEP)country$(DIRSEP)country.sys ..$(DIRSEP)bin$(DIRSEP)country.sys

Changing this to:

../bin/country.sys:
    cd ..$(DIRSEP)country 
    $(MAKE) all
    $(CP) ..$(DIRSEP)country$(DIRSEP)country.sys ..$(DIRSEP)bin$(DIRSEP)country.sys

Will make it work on DOS too.

bocke commented 9 months ago

Generated the pull request here: https://github.com/FDOS/kernel/pull/132

ecm-pushbx commented 9 months ago

I edited your last comment to use code fences (triple backticks) to correctly format the multi-line content.