#! /bin/sh
# =============================================================================
#  $Id$
#  $Name$
# =============================================================================
dep=""
tmpdir=$1
shift
gmk="commondep.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 obj in $*; do

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

done

$echo >> $gmk
$echo ".PHONY: all obj lib clean" >> $gmk
$echo "obj: \$(CCD_CATEGORY_TMP_DIR)/obj.last" >> $gmk
$echo "\$(CCD_CATEGORY_TMP_DIR)/obj.last: \$(objects)" >> $gmk
$echo "\t@touch \$@" >> $gmk
$echo >> $gmk

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

$echo "-include \$(dependencies)" >> $gmk

exit 0
