]>
Commit | Line | Data |
---|---|---|
0f507a31 | 1 | #!/usr/local/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"); | |
599216c1 | 12 | @NAMELIST = "g4mc"; |
13 | @NAMELIST = (@NAMELIST,"alice"); | |
0f507a31 | 14 | |
15 | # subcategories | |
16 | @CATLIST = "global"; | |
17 | @CATLIST = (@CATLIST,"geometry"); | |
6609420b | 18 | @CATLIST = (@CATLIST,"digits+hits"); |
0f507a31 | 19 | @CATLIST = (@CATLIST,"physics"); |
20 | @CATLIST = (@CATLIST,"event"); | |
21 | @CATLIST = (@CATLIST,"run"); | |
22 | @CATLIST = (@CATLIST,"visualization"); | |
da0a9be5 | 23 | @CATLIST = (@CATLIST,"interfaces"); |
0f507a31 | 24 | |
25 | # create source dir structure | |
26 | for( $i = 0 ; $i < $#DIRLIST+1 ; $i++ ) { | |
27 | $DIR = @DIRLIST[$i]; | |
0f507a31 | 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 | ||
599216c1 | 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++ ) { | |
0f507a31 | 52 | $DIR = @DIRLIST[$i]; |
53 | $NAME = @NAMELIST[$i]; | |
54 | $DIRPATH = $ENV{'AG4_INSTALL'} . "/../" . $DIR; | |
55 | $RELDIRPATH = "../../.."; | |
56 | ||
599216c1 | 57 | # History categories files |
58 | $HISTORYBASE = $HISTORYPATH . "/" . $NAME . "_History"; | |
59 | chdir $DIRPATH . "/source"; | |
60 | `ln -s $HISTORYBASE "History" `; | |
61 | ||
0f507a31 | 62 | foreach $CAT (@CATLIST) { |
63 | chdir $DIRPATH; | |
64 | ||
65 | $CATSTRING = "\"Category: " . $CAT . "\""; | |
c429ee7b | 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 {} \\;`; | |
0f507a31 | 69 | |
70 | print "Processing category: " . $CAT . "\n"; | |
71 | $CATDIRPATH = "source" . "/" . $CAT; | |
72 | $INCLUDEPATH = $CATDIRPATH . "/" . "include"; | |
73 | $SRCPATH = $CATDIRPATH . "/" . "src"; | |
74 | $CVSBASE = $DIRPATH . "/CVS"; | |
599216c1 | 75 | $HISTORYBASE = $HISTORYPATH . "/" . $NAME . "_" . $CAT . "_History"; |
76 | ||
77 | # History subcategories files | |
78 | chdir $CATDIRPATH; | |
79 | `ln -s $HISTORYBASE "History" `; | |
0f507a31 | 80 | |
599216c1 | 81 | # .h files |
0f507a31 | 82 | chdir $DIRPATH . "/" . $INCLUDEPATH; |
83 | `ln -s $CVSBASE "CVS" `; | |
599216c1 | 84 | |
0f507a31 | 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 | ||
599216c1 | 94 | # .icc files |
0f507a31 | 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 | ||
599216c1 | 104 | # .cxx files |
0f507a31 | 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; | |
c429ee7b | 111 | print " Linking file " . $FILE . "\n"; |
0f507a31 | 112 | $FILEBASE = $RELDIRPATH . "/" . $FILE; |
113 | `ln -s $FILEBASE $FILE`; | |
114 | } | |
115 | } | |
599216c1 | 116 | } |
117 |