3 # by I. Hrivnacova, 22.6. 2000
5 # This script creates source directory structured
6 # according subcategories with links to the flat
9 # main categories (packages)
11 @DIRLIST = (@DIRLIST,"AliGeant4");
15 @CATLIST = (@CATLIST,"geometry");
16 @CATLIST = (@CATLIST,"physics");
17 @CATLIST = (@CATLIST,"event");
18 @CATLIST = (@CATLIST,"run");
19 @CATLIST = (@CATLIST,"visualization");
21 # create source dir structure
22 for( $i = 0 ; $i < $#DIRLIST+1 ; $i++ ) {
24 $NAME = @NAMELIST[$i];
25 $DIRPATH = $ENV{'AG4_INSTALL'} . "/../" . $DIR;
27 if (! grep(/source/, `ls`)) {
29 foreach $CAT (@CATLIST) {
30 $CATDIRPATH = "source" . "/" . $CAT;
31 $INCLUDEPATH = $CATDIRPATH . "/" . "include";
32 $SRCPATH = $CATDIRPATH . "/" . "src";
34 `mkdir $INCLUDEPATH` ;
37 print $DIR . "/source directory has been created." . "\n";
42 for( $i = 0 ; $i < $#DIRLIST+1 ; $i++ ) {
44 $NAME = @NAMELIST[$i];
45 $DIRPATH = $ENV{'AG4_INSTALL'} . "/../" . $DIR;
46 $RELDIRPATH = "../../..";
48 foreach $CAT (@CATLIST) {
51 $CATSTRING = "\"Category: " . $CAT . "\"";
52 @FILELIST_H = `find . -name \"*.h\" -exec grep -l $CATSTRING {} \\;`;
53 @FILELIST_ICC = `find . -name \"*.icc\" -exec grep -l $CATSTRING {} \\;`;
54 @FILELIST_CXX = `find . -name \"*.cxx\" -exec grep -l $CATSTRING {} \\;`;
56 print "Processing category: " . $CAT . "\n";
57 $CATDIRPATH = "source" . "/" . $CAT;
58 $INCLUDEPATH = $CATDIRPATH . "/" . "include";
59 $SRCPATH = $CATDIRPATH . "/" . "src";
60 $CVSBASE = $DIRPATH . "/CVS";
62 chdir $DIRPATH . "/" . $INCLUDEPATH;
63 `ln -s $CVSBASE "CVS" `;
64 foreach $FILEPATH (@FILELIST_H) {
65 @TEMP = split('/',$FILEPATH);
66 $FILE = @TEMP[@TEMP - 1];
68 print " Linking file " . $FILE . "\n";
69 $FILEBASE = $RELDIRPATH . "/" . $FILE;
70 `ln -s $FILEBASE $FILE`;
73 foreach $FILEPATH (@FILELIST_ICC) {
74 @TEMP = split('/',$FILEPATH);
75 $FILE = @TEMP[@TEMP - 1];
77 print " Linking file " . $FILE . "\n";
78 $FILEBASE = $RELDIRPATH . "/" . $FILE;
79 `ln -s $FILEBASE $FILE`;
82 chdir $DIRPATH . "/" . $SRCPATH;
83 `ln -s $CVSBASE "CVS" `;
84 foreach $FILEPATH (@FILELIST_CXX) {
85 @TEMP = split('/',$FILEPATH);
86 $FILE = @TEMP[@TEMP - 1];
88 print " Linking file " . $FILE . "\n";
89 $FILEBASE = $RELDIRPATH . "/" . $FILE;
90 `ln -s $FILEBASE $FILE`;