146 lines
4.1 KiB
Batchfile
146 lines
4.1 KiB
Batchfile
@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=
|
|
|