]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/wa98/scripts/mklibs.bat
New classes to facilitate features extraction (M.Ivanov)
[u/mrichter/AliRoot.git] / RALICE / wa98 / scripts / mklibs.bat
1 @echo off
2 rem ****************************************************************************
3 rem *   Script to create an MSVC++ LIB and relocatable DLL from *.cxx files
4 rem *
5 rem * Usage :
6 rem * -------
7 rem * mklibs export : ROOT loadable DLL and export LIB are created
8 rem * mklibs full   : ROOT loadable DLL and full LIB version are created
9 rem * 
10 rem * Notes :
11 rem * -------
12 rem * 1) "mklibs export" is the default, enabling ROOT loadable library creation
13 rem *    via 'double clicking'.
14 rem *
15 rem * 2) Providing unsupported options results in displaying the help info.  
16 rem *
17 rem * This script creates rwa98.lib and rwa98.dll from all .h and .cxx files
18 rem * in the current directory.
19 rem *
20 rem * In view of the ROOTCINT processing, the following two standard files
21 rem * are always required :
22 rem *
23 rem * RWA98Headers.h : containing an include of all .h files
24 rem * RWA98LinkDef.h : containing the #pragma's to define all classes
25 rem *
26 rem * --- NvE 04-apr-2000 UU-SAP Utrecht
27 rem ****************************************************************************
28
29 echo .
30 echo === Automatic ROOT library production of files rwa98.lib and rwa98.dll ===
31 echo .
32
33 set alice=c:\nick\cxx\source\alice\AliRoot\RALICE
34
35 rem --- The option strings for MSVC++ DLL compilation and linking ---
36 set mscomp=/nologo /c /TP /Ze /MD /GR /GX /I%ROOTSYS%\include /I%alice%
37 set msdll=/nologo /TP /Ze /MD /LD /GD /GR /GX /I%ROOTSYS%\include /I%alice%
38 set mslink=/ENTRY:_DllMainCRTStartup@12 %ROOTSYS%\lib\*.lib %MYLIBS%\*.lib
39
40 if "%1" == "" goto export
41 if "%1" == "export" goto export
42 if "%1" == "full" goto full
43
44 rem --- Displaying of the help info ---
45 echo ****************************************************************************
46 echo *   Script to create an MSVC++ LIB and relocatable DLL from *.cxx files
47 echo *
48 echo * Usage :
49 echo * -------
50 echo * mklibs export : ROOT loadable DLL and export LIB are created
51 echo * mklibs full   : ROOT loadable DLL and full LIB version are created
52 echo * 
53 echo * Notes :
54 echo * -------
55 echo * 1) "mklibs export" is the default, enabling ROOT loadable library creation
56 echo *    via 'double clicking'.
57 echo * 2) Providing unsupported options results in displaying the help info.  
58 echo *
59 echo * This script creates rwa98.lib and rwa98.dll from all .h and .cxx files
60 echo * in the current directory.
61 echo *
62 echo * In view of the ROOTCINT processing, the following two standard files
63 echo * are always required :
64 echo *
65 echo * RWA98Headers.h : containing an include of all .h files
66 echo * RWA98LinkDef.h : containing the #pragma's to define all classes
67 echo ****************************************************************************
68 goto end
69
70 :export
71 echo *** Creation of ROOT loadable export libraries
72 echo.
73 rem --- Creation of ROOT dictionary ---
74 rootcint zzzrwa98dict.cxx -c -Ic:/nick/cxx/source/alice/AliRoot/RALICE RWA98Headers.h RWA98LinkDef.h
75 rem --- Compilation step ---
76 cl %mscomp% *.cxx
77 rem --- Creation of the export LIB ---
78 bindexplib rwa98 *.obj > rwa98.def
79 lib /nologo /machine:IX86 *.obj /def:rwa98.def /out:rwa98.lib
80 rem --- Creation of the DLL ---
81 link /nologo /machine:IX86 /DLL *.obj rwa98.exp %mslink% /OUT:rwa98.dll
82 del rwa98.def
83 del rwa98.exp
84 goto root_clean
85
86 :full
87 echo *** Creation of ROOT loadable full version libraries
88 echo.
89 rem --- Creation of ROOT dictionary ---
90 rootcint zzzrwa98dict.cxx -c -Ic:/nick/cxx/source/alice/AliRoot/RALICE RWA98Headers.h RWA98LinkDef.h
91 rem --- Creation of the DLL ---
92 cl %msdll% *.cxx /link %mslink% /OUT:rwa98.dll
93 rem --- Creation of the full version LIB ---
94 lib /nologo /machine:IX86 *.obj /out:rwa98.lib
95 goto root_clean
96
97 :root_clean
98 rem --- Delete all intermediate files --- 
99 del .def
100 del zzzrwa98dict.h
101 del zzzrwa98dict.cxx
102 del *.obj
103 echo.
104 echo *** mklibs done.
105 goto end
106
107 :end
108 rem --- End of script ---