📄 makejcldcp4bcb.bat
字号:
@echo off
: ---------------------------------------------------------------------
: WARNING WARNING WARNING WARNING WARNING WARNING
:
: Please read the help before using this batch file as there are
: some compulsory parameters
:
: ---------------------------------------------------------------------
SET OLDPATH=%PATH%
if %1!==! goto help
SET VERSION=%1
SET ROOT=%2
SET JCLDIR=%3
SET DCPDIR=%4
if %JCLDIR%!==! set JCLDIR=..\..\Jcl
if %ROOT%!==! set ROOT=C:\program files\CBuilder%VERSION%
: --- Create a batch file that will pop the current directory
: --- Derived from a method written by Frank Sandy in comp.os.msdos.misc
: --- http://groups.google.com.au/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=4l57gi%24pmp%40nhj.nlc.net.au&rnum=1
if %TEMP%!==! set TEMP=.
echo @echo off > %TEMP%\pop.bat
echo @prompt $N: > %TEMP%\dummy.bat
echo. >> %TEMP%\dummy.bat
echo @prompt cd $P >> %TEMP%\dummy.bat
command /c %TEMP%\dummy.bat >> %TEMP%\pop.bat
del %TEMP%\dummy.bat
: get rid of the quotes around ROOT, DCPDIR and JCLDIR
if EXIST ..\devtools\bin\NoQuotes.exe goto NoQuotesExists
cd ..\devtools\NoQuotes
dcc32.exe -e..\bin NoQuotes.dpr
cd ..\..\packages
:NoQuotesExists
..\devtools\bin\NoQuotes ROOT %ROOT%
Call NoQuotesBatch.bat
if not %DCPDIR%!==! ..\devtools\bin\NoQuotes DCPDIR %DCPDIR%
Call NoQuotesBatch.bat
..\devtools\bin\NoQuotes JCLDIR %JCLDIR%
Call NoQuotesBatch.bat
del /f NoQuotesBatch.bat
if %DCPDIR%!==! set DCPDIR=%ROOT%\Projects\Bpl
SET PATH=%PATH%;%ROOT%\Projects\Bpl;%ROOT%\Projects\Lib;%ROOT%\bin
SET MAKE=%ROOT%\bin\make.exe
if NOT EXIST "%MAKE%" SET MAKE=make
: ensure we have bpg2make
cd ..\devtools
if NOT EXIST bin\Bpg2Make.exe %MAKE% Bpg2Make.exe
echo.
cd ..\packages
: ensure we have pg.exe
if EXIST ..\devtools\bin\pg.exe goto PgExists
cd ..\devtools\PackagesGenerator
SET C5PFLAGS=
if %VERSION%==5 SET C5PFLAGS=-LUvcl50
dcc32.exe -e..\bin -I"..\..\Common;%JCLDIR%\source" %C5PFLAGS% -n"..\Dcu" -U"..\..\Run;..\..\Common;%ROOT%\Lib\Obj;%JCLDIR%\source\common;%JCLDIR%\source\windows;%JCLDIR%\source\vcl;%JCLDIR%\source\visclx;..\Dcu" -q -w -h -m pg.dpr
echo.
cd ..\..\packages
:PgExists
: copy the required files into the JCL packages dir
echo Copying template...
copy /Y .\jcldcpdpk%VERSION%.tpl "%JCLDIR%\packages\c%VERSION%\template.dpk"
echo.
: generate the packages from the xml files
..\devtools\bin\pg -m=JCL -p="%JCLDIR%\Packages" -t=c%VERSION% -x=..\devtools\bin\pgEdit.xml
echo.
cd %JCLDIR%\packages\c%VERSION%
echo Compiling the JCL dcp files...
: compile the generated packages
echo on
for %%f in ("C*.dpk") do %ROOT%\bin\dcc32 -I"..\..\source;..\..\source\common" -U"..\..\source\common;..\..\source\windows;..\..\source\vcl;..\..\source\visclx;%ROOT%\Lib\Obj" "%%f"
@echo off
echo.
echo Copying dcp files...
: copy the resulting files where they should go
for %%f in (*.dcp) do xcopy /y %%f "%DCPDIR%\"
IF ERRORLEVEL 1 GOTO error
echo.
echo Cleaning...
del /f /q C*.dcp
del /f /q C*.bpl
del /f /q *.dpk
del /f /q *.dcu
echo.
echo The JCL DCP files were successfuly created for the JVCL
echo.
goto restoredir
:error
echo.
echo !!!!! ERROR WHILE BUILDING THE JCL DCP FOR THE JVCL !!!!
echo Please refer to last output for details
echo.
echo ERROR >..\error.dat
goto restoredir
:restoredir
: -- Restore the original directory
CALL %TEMP%\pop.bat
del %TEMP%\pop.bat
goto end
:help
echo MakeJCLDcp4BCB.bat - Builds the JCL dcp files for BCB
echo.
echo Usage: MakeJCLDcp4BCB Version [BCBDirectory]
echo [JCLDirectory] [DCPDirectory]
echo.
echo Version The version of BCB to build for (5 or 6)
echo BCBDirectory The place where BCB is installed.
echo Defaults to "C:\Program Files\CBuilder%%VERSION%%"
echo JCLDirectory The place where the JCL is installed.
echo Defaults to ..\..\JCL
echo DCPDirectory The place where to put the DCP file.
echo Defaults to $(BCB)\Projects\Bpl
echo.
:end
SET PATH=%OLDPATH%
SET VERSION=
SET JCLDIR=
SET ROOT=
SET DCPDIR=
SET MAKE=
SET _SAVED=
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -