source: Sophya/trunk/SophyaLib/Mgr/mkmflien@ 4062

Last change on this file since 4062 was 2437, checked in by cmv, 22 years ago

chgt DPC...REP en SOPHYA...REP et EROSCXX en SOPHYACXX cmv 17/09/2003

  • Property svn:executable set to *
File size: 3.3 KB
Line 
1#!/bin/csh
2# $Id: mkmflien,v 1.13 2003-09-17 12:19:26 cmv Exp $
3
4# WARNING : mkmflien has to be runned FROM Mgr/
5# usage : mkmflien [-copy] [dir_dest]
6# -copy : includes are copied (if not they are linked)
7# -clean : after copy/link file are deleted if not existing (empty link)
8# dir_dest : link/copy to dir_dest/
9# default : $SOPHYADEVREP/Include
10
11#######################
12#### Decodage arguments
13#######################
14unset dst
15set cpln = "ln -sf"
16unset clln
17if( $?SOPHYADEVREP ) then
18 set dst = $SOPHYADEVREP/Include
19endif
20
21while( $#argv > 0 )
22 if( "$1" == "-copy" ) then
23 set cpln = "cp"
24 else if( "$1" == "-clean" ) then
25 set clln
26 else
27 set dst = $1
28 endif
29 shift
30end
31
32if( ! $?dst ) then
33 echo "Variable SOPHYADEVREP must be set"
34 echo "OR you must give a directory for linking/copying"
35 exit -1
36endif
37
38#############################################################
39#### repertoire contenant les liens a creer pour les includes
40#############################################################
41if ( ! -d $dst/ ) then
42 echo repertoire $dst inconnu
43 exit -1
44endif
45
46#########################################################
47#### repertoire contenant les repertoires du code+include
48#########################################################
49pushd ../. > /dev/null
50set src = `pwd | sed 's?/tmp_mnt??'`
51set src = `echo $src | sed 's?/.automount/dapservfic/root??'`
52popd > /dev/null
53
54#########################################################
55### Les includes a mettre dans Include pour les Makefiles
56#########################################################
57if( -d $src/Mgr ) then
58 cd $src/Mgr/.
59 echo $cpln from Mgr
60 set FILE = ( Makefile.h Makefile.slb MakefileUser.h )
61 pushd $dst/. > /dev/null
62 rm -f $FILE
63 foreach f ( $FILE )
64 if( -e $src/Mgr/$f ) then
65 $cpln $src/Mgr/$f ./
66 endif
67 end
68 popd > /dev/null
69endif
70
71#############################################
72#### Les includes de Blitz++ lien ds Include
73#############################################
74if( -d $src/Blitz ) then
75 cd $src/Blitz/.
76 foreach d ( blitz blitz/meta blitz/array )
77 if( -d $d ) then
78 echo $cpln from Blitz/$d
79 if( ! -d $dst/$d ) mkdir $dst/$d
80 pushd $d > /dev/null
81 set FILE = ( *.h *.cc )
82 popd > /dev/null
83 pushd $dst/$d/. > /dev/null
84 rm -f $FILE
85 $cpln $src/Blitz/$d/*.h ./
86 $cpln $src/Blitz/$d/*.cc ./
87 popd > /dev/null
88 endif
89 end
90endif
91
92####################################################
93#### Les includes du code C++ a mettre dans Include
94####################################################
95foreach d (`cat ../Mgr/libdirs` `cat ../Mgr/extlibdirs` `cat ../Mgr/PIlibdirs` )
96 if ( -d $src/$d ) then
97 cd $src/$d/.
98 echo $cpln from $d
99 set FILE = ( *.h )
100 pushd $dst/. > /dev/null
101 rm -f $FILE
102 $cpln $src/$d/*.h ./
103 popd > /dev/null
104 endif
105end
106
107######################################
108#### Le cas particulier de machdefs.h
109######################################
110if ( -e $src/BaseTools/machdefs_mkmf.h ) then
111 echo $cpln from BaseTools/machdefs_mkmf.h
112 $cpln $src/BaseTools/machdefs_mkmf.h $dst/machdefs.h
113endif
114
115###############################
116#### Nettoyage des liens vides
117###############################
118if( $?clln ) then
119 foreach f ( $dst/*.h )
120 if( ! -e $f ) then
121 echo remove empty link : $f
122 rm -f $f
123 endif
124 end
125endif
126
127exit 0
Note: See TracBrowser for help on using the repository browser.