FDOS/kernel

A small build issue when building using OpenWatcom 1.9 under DOS

Closed this issue · 3 comments

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.

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.

Generated the pull request here: #132

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