]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/config/make_source.pl
Merging the VirtualMC branch to the main development branch (HEAD)
[u/mrichter/AliRoot.git] / AliGeant4 / config / make_source.pl
1 #!/usr/bin/perl
2 # $Id$
3 # by I. Hrivnacova, 22.6. 2000
4 #
5 # This script creates source directory structured
6 # according subcategories with links to the flat
7 # source structure.
8   
9 # main categories (packages)
10 @DIRLIST = "AliGeant4";
11 @NAMELIST = "AliGeant4";
12
13 # subcategories
14 @CATLIST = "global";
15 @CATLIST = (@CATLIST,"geometry");
16 @CATLIST = (@CATLIST,"event");
17 @CATLIST = (@CATLIST,"run");
18
19 # create source dir structure
20 for( $i = 0 ; $i < $#DIRLIST+1 ; $i++ ) {
21   $DIR = @DIRLIST[$i];
22   $DIRPATH = $ENV{'AG4_INSTALL'} . "/../" . $DIR;
23   chdir $DIRPATH;
24   if (! grep(/source/, `ls`)) {
25     `mkdir source ` ;
26     foreach $CAT (@CATLIST) {
27        $CATDIRPATH = "source" . "/" . $CAT;
28        $INCLUDEPATH = $CATDIRPATH . "/" . "include";
29        $SRCPATH = $CATDIRPATH . "/" . "src";
30        `mkdir $CATDIRPATH` ;
31        `mkdir $INCLUDEPATH` ;
32        `mkdir $SRCPATH` ;
33     }    
34     print $DIR . "/source directory has been created." . "\n";
35   }
36 }  
37
38 # link main history file   
39 $HISTORYPATH = $ENV{'AG4_INSTALL'} . "/doc/history";
40 $HISTORYBASE = $HISTORYPATH . "/History";
41 chdir $ENV{'AG4_INSTALL'};
42 `ln -s $HISTORYBASE "History" `;
43   
44 # link source files and history files
45 for ( $i = 0 ; $i < $#DIRLIST+1 ; $i++ ) {
46   $DIR = @DIRLIST[$i];
47   $NAME = @NAMELIST[$i];
48   $DIRPATH = $ENV{'AG4_INSTALL'} . "/../" . $DIR;
49   $RELDIRPATH = "../../..";
50
51   # History categories files  
52   $HISTORYBASE = $HISTORYPATH . "/" . $NAME . "_History";
53   chdir $DIRPATH . "/source";
54   `ln -s $HISTORYBASE "History" `;
55
56   foreach $CAT (@CATLIST) {
57     chdir $DIRPATH;
58
59     $CATSTRING = "\"Category: " . $CAT . "\"";
60     @FILELIST_H   = `find . -name \"*.h\" -exec grep -l  $CATSTRING  {} \\;`;
61     @FILELIST_ICC = `find . -name \"*.icc\" -exec grep -l  $CATSTRING  {} \\;`;
62     @FILELIST_CXX = `find . -name \"*.cxx\" -exec grep -l  $CATSTRING  {} \\;`;
63
64     print "Processing category: " . $CAT . "\n"; 
65     $CATDIRPATH = "source" . "/" . $CAT;
66     $INCLUDEPATH = $CATDIRPATH . "/" . "include";
67     $SRCPATH = $CATDIRPATH . "/" . "src";
68     $CVSBASE  = $DIRPATH . "/CVS";
69     $HISTORYBASE = $HISTORYPATH . "/" . $NAME . "_" . $CAT . "_History";
70     
71     # History subcategories files
72     chdir $CATDIRPATH;
73     `ln -s $HISTORYBASE "History" `;
74  
75     # .h files
76     chdir $DIRPATH . "/" . $INCLUDEPATH;
77     `ln -s $CVSBASE "CVS" `;
78     
79     foreach $FILEPATH (@FILELIST_H) { 
80       @TEMP = split('/',$FILEPATH);
81       $FILE = @TEMP[@TEMP - 1];
82       chop $FILE;
83       print "   Linking file " . $FILE . "\n";
84       $FILEBASE = $RELDIRPATH . "/" . $FILE;
85       `ln -s $FILEBASE $FILE`;
86     }
87
88     # .icc files
89     foreach $FILEPATH (@FILELIST_ICC) { 
90       @TEMP = split('/',$FILEPATH);
91       $FILE = @TEMP[@TEMP - 1];
92       chop $FILE;
93       print "   Linking file " . $FILE . "\n";
94       $FILEBASE = $RELDIRPATH . "/" . $FILE;
95       `ln -s $FILEBASE $FILE`;
96     }
97
98     # .cxx files
99     chdir $DIRPATH . "/" . $SRCPATH;
100     `ln -s $CVSBASE "CVS" `;
101     foreach $FILEPATH (@FILELIST_CXX) { 
102       @TEMP = split('/',$FILEPATH);
103       $FILE = @TEMP[@TEMP - 1];
104       chop $FILE;
105       print "   Linking file " . $FILE . "\n";
106       $FILEBASE = $RELDIRPATH . "/" . $FILE;
107       `ln -s $FILEBASE $FILE`;
108     }
109   }
110 }
111