#!/usr/local/bin/bash
# $Id: rmfiles,v 1.247 2001-02-07 01:51:25+09 hayakawa Exp $
#
# 削除するファイルの登録
# 登録は後ろに追加するようにし、
# １ヶ月をめどに消去するつもりだったが、
# めんどくさいので、数が増えすぎるまでやりません。
#
#

#set -x

#
# file.c と file.h の両方を消す場合は file の部分だけをここに登録してください 
#
RMFILES_CH="
ac_statue
ac_cdStructure
ac_fgStructure
ac_train_control
m_title
m_shrink_window
m_field_bgm
CIC6105
m_vimode
"
#
# 上記以外のファイルはここに登録
#
RMFILES="
ac_statue_move.c_inc
ac_statue_draw.c_inc
ac_cdStructure_move.c_inc
ac_cdStructure_draw.c_inc
ac_cdStructure_clip.c_inc
ac_fgStructure_move.c_inc
ac_fgStructure_draw.c_inc
ac_train_control_move.c_inc
ac_train_control_clip.c_inc
ac_weather_otiba.c
ac_shop_goods_data.c
m_title_logo.c
ac_my_room_manekin_data.c
ac_my_room_haniwa_data.c_inc
ac_my_room_manekin_data.c_inc
ac_my_room_haniwa.c_inc
m_player_main_banish.c_inc
m_player_main_put.c_inc
m_player_main_recieve_change.c_inc
m_player_main_demo_run.c_inc
m_player_main_demo_dash.c_inc
m_player_main_demo_turn_dash.c_inc
m_fbdemo_data.c_inc
ac_npc_p_sel2_talk_show.c
"

echo "使用しなくなったソースを削除します…"

backup_depend() {
  if [ -f $1 ]
  then
    echo $1 を /tmp/rmfiles_$1.$$ にバックアップします
    cp $1 /tmp/rmfiles_$1.$$
  fi
}

delete_depend() {
  if [ -f $2 ]
  then
    echo "$1 を $2 から抹消します (s! $1 ! !)"
    sed -e "s! $1 ! !" $2 > /tmp/rmfiles.$$
    cp /tmp/rmfiles.$$ $2
    rm -f /tmp/rmfiles.$$
  fi
}

delete_depend2() {
  if [ -f $2 ]
  then
    echo "$1 を $2 から抹消します (s! \.\./$1 ! !)"
    sed -e "s! \.\./$1 ! !" $2 > /tmp/rmfiles.$$
    cp /tmp/rmfiles.$$ $2
    rm -f /tmp/rmfiles.$$
  fi
}

#リネームによる削除
delete_mv() {
    if [ -f $1 ]
    then
	echo "$1 を 削除します"
	mv $1 $1~deleted~
    fi
}

find_delete() {
    find . -name "$1" -print -exec rm -f {} \;
}

delete_source() {
    if [ -f $1 ]
    then
	src=$1
	rcs=RCS/$1,v
	obj=${src%.c}.o
	rel=${src%.c}.rel
	delete_depend $1 Makedepend
	delete_depend2 $1 rom_d/Makedepend
	delete_depend2 $1 rom_x/Makedepend
	delete_depend2 $1 rom_f/Makedepend
	delete_depend2 $1 rom_s/Makedepend
	delete_depend2 $1 rom_c/Makedepend
	delete_mv $src
	delete_mv $rcs
	find_delete $obj
	find_delete $rel
    fi
}

for file in $RMFILES_CH
do
    delete_source $file.c
    delete_source $file.h
done

for file in $RMFILES
do
    delete_source $file
done


echo '本当に削除するには、\\rm -f *~deleted~ を実行してください。'
echo ""

#echo "ここで、rmfilesの説明をします"
#echo "ＲＣＳ管理していたファイルが不要になった場合"
#echo "管理ファイルだけを消しても不十分です。"
#echo "他の人がそのファイルをチェックアウトしようとして登録されてしまうのです。"
#echo "つまり、コピーされたファイルも含め、完全に消さないとだめなのです。"
#echo "で、どうするかというとrmfilesに消したいファイル名を登録して、"
#echo "rmfilesをチェックインすれば、他の人がcoallしたときに自動的に削除されます。"
#echo "わかった？（はい／うん）"

#echo ""
#echo ""
#echo ""
#echo ""
#echo ""
