mirror of
https://github.com/FDOS/kernel.git
synced 2025-07-27 07:44:09 +02:00
add convenience options to build.bat for setting various defines
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1455 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
6ffc037046
commit
d6552eab77
89
build.bat
89
build.bat
@ -1,21 +1,30 @@
|
||||
@echo off
|
||||
rem batch file to build everything
|
||||
rem IF NOTHING COMPILES, CHECK IF YOUR CVS CHECKOUT USES CORRECT DOS LINEBREAKS
|
||||
|
||||
:- batch file to build everything
|
||||
:- $Id$
|
||||
if NOT "%1" == "/?" goto start
|
||||
echo ":-----------------------------------------------------------------------"
|
||||
echo ":- Syntax: BUILD [-r] [fat32|fat16] [msc|wc|tc|tcpp|bc] [86|186|386] "
|
||||
echo ":- [debug] [lfnapi] [/L #] [/D value] [list] [upx] [win] "
|
||||
echo ":- option case is significant !! "
|
||||
echo ":- Note: Open Watcom (wc) is the preferred compiler "
|
||||
echo ":-----------------------------------------------------------------------"
|
||||
goto end
|
||||
|
||||
:- Syntax: BUILD [-r] [fat32|fat16] [msc|wc|tc|tcpp] [86|186|386]
|
||||
:- option case is significant !!
|
||||
:start
|
||||
|
||||
:- assume an error until successful build
|
||||
set XERROR=1
|
||||
if "%XERROR%" == "" goto noenv
|
||||
|
||||
if "%1" == "-r" call clobber.bat
|
||||
if "%1" == "-r" shift
|
||||
|
||||
set XERROR=
|
||||
|
||||
if not exist config.bat echo You must copy CONFIG.B to CONFIG.BAT and edit it to reflect your setup!
|
||||
if not exist config.bat goto abort
|
||||
|
||||
call config.bat
|
||||
:-if "%LAST%" == "" goto noenv
|
||||
set dos4g=quiet
|
||||
|
||||
:-----------------------------------------------------------------------
|
||||
@ -32,11 +41,27 @@ if "%1" == "msc" set COMPILER=MSCL8
|
||||
if "%1" == "wc" set COMPILER=WATCOM
|
||||
if "%1" == "tc" set COMPILER=TC2
|
||||
if "%1" == "tcpp" set COMPILER=TURBOCPP
|
||||
if "%1" == "bc" set COMPILER=BC
|
||||
|
||||
if "%1" == "86" set XCPU=86
|
||||
if "%1" == "186" set XCPU=186
|
||||
if "%1" == "386" set XCPU=386
|
||||
if "%1" == "x86" goto setCPU
|
||||
|
||||
if "%1" == "upx" set XUPX=upx --8086 --best
|
||||
|
||||
if "%1" == "debug" set ALLCFLAGS=%ALLCFLAGS% -DDEBUG
|
||||
if "%1" == "lfnapi" set ALLCFLAGS=%ALLCFLAGS% -DWITHLFNAPI
|
||||
|
||||
if "%1" == "win" set ALLCFLAGS=%ALLCFLAGS% -DWIN31SUPPORT
|
||||
if "%1" == "win" set NASMFLAGS=%NASMFLAGS% -DWIN31SUPPORT
|
||||
|
||||
if "%1" == "list" set NASMFLAGS=%NASMFLAGS% -l$*.lst
|
||||
|
||||
if "%1" == "/L" goto setLoadSeg
|
||||
if "%1" == "/D" goto setDefine
|
||||
|
||||
:nextOption
|
||||
shift
|
||||
if not "%1" == "" goto loop_commandline
|
||||
|
||||
@ -44,11 +69,14 @@ if "%COMPILER%" == "" echo you MUST define a COMPILER variable in CONFIG.BAT
|
||||
if "%COMPILER%" == "" goto abort
|
||||
|
||||
call default.bat
|
||||
:-if "%LAST%" == "" goto noenv
|
||||
|
||||
:-----------------------------------------------------------------------
|
||||
:- finally - we are going to compile
|
||||
:-----------------------------------------------------------------------
|
||||
|
||||
echo USING OPTIONS of C=[%ALLCFLAGS%] ASM=[%NASMFLAGS%]
|
||||
|
||||
echo.
|
||||
echo Process UTILS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
echo.
|
||||
@ -83,6 +111,7 @@ echo.
|
||||
cd ..\sys
|
||||
%MAKE% production
|
||||
if errorlevel 1 goto abort-cd
|
||||
if NOT "%XUPX%" == "" %XUPX% ..\bin\sys.com
|
||||
|
||||
echo.
|
||||
echo Process KERNEL +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
@ -93,10 +122,10 @@ if errorlevel 1 goto abort-cd
|
||||
|
||||
cd ..
|
||||
|
||||
:- if you like, put some finalizing commands (like copy to floppy)
|
||||
:- into build2.bat
|
||||
set XERROR=
|
||||
|
||||
if exist build2.bat call build2
|
||||
:- if you like, put finalizing commands (like copy to floppy) into build2.bat
|
||||
if exist build2.bat call build2.bat
|
||||
|
||||
echo.
|
||||
echo Processing is done.
|
||||
@ -104,11 +133,49 @@ goto end
|
||||
|
||||
:-----------------------------------------------------------------------
|
||||
|
||||
:setLoadSeg
|
||||
shift
|
||||
if "%1" == "" echo you MUST specify load segment eg 0x60 with /L option
|
||||
if "%1" == "" goto abort
|
||||
set LOADSEG=%1
|
||||
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" == "" echo or /D WIN31SUPPORT : enable Win 3.x hooks
|
||||
if "%1" == "" goto abort
|
||||
if "%2" == "/V" goto :setDefineWithValue
|
||||
set ALLCFLAGS=%ALLCFLAGS% -D%1
|
||||
set NASMFLAGS=%NASMFLAGS% -D%1
|
||||
goto nextOption
|
||||
|
||||
:setDefineWithValue
|
||||
set ALLCFLAGS=%ALLCFLAGS% -D%1=%3
|
||||
set NASMFLAGS=%NASMFLAGS% -D%1=%3
|
||||
shift
|
||||
shift
|
||||
goto nextOption
|
||||
|
||||
:noenv
|
||||
echo Unable to set necessary environment variables!
|
||||
goto abort
|
||||
|
||||
:abort-cd
|
||||
cd ..
|
||||
|
||||
:abort
|
||||
echo Compilation was aborted!
|
||||
set XERROR=1
|
||||
|
||||
:end
|
||||
default.bat clearset
|
||||
call default.bat clearset
|
||||
|
Loading…
x
Reference in New Issue
Block a user