bios.bat

来自「惠普公司bios完整源代码大机密!」· Batch 代码 · 共 185 行

BAT
185
字号
@echo off
::----------------------------------------------------------------------------
::Rev   Date      Name  Description
::----------------------------------------------------------------------------
::R06	10/19/99  RAY	Problem:
::
::			  Under certain situations, system hang up during
::			  the compilation of chipset dependent files due to
::			  big file size & complicated file structure.
::
::			Solution:
::
::			  It is hard to force all chipset dependent files
::			  to use the new ML 6.x to compile. Give option
::			  to each BIOS to select the compiler for themselves.
::
::			Implementation:
::  
::			  BIOS.BAT issues a call to a chipset dependent batch
::			  file (CHIP_MAK.BAT) file which create signature
::			  files for the .MAK file to choose between MASM 5.x
::			  or ML 6.x in the following manner:
::
::			  CHIP_MAK.BAT
::			  ------------
::
::			  echo 1>aflash.ml
::
::			  BIOS.MAK
::			  --------
::
::			  !IF EXIST (AFLASH.ASM)
::			  aflash.obj: aflash.asm bios.cfg
::			  !IF EXIST (AFLASH.ML)
::			    ml /Zm /c aflash.asm
::			  !ENDIF
::			  !ENDIF
::
::			This CHIP_MAK.BAT should be saved in
::			H:\BIOS\600\CHIPSET\6AXXX
::
::R04A	10/14/99  RAY	For the change of R04, if the system date is wrong
::			,e.g. 1980, the "nmake asx.mak" will go into a infinitte
::			loop. 
::			Thus we check for a temporary file created by ASX.MAK
::			to determine whether to invoke "GETASL R" or not.
::
::R05	10/12/99  RAY	The existance of CKCMOS.MAP is a condition to decide
::			whether to invoke "CKCMOS /F" in order to save more
::			build time.
::
::R04	10/12/99  RAY	Invoke 2 new *.MAK files: ASX.MAK & DSDT.MAK
::
::	 		ASX.MAK - to generate *.ASL from *.ASX
::	 		DSDT.MAK - to generate *.AML from *.ASL
::
::			This is added to prevent every time we invoke BIOS.BAT
::			we have to wait "GETASL R" to go through all *.ASX 
::			files.
::
::R02	06/28/99  DRS	Added OEM.MAK file for special compiler request
::			You can keep your special OEM.MAK in your own 
::			directory of chipset part number (Ref 6A69M\M3\M3F)
::R01	06/24/98  KVN	Added a switch to avoid system hang while make BIOS
::                      like full screen logo.

if "%1"=="" goto :noinput

:yesinput
if "%1"=="%_last%" goto :mklast
set _last=%1
goto :mknew

:noinput
if "%_last%"=="" goto :error
goto :mklast

:mknew
echo.
echo About to build the entire BIOS...
echo.
touch bios.cfg
goto :mkbios

:mklast
echo.
echo Making the same version as last build

:mkbios
echo.
echo Building %_last%.BIN
echo.


::R04A ::R04 getasl R
::R04A ::R04 - starts
::R04A if not exist *.asl GETASL R
::R04A nmake /I /NOLOGO /C ASX.MAK
::R04A nmake /NOLOGO /C DSDT.MAK
::R04A if errorlevel 1 goto :end
::R04A ::R04 - ends

::R04A - starts
::========================
if exist _GETASL del _GETASL

if exist *.asl goto :AslExist
	GETASL R
	goto :Dsdt
:AslExist

::========================
nmake /I /NOLOGO /C ASX.MAK
if exist _GETASL GETASL R
if exist _GETASL del _GETASL

::========================
:Dsdt
nmake /NOLOGO /C DSDT.MAK
if errorlevel 1 goto :end
::R04A - ends

::R02 -start
if exist OEM.MAK nmake "NAME=%_last%" /M /nologo /f OEM.MAK
::R02 -end

::R01 nmake "NAME=%_last%" /nologo /f bios.mak
::R06 nmake "NAME=%_last%" /M /nologo /f bios.mak
::R06 - starts
	if exist chippost.ml del chippost.ml
	if exist aflash.ml del aflash.ml
	if exist pmu.ml del pmu.ml
	if exist pmupost.ml del pmupost.ml
	if exist pnpchip.ml del pnpchip.ml
	   if exist chip_mak.bat call chip_mak.bat
	   nmake "NAME=%_last%" /M /nologo /f bios.mak
	if exist chippost.ml del chippost.ml
	if exist aflash.ml del aflash.ml
	if exist pmu.ml del pmu.ml
	if exist pmupost.ml del pmupost.ml
	if exist pnpchip.ml del pnpchip.ml
::R06 - ends
if errorlevel 1 goto :end
::R03A if exist awardeyt.rom cbrom6 /ygroup awardeyt.rom        ;R03
::R03A - start
if exist awardeyt.rom cbrom /ygroup awardeyt.rom
::R03A - end
echo.

::R01 if exist BuildFnt.mak nmake "NAME=%_last%" /nologo /f BuildFnt.mak
if exist BuildFnt.mak nmake "NAME=%_last%" /M /nologo /f BuildFnt.mak	
if errorlevel 1 goto :end

::R01 if exist AddFont.mak nmake "NAME=%_last%" /nologo /f AddFont.mak
if exist AddFont.mak nmake "NAME=%_last%" /M /nologo /f AddFont.mak	
if errorlevel 1 goto :end

if exist AddRom.bat call AddRom.bat
if exist %_last%.sav autocfg %_last%.sav %_last%.bin
::R05 - starts
if not exist CKCMOS.MAP CKCMOS /F
::R05 - ends
::R05 CKCMOS /F

echo.
goto :end

:error
echo.
echo Error! No previous version to build. Use SETTYPE.BAT
echo        or type full part number
echo.
echo  Example (1):
echo.
echo      settype 6a69k000
echo      bios
echo.
echo  Example (2):
echo.
echo      bios 6a69k000
echo.
goto :end

:end


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?