#!/bin/csh
# $Id: mkmflien,v 1.8 2000-04-21 16:32:48 ansari Exp $

# WARNING : mkmflien has to be runned FROM Mgr/
# usage : mkmflien [-c] [dir_dest]
#  -copy : includes are copied (if not they are linked)
#  dir_dest : link/copy to dir_dest/
#             default : $DPCDEVREP/Include

#######################
#### Decodage arguments
#######################
unset dst
set cpln = "ln -sf"
if( $?DPCDEVREP ) then
  set dst = $DPCDEVREP/Include
endif

while( $#argv > 0 )
  if( "$1" == "-copy" ) then
    set cpln = "cp"
  else
    set dst = $1
  endif
  shift
end

if( ! $?dst ) then
  echo "Variable DPCDEVREP must be set"
  echo "OR you must give a directory for linking/copying"
  exit -1
endif

#############################################################
#### repertoire contenant les liens a creer pour les includes
#############################################################
if ( ! -d $dst/ ) then
  echo repertoire $dst inconnu
  exit -1
endif

#########################################################
#### repertoire contenant les repertoires du code+include
#########################################################
pushd ../. > /dev/null
set src = `pwd | sed 's?/tmp_mnt??'`
set src = `echo $src | sed 's?/.automount/dapservfic/root??'`
popd       > /dev/null

#########################################################
### Les includes a mettre dans Include pour les Makefiles
#########################################################
if( -d $src/Mgr ) then
  cd $src/Mgr/.
  echo $cpln from Mgr
  set FILE = ( Makefile.h Makefile.slb MakefileUser.h )
  pushd $dst/. > /dev/null
  rm -f $FILE
  foreach f ( $FILE )
    if( -e $src/Mgr/$f ) then
      $cpln $src/Mgr/$f ./
    endif
  end
  popd       > /dev/null
endif

#############################################
####  Les includes de Blitz++ lien ds Include
#############################################
if( -d $src/Blitz ) then
  cd $src/Blitz/.
  foreach d ( blitz blitz/meta blitz/array )
    if( -d $d ) then
      echo $cpln from Blitz/$d
      if( ! -d $dst/$d ) mkdir $dst/$d
      pushd $d > /dev/null
      set FILE = ( *.h *.cc )
      popd     > /dev/null
      pushd $dst/$d/. > /dev/null
      rm -f $FILE
      $cpln $src/Blitz/$d/*.h ./
      $cpln $src/Blitz/$d/*.cc ./
      popd       > /dev/null
    endif
  end
endif

####################################################
####  Les includes du code C++ a mettre dans Include
####################################################
foreach d (`cat ../Mgr/libdirs` `cat ../Mgr/extlibdirs` PI PIext  )
  if ( -d $src/$d ) then
    cd $src/$d/.
    echo $cpln from $d
    set FILE = ( *.h )
    pushd $dst/. > /dev/null
    rm -f $FILE
    $cpln $src/$d/*.h ./
    popd       > /dev/null
  endif
end

exit 0
