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");
13 @NAMELIST = (@NAMELIST,"alice");
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");
25 # create source dir structure
26 for( $i = 0 ; $i < $#DIRLIST+1 ; $i++ ) {
28 $DIRPATH = $ENV{'AG4_INSTALL'} . "/../" . $DIR;
30 if (! grep(/source/, `ls`)) {
32 foreach $CAT (@CATLIST) {
33 $CATDIRPATH = "source" . "/" . $CAT;
34 $INCLUDEPATH = $CATDIRPATH . "/" . "include";
35 $SRCPATH = $CATDIRPATH . "/" . "src";
37 `mkdir $INCLUDEPATH` ;
40 print $DIR . "/source directory has been created." . "\n";
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" `;
50 # link source files and history files
51 for ( $i = 0 ; $i < $#DIRLIST+1 ; $i++ ) {
53 $NAME = @NAMELIST[$i];
54 $DIRPATH = $ENV{'AG4_INSTALL'} . "/../" . $DIR;
55 $RELDIRPATH = "../../..";
57 # History categories files
58 $HISTORYBASE = $HISTORYPATH . "/" . $NAME . "_History";
59 chdir $DIRPATH . "/source";
60 `ln -s $HISTORYBASE "History" `;
62 foreach $CAT (@CATLIST) {
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 {} \\;`;
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";
77 # History subcategories files
79 `ln -s $HISTORYBASE "History" `;
82 chdir $DIRPATH . "/" . $INCLUDEPATH;
83 `ln -s $CVSBASE "CVS" `;
85 foreach $FILEPATH (@FILELIST_H) {
86 @TEMP = split('/',$FILEPATH);
87 $FILE = @TEMP[@TEMP - 1];
89 print " Linking file " . $FILE . "\n";
90 $FILEBASE = $RELDIRPATH . "/" . $FILE;
91 `ln -s $FILEBASE $FILE`;
95 foreach $FILEPATH (@FILELIST_ICC) {
96 @TEMP = split('/',$FILEPATH);
97 $FILE = @TEMP[@TEMP - 1];
99 print " Linking file " . $FILE . "\n";
100 $FILEBASE = $RELDIRPATH . "/" . $FILE;
101 `ln -s $FILEBASE $FILE`;
105 chdir $DIRPATH . "/" . $SRCPATH;
106 `ln -s $CVSBASE "CVS" `;
107 foreach $FILEPATH (@FILELIST_CXX) {
108 @TEMP = split('/',$FILEPATH);
109 $FILE = @TEMP[@TEMP - 1];
111 print " Linking file " . $FILE . "\n";
112 $FILEBASE = $RELDIRPATH . "/" . $FILE;
113 `ln -s $FILEBASE $FILE`;