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