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:
Kenneth J Davis 2009-06-22 20:39:34 +00:00
parent 6ffc037046
commit d6552eab77

View File

@ -1,21 +1,30 @@
@echo off @echo off
rem batch file to build everything
rem IF NOTHING COMPILES, CHECK IF YOUR CVS CHECKOUT USES CORRECT DOS LINEBREAKS rem IF NOTHING COMPILES, CHECK IF YOUR CVS CHECKOUT USES CORRECT DOS LINEBREAKS
:- batch file to build everything if NOT "%1" == "/?" goto start
:- $Id$ 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] :start
:- option case is significant !!
:- assume an error until successful build
set XERROR=1
if "%XERROR%" == "" goto noenv
if "%1" == "-r" call clobber.bat if "%1" == "-r" call clobber.bat
if "%1" == "-r" shift 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 echo You must copy CONFIG.B to CONFIG.BAT and edit it to reflect your setup!
if not exist config.bat goto abort if not exist config.bat goto abort
call config.bat call config.bat
:-if "%LAST%" == "" goto noenv
set dos4g=quiet set dos4g=quiet
:----------------------------------------------------------------------- :-----------------------------------------------------------------------
@ -32,11 +41,27 @@ if "%1" == "msc" set COMPILER=MSCL8
if "%1" == "wc" set COMPILER=WATCOM if "%1" == "wc" set COMPILER=WATCOM
if "%1" == "tc" set COMPILER=TC2 if "%1" == "tc" set COMPILER=TC2
if "%1" == "tcpp" set COMPILER=TURBOCPP if "%1" == "tcpp" set COMPILER=TURBOCPP
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" == "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 shift
if not "%1" == "" goto loop_commandline 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 if "%COMPILER%" == "" goto abort
call default.bat call default.bat
:-if "%LAST%" == "" goto noenv
:----------------------------------------------------------------------- :-----------------------------------------------------------------------
:- finally - we are going to compile :- finally - we are going to compile
:----------------------------------------------------------------------- :-----------------------------------------------------------------------
echo USING OPTIONS of C=[%ALLCFLAGS%] ASM=[%NASMFLAGS%]
echo. echo.
echo Process UTILS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ echo Process UTILS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo. echo.
@ -83,6 +111,7 @@ echo.
cd ..\sys cd ..\sys
%MAKE% production %MAKE% production
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 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@ -93,10 +122,10 @@ if errorlevel 1 goto abort-cd
cd .. cd ..
:- if you like, put some finalizing commands (like copy to floppy) set XERROR=
:- into build2.bat
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.
echo Processing is done. 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 :abort-cd
cd .. cd ..
:abort :abort
echo Compilation was aborted! echo Compilation was aborted!
set XERROR=1
:end :end
default.bat clearset call default.bat clearset