mirror of
https://github.com/FDOS/kernel.git
synced 2025-07-23 13:54:30 +02:00
use NT OW binaries on NT, add access to more options from build cmd line
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1082 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
a76186391f
commit
2c6ba2f90e
37
build.bat
37
build.bat
@ -3,10 +3,16 @@
|
|||||||
:- batch file to build everything
|
:- batch file to build everything
|
||||||
:- $Id$
|
:- $Id$
|
||||||
|
|
||||||
:-----------------------------------------------------------------------
|
if NOT "%1" == "/?" goto start
|
||||||
:- Syntax: BUILD [-r] [fat32|fat16] [msc|wc|tc|tcpp] [86|186|386] [debug] [lfnapi] [/L #]
|
echo ":-----------------------------------------------------------------------"
|
||||||
:- option case is significant !!
|
echo ":- Syntax: BUILD [-r] [fat32|fat16] [msc|wc|tc|tcpp|bc] [86|186|386] "
|
||||||
:-----------------------------------------------------------------------
|
echo ":- [debug] [lfnapi] [/L #] [/D value] "
|
||||||
|
echo ":- option case is significant !! "
|
||||||
|
echo ":- Note: Open Watcom (wc) is the preferred compiler "
|
||||||
|
echo ":-----------------------------------------------------------------------"
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:start
|
||||||
|
|
||||||
set XERROR=1
|
set XERROR=1
|
||||||
if "%XERROR%" == "" goto noenv
|
if "%XERROR%" == "" goto noenv
|
||||||
@ -34,15 +40,18 @@ if "%1" == "msc" set COMPILER=MSC
|
|||||||
if "%1" == "wc" set COMPILER=WATCOM
|
if "%1" == "wc" set COMPILER=WATCOM
|
||||||
if "%1" == "tc" set COMPILER=TC
|
if "%1" == "tc" set COMPILER=TC
|
||||||
if "%1" == "tcpp" set COMPILER=TCPP
|
if "%1" == "tcpp" set COMPILER=TCPP
|
||||||
|
if "%1" == "bc" set COMPILER=BC
|
||||||
|
|
||||||
if "%1" == "86" set XCPU=86
|
if "%1" == "86" set XCPU=86
|
||||||
if "%1" == "186" set XCPU=186
|
if "%1" == "186" set XCPU=186
|
||||||
if "%1" == "386" set XCPU=386
|
if "%1" == "386" set XCPU=386
|
||||||
|
if "%1" == "x86" goto setCPU
|
||||||
|
|
||||||
if "%1" == "debug" set ALLCFLAGS=%ALLCFLAGS% -DDEBUG
|
if "%1" == "debug" set ALLCFLAGS=%ALLCFLAGS% -DDEBUG
|
||||||
if "%1" == "lfnapi" set ALLCFLAGS=%ALLCFLAGS% -DWITHLFNAPI
|
if "%1" == "lfnapi" set ALLCFLAGS=%ALLCFLAGS% -DWITHLFNAPI
|
||||||
|
|
||||||
if "%1" == "/L" goto setLoadSeg
|
if "%1" == "/L" goto setLoadSeg
|
||||||
|
if "%1" == "/D" goto setDefine
|
||||||
|
|
||||||
:nextOption
|
:nextOption
|
||||||
shift
|
shift
|
||||||
@ -92,6 +101,7 @@ echo.
|
|||||||
cd ..\sys
|
cd ..\sys
|
||||||
call %MAKE% all
|
call %MAKE% all
|
||||||
if errorlevel 1 goto abort-cd
|
if errorlevel 1 goto abort-cd
|
||||||
|
if NOT "%XUPX%" == "" %XUPX% ..\bin\sys.com
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo Process KERNEL +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
echo Process KERNEL +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
@ -117,10 +127,27 @@ goto end
|
|||||||
:setLoadSeg
|
:setLoadSeg
|
||||||
shift
|
shift
|
||||||
if "%1" == "" echo you MUST specify load segment eg 0x60 with /L option
|
if "%1" == "" echo you MUST specify load segment eg 0x60 with /L option
|
||||||
if "%1" == "" goot abort
|
if "%1" == "" goto abort
|
||||||
set LOADSEG=%1
|
set LOADSEG=%1
|
||||||
goto nextOption
|
goto nextOption
|
||||||
|
|
||||||
|
:setCPU
|
||||||
|
shift
|
||||||
|
if "%1" == "" echo you MUST specify compiler's cpu cmd line argument, eg -5
|
||||||
|
if "%1" == "" goto abort
|
||||||
|
set XCPU_EX=%1
|
||||||
|
goto nextOption
|
||||||
|
|
||||||
|
:setDefine
|
||||||
|
shift
|
||||||
|
:- Give extra compiler DEFINE flags here
|
||||||
|
if "%1" == "" echo you MUST specify value to define with /D option
|
||||||
|
if "%1" == "" echo such as /D DEBUG : extra DEBUG output
|
||||||
|
if "%1" == "" echo or /D DOSEMU : printf output goes to dosemu log
|
||||||
|
if "%1" == "" goto abort
|
||||||
|
set ALLCFLAGS=%ALLCFLAGS% -D%1
|
||||||
|
goto nextOption
|
||||||
|
|
||||||
:noenv
|
:noenv
|
||||||
echo Unable to set necessary environment variables!
|
echo Unable to set necessary environment variables!
|
||||||
goto abort
|
goto abort
|
||||||
|
29
buildall.bat
29
buildall.bat
@ -1,10 +1,7 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
:- $Id$
|
|
||||||
|
|
||||||
:----------------------------------------------------------
|
:----------------------------------------------------------
|
||||||
:- batch file to build _many_ KERNELS, hope build works.
|
:- batch file to build _many_ KERNELS
|
||||||
:- takes 3 minutes on my(TE) Win2K/P700. your milage may vary :-)
|
|
||||||
:----------------------------------------------------------
|
:----------------------------------------------------------
|
||||||
|
|
||||||
if "%1" == "$SUMMARY" goto summary
|
if "%1" == "$SUMMARY" goto summary
|
||||||
@ -36,6 +33,30 @@ if "%XERROR%" == "" call build.bat -r tc 86 fat32
|
|||||||
if not "%XERROR%" == "" goto daswarwohlnix
|
if not "%XERROR%" == "" goto daswarwohlnix
|
||||||
:no_tc
|
:no_tc
|
||||||
|
|
||||||
|
:***** TCPP kernels
|
||||||
|
|
||||||
|
if "%TCPP_BASE%" == "" goto no_tcpp
|
||||||
|
call build.bat -r tcpp 186 fat16
|
||||||
|
if "%XERROR%" == "" call build.bat -r tcpp 86 fat16
|
||||||
|
if "%XERROR%" == "" call build.bat -r tcpp 186 fat32
|
||||||
|
if "%XERROR%" == "" call build.bat -r tcpp 86 fat32
|
||||||
|
|
||||||
|
if not "%XERROR%" == "" goto daswarwohlnix
|
||||||
|
:no_tcpp
|
||||||
|
|
||||||
|
:***** BC kernels
|
||||||
|
|
||||||
|
if "%BC_BASE%" == "" goto no_bc
|
||||||
|
call build.bat -r bc 386 fat16
|
||||||
|
if "%XERROR%" == "" call build.bat -r bc 186 fat16
|
||||||
|
if "%XERROR%" == "" call build.bat -r bc 86 fat16
|
||||||
|
if "%XERROR%" == "" call build.bat -r bc 386 fat32
|
||||||
|
if "%XERROR%" == "" call build.bat -r bc 186 fat32
|
||||||
|
if "%XERROR%" == "" call build.bat -r bc 86 fat32
|
||||||
|
|
||||||
|
if not "%XERROR%" == "" goto daswarwohlnix
|
||||||
|
:no_bc
|
||||||
|
|
||||||
:***** (Open) Watcom kernels
|
:***** (Open) Watcom kernels
|
||||||
|
|
||||||
if "%WATCOM%" == "" goto no_wc
|
if "%WATCOM%" == "" goto no_wc
|
||||||
|
24
config.b
24
config.b
@ -22,12 +22,13 @@ set LAST=
|
|||||||
:- NASM/DJGPP crashes when using protected mode Borland's make.
|
:- NASM/DJGPP crashes when using protected mode Borland's make.
|
||||||
|
|
||||||
set NASM=c:\bin\nasm16
|
set NASM=c:\bin\nasm16
|
||||||
|
::set NASM=c:\bin\nasmw.exe
|
||||||
|
|
||||||
:-----------------------------------------------------------------------
|
:-----------------------------------------------------------------------
|
||||||
:- define COMPILER name here, pick one of them.
|
:- define COMPILER name here, pick one of them.
|
||||||
|
|
||||||
:- Turbo C 2.01
|
:- Turbo C 2.01
|
||||||
set COMPILER=TC
|
:: set COMPILER=TC
|
||||||
:- Turbo C++ 1.01
|
:- Turbo C++ 1.01
|
||||||
::set COMPILER=TCPP
|
::set COMPILER=TCPP
|
||||||
:- Turbo C++ 3.0
|
:- Turbo C++ 3.0
|
||||||
@ -37,33 +38,18 @@ set COMPILER=TC
|
|||||||
:- Microsoft C
|
:- Microsoft C
|
||||||
::set COMPILER=MSC
|
::set COMPILER=MSC
|
||||||
:- Watcom C
|
:- Watcom C
|
||||||
::set COMPILER=WATCOM
|
set COMPILER=WATCOM
|
||||||
|
|
||||||
:-----------------------------------------------------------------------
|
:-----------------------------------------------------------------------
|
||||||
:- define BASE dir of compiler;
|
:- define BASE dir of compiler;
|
||||||
:- may be defined for all installed compilers.
|
:- may be defined for all installed compilers.
|
||||||
|
|
||||||
set TC_BASE=c:\tc
|
::set TC_BASE=c:\tc
|
||||||
::set TCPP_BASE=c:\tcpp
|
::set TCPP_BASE=c:\tcpp
|
||||||
::set TCPP3_BASE=c:\tcpp3
|
::set TCPP3_BASE=c:\tcpp3
|
||||||
::set BC_BASE=c:\bc
|
::set BC_BASE=c:\bc
|
||||||
::set MSC_BASE=c:\msc
|
::set MSC_BASE=c:\msc
|
||||||
::set WATCOM=c:\watcom
|
set WATCOM=c:\watcom
|
||||||
|
|
||||||
:-----------------------------------------------------------------------
|
|
||||||
:- When compiling executable, compilers search linker through PATH;
|
|
||||||
:- if some linker not in PATH, uncomment OLDPATH and required SETs PATH.
|
|
||||||
|
|
||||||
::set OLDPATH=%PATH%
|
|
||||||
::set PATH=%TC_BASE%;%PATH%
|
|
||||||
::set PATH=%TCPP_BASE%\bin;%PATH%
|
|
||||||
::set PATH=%TCPP3_BASE%\bin;%PATH%
|
|
||||||
::set PATH=%BC_BASE%\bin;%PATH%
|
|
||||||
::set PATH=%MSC_BASE%\bin;%PATH%
|
|
||||||
::set PATH=%WATCOM%\binw;%PATH%
|
|
||||||
|
|
||||||
:- MSC searches libraries only through LIB variable.
|
|
||||||
::set LIB=%MSC_BASE%\lib
|
|
||||||
|
|
||||||
:-----------------------------------------------------------------------
|
:-----------------------------------------------------------------------
|
||||||
:- define which linker to use OR it will be determined AUTOMATICALLY.
|
:- define which linker to use OR it will be determined AUTOMATICALLY.
|
||||||
|
42
defaults.bat
42
defaults.bat
@ -17,12 +17,30 @@ if "%BASE%" == "" goto clearset
|
|||||||
|
|
||||||
:-----------------------------------------------------------------------
|
:-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
set BINPATH=%BASE%\bin
|
||||||
|
if "%COMPILER%" == "TC" set BINPATH=%BASE%
|
||||||
|
if "%COMPILER%" == "WATCOM" set BINPATH=%BASE%\binw
|
||||||
|
if "%COMPILER%" == "WATCOM" if "%OS%" == "Windows_NT" set BINPATH=%BASE%\binnt
|
||||||
|
|
||||||
|
echo Path to compiler programs (binaries) is %BINPATH%
|
||||||
|
|
||||||
|
:-----------------------------------------------------------------------
|
||||||
|
:- When compiling executable, compilers may invoke secondary programs
|
||||||
|
:- such as preprocessor, compiler component, or linker through PATH;
|
||||||
|
|
||||||
|
set OLDPATH=%PATH%
|
||||||
|
set PATH=%BINPATH%;%PATH%
|
||||||
|
|
||||||
|
:- MSC searches libraries only through LIB variable.
|
||||||
|
if "%COMPILER%" == "MSC" set LIB=%MSC_BASE%\lib
|
||||||
|
|
||||||
|
:-----------------------------------------------------------------------
|
||||||
|
|
||||||
if not "%LINK%" == "" goto skip_link
|
if not "%LINK%" == "" goto skip_link
|
||||||
|
|
||||||
set LINK=%BASE%\bin\tlink /c/m
|
set LINK=%BINPATH%\tlink /c/m/s/l
|
||||||
if "%COMPILER%" == "TC" set LINK=%BASE%\tlink /c/m
|
if "%COMPILER%" == "WATCOM" set LINK=..\utils\wlinker /nologo
|
||||||
if "%COMPILER%" == "WATCOM" set LINK=call ..\utils\wlinker /nologo
|
if "%COMPILER%" == "MSC" set LINK=%BINPATH%\link /ONERROR:NOEXE /batch
|
||||||
if "%COMPILER%" == "MSC" set LINK=%BASE%\bin\link /ONERROR:NOEXE /batch
|
|
||||||
|
|
||||||
echo Linker is %LINK%
|
echo Linker is %LINK%
|
||||||
|
|
||||||
@ -32,11 +50,10 @@ echo Linker is %LINK%
|
|||||||
|
|
||||||
if not "%LIBUTIL%" == "" goto skip_lib
|
if not "%LIBUTIL%" == "" goto skip_lib
|
||||||
|
|
||||||
set LIBUTIL=%BASE%\bin\tlib
|
set LIBUTIL=%BINPATH%\tlib
|
||||||
set LIBTERM=
|
set LIBTERM=
|
||||||
if "%COMPILER%" == "TC" set LIBUTIL=%BASE%\tlib
|
if "%COMPILER%" == "WATCOM" set LIBUTIL=%BINPATH%\wlib -q
|
||||||
if "%COMPILER%" == "WATCOM" set LIBUTIL=%BASE%\binw\wlib -q
|
if "%COMPILER%" == "MSC" set LIBUTIL=%BINPATH%\lib /nologo
|
||||||
if "%COMPILER%" == "MSC" set LIBUTIL=%BASE%\bin\lib /nologo
|
|
||||||
if "%COMPILER%" == "MSC" set LIBTERM=;
|
if "%COMPILER%" == "MSC" set LIBTERM=;
|
||||||
|
|
||||||
echo Librarian is %LIBUTIL%
|
echo Librarian is %LIBUTIL%
|
||||||
@ -47,10 +64,9 @@ echo Librarian is %LIBUTIL%
|
|||||||
|
|
||||||
if not "%MAKE%" == "" goto skip_make
|
if not "%MAKE%" == "" goto skip_make
|
||||||
|
|
||||||
set MAKE=%BASE%\bin\make
|
set MAKE=%BINPATH%\make
|
||||||
if "%COMPILER%" == "TC" set MAKE=%BASE%\make
|
if "%COMPILER%" == "WATCOM" set MAKE=%BINPATH%\wmake /ms /h
|
||||||
if "%COMPILER%" == "WATCOM" set MAKE=%BASE%\binw\wmake /ms /h
|
if "%COMPILER%" == "MSC" set MAKE=%BINPATH%\nmake /nologo
|
||||||
if "%COMPILER%" == "MSC" set MAKE=%BASE%\bin\nmake /nologo
|
|
||||||
|
|
||||||
echo Make is %MAKE%
|
echo Make is %MAKE%
|
||||||
|
|
||||||
@ -68,6 +84,7 @@ if "%LAST%" == "1" goto end
|
|||||||
set NASM=
|
set NASM=
|
||||||
set COMPILER=
|
set COMPILER=
|
||||||
set BASE=
|
set BASE=
|
||||||
|
set BINPATH=
|
||||||
set TC_BASE=
|
set TC_BASE=
|
||||||
set TCPP_BASE=
|
set TCPP_BASE=
|
||||||
set TCPP3_BASE=
|
set TCPP3_BASE=
|
||||||
@ -79,6 +96,7 @@ set LIBTERM=
|
|||||||
set MAKE=
|
set MAKE=
|
||||||
set XUPX=
|
set XUPX=
|
||||||
set XCPU=
|
set XCPU=
|
||||||
|
set XCPU_EX=
|
||||||
set XFAT=
|
set XFAT=
|
||||||
set ALLCFLAGS=
|
set ALLCFLAGS=
|
||||||
set LOADSEG=
|
set LOADSEG=
|
||||||
|
@ -12,6 +12,11 @@ CPUOPT=-1
|
|||||||
!if $(XCPU) == 386
|
!if $(XCPU) == 386
|
||||||
CPUOPT=-3
|
CPUOPT=-3
|
||||||
!endif
|
!endif
|
||||||
|
# extension, if compiler supports it, specify compiler switch in XCPU_EX and set XCPU to 386
|
||||||
|
!if $(XCPU_EX)0 != 0
|
||||||
|
XCPU=386
|
||||||
|
CPUOPT=$(XCPU_EX)
|
||||||
|
!endif
|
||||||
|
|
||||||
!if $(XFAT)0 == 0
|
!if $(XFAT)0 == 0
|
||||||
XFAT=32
|
XFAT=32
|
||||||
@ -23,7 +28,7 @@ NASMFLAGS=-DWITHFAT32 $(NASMFLAGS)
|
|||||||
|
|
||||||
NASMFLAGS=-fobj -i../hdr/ -D$(COMPILER) -DXCPU=$(XCPU) $(NASMFLAGS)
|
NASMFLAGS=-fobj -i../hdr/ -D$(COMPILER) -DXCPU=$(XCPU) $(NASMFLAGS)
|
||||||
|
|
||||||
BINPATH=$(BASE)\bin
|
#BINPATH=$(BASE)\bin
|
||||||
INCLUDEPATH=$(BASE)\include
|
INCLUDEPATH=$(BASE)\include
|
||||||
LIBPATH=$(BASE)\lib
|
LIBPATH=$(BASE)\lib
|
||||||
INITPATCH=@rem
|
INITPATCH=@rem
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
# TC.MAK - kernel compiler options for Turbo C 2.01
|
# TC.MAK - kernel compiler options for Turbo C 2.01
|
||||||
#
|
#
|
||||||
|
|
||||||
BINPATH=$(BASE)
|
|
||||||
|
|
||||||
!include "..\mkfiles\tcpp.mak"
|
!include "..\mkfiles\tcpp.mak"
|
||||||
|
|
||||||
TARGET=KTC
|
TARGET=KTC
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
TARGET=KWC
|
TARGET=KWC
|
||||||
|
|
||||||
BINPATH=$(BASE)\binw
|
|
||||||
INCLUDEPATH=$(BASE)\h
|
INCLUDEPATH=$(BASE)\h
|
||||||
LIBPATH=$(BASE)\lib286
|
LIBPATH=$(BASE)\lib286
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@echo off
|
@echo off
|
||||||
%BASE%\binw\ms2wlink %1 %2 %3 %4 %5 %6 %7 %8 %9 ,,,, >kernel.lnk
|
%BINPATH%\ms2wlink %1 %2 %3 %4 %5 %6 %7 %8 %9 ,,,, >kernel.lnk
|
||||||
echo op map,statics,verbose,eliminate,vfremoval>>kernel.lnk
|
echo op map,statics,verbose,eliminate,vfremoval>>kernel.lnk
|
||||||
%BASE%\binw\wlink @kernel.lnk
|
%BINPATH%\wlink @kernel.lnk
|
||||||
|
Loading…
x
Reference in New Issue
Block a user