#!/bin/csh
# $Id: smkmflien,v 1.1 2002-05-03 15:05:31 ansari Exp $

# ################## ArchTOIPipe-With-Sophya #################### 
#Adaptation SOPHYA/Mgr/mkmflien a smkmflien pour ArchTOIPipe
#                             Reza - Mai 2002
# usage : smkmflien [-copy] [dir_dest]
#  -copy : includes are copied (if not they are linked)
#  -clean : after copy/link file are deleted if not existing (empty link)
#  dir_dest : link/copy to dir_dest/
#             default : $ARCHPDEVREP/Include

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

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

if( ! $?dst ) then
  echo "Variable ARCHPDEVREP 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
#########################################################
#RZCOMM--- pushd ../. > /dev/null
set src = `pwd | sed 's?/tmp_mnt??'`
set src = `echo $src | sed 's?/.automount/dapservfic/root??'`
#RZCOMM--- popd       > /dev/null

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


####################################################
####  Les includes du code C++ a mettre dans Include
####################################################
foreach d (Kernel Processors ProcWSophya )
  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

############################################
####  Le cas particulier de sophya_config.h
############################################
if ( -e $src/sophya_config.h ) then
  echo $cpln from $src/sophya_config.h
  $cpln $src/sophya_config.h $dst/config.h
endif

###############################
####  Nettoyage des liens vides
###############################
if( $?clln ) then
  foreach f ( $dst/*.h )
    if( ! -e $f ) then
      echo remove empty link : $f
      rm -f $f
    endif
  end
endif

exit 0
