#! /bin/sh
# ======================================================================
#  $Id: makebinmakedependencies,v 1.2 2003/07/30 16:12:50 goiwai Exp $
#  $Name: CLDAQ-1-08-02 $
#
#  $Log: makebinmakedependencies,v $
#  Revision 1.2  2003/07/30 16:12:50  goiwai
#  ե˥ߥåȥĤ뤳Ȥˤޤ.
#
# ======================================================================
tmpdir="$1"
shift
gmk="bindep.gmk"
gmk="$tmpdir/$gmk"
echo="echo -e"
if [ ! -d $tmpdir ]; then
  mkdir -p $tmpdir;
fi
if [ -e $gmk ]; then
  rm -f $gmk
fi
touch $gmk

for exe in $*; do
    $echo "# begin of dependencies for $exe" >> $gmk
    $echo "\$(CLDAQ_BIN_DIR)/$exe: \$(CLDAQ_TARGET_TMP_DIR)/$exe/exe/obj.last" >> $gmk
    $echo "\t@if [ ! -d \$(CLDAQ_BIN_DIR) ]; then mkdir -p \$(CLDAQ_BIN_DIR); fi" >> $gmk
    $echo "\t@\$(ECHO) Linking $exe using granular libraries ..." >> $gmk
    $echo "\t@\$(CXX) \$(CXXFLAGS) \$(CPPFLAGS) \$(OUT_EXE)\$(CLDAQ_BIN_DIR)/$exe \$(CLDAQ_TARGET_TMP_DIR)/$exe/exe/$exe.o \$(LDFLAGS) \$(LDLIBS)" >> $gmk
    $echo >> $gmk


    $echo "ifeq (\$(CLDAQ_ONLY_EXE),0)" >> $gmk
    $echo "\$(CLDAQ_TARGET_TMP_DIR)/$exe/exe/obj.last: lib \$(CLDAQ_TARGET_TMP_DIR)/$exe/exe/$exe.o" >> $gmk
    $echo "else" >> $gmk
    $echo "\$(CLDAQ_TARGET_TMP_DIR)/$exe/exe/obj.last: \$(CLDAQ_TARGET_TMP_DIR)/$exe/exe/$exe.o" >> $gmk
    $echo "endif" >> $gmk
    $echo "\t@touch \$@" >> $gmk
    $echo >> $gmk


    $echo "\$(CLDAQ_TARGET_TMP_DIR)/$exe/exe/$exe.o: $exe.cc" >> $gmk
    $echo "\t@\$(ECHO) Compiling $exe.cc ..." >> $gmk
    $echo "\t@\$(CXX) \$(CXXFLAGS) \$(CPPFLAGS) \$(APPFLAGS) -c \$(OUT_OBJ)\$(CLDAQ_TARGET_TMP_DIR)/$exe/exe/$exe.o $exe.cc" >> $gmk
    $echo >> $gmk


    $echo "\$(CLDAQ_TARGET_TMP_DIR)/$exe/exe/$exe.d: $exe.cc" >> $gmk
    $echo "\t@if [ ! -d \$(CLDAQ_TARGET_TMP_DIR)/$exe/exe ]; then mkdir -p \$(CLDAQ_TARGET_TMP_DIR)/$exe/exe; fi" >> $gmk
    $echo "\t@echo Making dependency for file \$< ..." >> $gmk
    $echo -en "\t@(\$(ECHO) \$(CLDAQ_TARGET_TMP_DIR)/exe/" >> $gmk
    $echo -en "\\" >> $gmk
    $echo -en "\\" >> $gmk
    $echo "c; \$(CXX) \$(GPPFLAGS) \$(CPPFLAGS) \$< ) | sed 's!\$(CLDAQ_TARGET_TMP_DIR)/exe/\$*.o!& \$@!' > \$@" >> $gmk

    $echo "# end of dependencies for $exe" >> $gmk
    $echo >> $gmk
    $echo >> $gmk
done

exit 0
