#!/bin/bash

MY_DIR=`pwd`
TMP_FILE1="/tmp/my_tmp_1"
TMP_FILE2="/tmp/my_tmp_2"
FILE_NAME="xpms.h"

echo -e "/*==== xpms.h generatd by mk_include===*/\n" > "$FILE_NAME"

ls -l | grep '^d' | awk '{ print $9 }' > "$TMP_FILE1"



DIR_NR=`wc -l "$TMP_FILE1" | awk '{print $1}'`
COUNT_NR=1;



while [ "$COUNT_NR" -le "$DIR_NR" ]; do
  DIR_NAME=`awk -v count=$COUNT_NR  'BEGIN { RS = "\n" }
                                     NR == count { print }' $TMP_FILE1`
  ls -1 "$DIR_NAME"/*.xpm | awk '{ print "#include \"" $1 "\"" }' \
    >> "$FILE_NAME"
  COUNT_NR=$[COUNT_NR+1]
done



echo -e "\n\n#define XPMS_NR 20" >> "$FILE_NAME"
echo -e "#define XPMS_SET " "$DIR_NR" "\n" >> "$FILE_NAME"
echo "static char **xpms[XPMS_SET][ XPMS_NR ] = {"  >> "$FILE_NAME"


COUNT_NR=1;
while [ "$COUNT_NR" -le "$DIR_NR" ]; do
  DIR_NAME=`awk -v count=$COUNT_NR  'BEGIN { RS = "\n" }
                                     NR == count { print }' $TMP_FILE1`

  echo "  {" >> "$FILE_NAME"

  ls -1 "$DIR_NAME"/*.xpm | awk -F"/" '{ print $2 }' |\
    awk -F"." '{ print "    " $1 "_xpm" }' > "$TMP_FILE2"
  TMP_NR=`wc -l "$TMP_FILE2" | awk '{print $1}'`
  TMP_COUNT_NR=1
  while [ "$TMP_COUNT_NR" -le "$TMP_NR" ]; do
    FILE_LINE=`awk -v count=$TMP_COUNT_NR  'BEGIN { RS = "\n" }
                                     NR == count { print }' $TMP_FILE2`
    if [ "$TMP_COUNT_NR" -lt "$TMP_NR" ]
    then
      echo "$FILE_LINE" "," >> "$FILE_NAME"
    else
      echo "$FILE_LINE" >> "$FILE_NAME"
    fi
    TMP_COUNT_NR=$[TMP_COUNT_NR+1]
  done;

  if [ "$COUNT_NR" -lt "$DIR_NR" ]
  then
    echo "  }," >> "$FILE_NAME"
  else
    echo "  }" >> "$FILE_NAME"
  fi

  COUNT_NR=$[COUNT_NR+1]
done

echo "};"  >> "$FILE_NAME"

rm -f "$TMP_FILE1"
rm -f "$TMP_FILE2"

