]>
Commit | Line | Data |
---|---|---|
7b3b6b55 | 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 --- |