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