#! /bin/sh
#  Name : fxmkapp 
#
#  Purpose: Create application development structure
#
#  Requirements: 
#
#     Before runnning this utility set the following environment vars:
#         FXDIR= ??; export FXDIR
#         FXAPDIR=??; export FXAPDIR
# 

# if [ `expr "$#"` -lt 2 ] 
if [ $# -lt 2 ] 
then
   echo "ERROR from fxmkapp: 2 arguments required"
   echo "       Arg1 = INFOFLEX Base Directory"
   echo "       Arg2 = APPLICATION Base Directory"
   exit 1
fi

if test ! -d $1; then
    echo "Invalid INFOFLEX Base directory"
    exit 1 
    fi 


FXDIR=$1
FXAPDIR=$2
APBASE=`basename $FXAPDIR` 

FXBIN=$FXAPDIR/bin; export FXBIN
FXDATA=$FXAPDIR/$APBASE.dbs; export FXDATA
FXHELP=$FXAPDIR/help; export FXHELP
PATH=$PATH:$FXDIR/bin:$FXBIN:; export PATH

# Create application directories
mkdir $FXAPDIR
cd $FXAPDIR
mkdir $FXBIN
mkdir $FXHELP

# Create Data Base structure
cp $FXDIR/src/misc/*.flx $FXBIN
cp $FXDIR/src/misc/*.sql $FXBIN
echo "create database $APBASE;" > database.sql
fxsql database
cd $FXBIN

# test if menu should be installed
MENUFILE=$FXDIR/src/misc/menu.sql

# Generate script file for starting up application menu 
echo "# INFOFLEX start-up script generated by fxmkapp utility" > $FXBIN/x$APBASE
echo "# "  >> $FXBIN/x$APBASE
echo "FXDIR=$FXDIR; export FXDIR" >> $FXBIN/x$APBASE
echo "FXAPDIR=$FXAPDIR; export FXAPDIR" >> $FXBIN/x$APBASE
echo ". \$FXDIR/unx/fxsetenv" >> $FXBIN/x$APBASE
if test -r  $MENUFILE; then
    echo "cd $FXAPDIR/bin" >> $FXBIN/x$APBASE
    echo "fxflex menu -m 18000 D" >> $FXBIN/x$APBASE
    fi
chmod 777 $FXBIN/x$APBASE

# Generate script file for starting up development menu 
echo "# INFOFLEX start-up script generated by fxmkapp utility" > $FXBIN/$APBASE
echo "# "  >> $FXBIN/$APBASE
echo "PATH=$PATH:$FXDIR/bin; export PATH" >> $FXBIN/$APBASE
echo "FXDIR=$FXDIR; export FXDIR" >> $FXBIN/$APBASE
echo "FXBIN=$FXAPDIR/bin; export FXBIN" >> $FXBIN/$APBASE
echo "FXDATA=$FXAPDIR/$APBASE.dbs; export FXDATA" >> $FXBIN/$APBASE
echo "FXHELP=$FXAPDIR/help; export FXHELP" >> $FXBIN/$APBASE
if test -r  $MENUFILE; then
    echo "cd $FXAPDIR/bin" >> $FXBIN/$APBASE
    echo "fxflex menu -m 18000 M" >> $FXBIN/$APBASE
    fi
chmod 777 $FXBIN/$APBASE

if test ! -r  $MENUFILE; then
    echo "Menu System will not be installed"
    exit 1 
    fi 

# Set-Up menu development
fxsql menu
fxsql sysfile
fxpp menu
fxpp sysfile
cp $FXDIR/demo/bin/cwmenu* .

