#!/bin/bash
# mk_prgs_hb.sh

# Harbour/[x]Harbour /xBases Script to Make .prg's files to testing.
# ------------------------------------------------------------------

# Sex Jun  9 10:45:03 BRT 2017
# :r!date
# Last Update ... Fortaleza,Ce (Brasil) DD/MM/YYYY - 09/06/2017.
# Start ......... Fortaleza,Ce (Brasil) DD/MM/YYYY - 25/03/2014.
#

# by Roberto Gomes Borges (RGB) e-mail .: robertolinux (at) gmail.com
##############################################################################
# Tested in ...openSUSE 13.1(x86_64), CentOS 6.5(x86,x86_64) CentOS 7.0(x86_64)
# Debian 7(x86,x86_64), Ubuntu 14.04 SRV/DESKTOP LTS(x86,x86_64), SlackWare 14.1(x86)

# Obs.: Nao consegui instalar o Harbour no GNU/Debian 7 kFreeBSD, ha um erro durante a compilacao, 
# Ainda Falta testar no Windows/DOS/FreeBSD/NetBSD/OpenBSD/Solaris/QNX/AIX/HP-UX/Minix/Tru64/Plan9/SCO.
# rsrsrsrsrs....

###########################
## VARIAVEIS DE AMBIENTE ##
###########################
# Funcao para incluir no path os diretorios basicos
###################################################

pathmunge () {
  if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
     PATH=$1:$PATH
  fi
}
#
pathmunge /bin
pathmunge /sbin
pathmunge /usr/bin
pathmunge /usr/local/bin
#

#
# (OS COMMANDS)
#

CAT=`which cat`
CUT=`which cut`
CP=`which cp`
DT=`which date`
ECHO=`which echo`
EGREP=`which egrep`
GREP=`which grep`
MKDIR=`which mkdir`
MV=`which mv`
PERL=`which perl`
RMDIR=`which rmdir`
RM=`which rm`
SORT=`which sort`
TAR=`which tar`
TOUCH=`which touch`

####################################################################

MAIN="main.prg"
EXE="test"
DISK="c:"

#############

# MAX ...

#K=$((62992)) #  K=$((2048))  # Max .prg's files to create.
#M=$((2)) #  M=$((20))    # Max Static Functions create into .prg's files.

#K=$((31496)) #  K=$((2048))  # Max .prg's files to create.

############################################################################

K=$((8))    #  K=$((8))    # Max .prg's files to create.

M=$((1024))   #  M=$((4096)) # Max Static Functions create into .prg's files.

BLVARLOC_MAIN=$((4096)) # BLOCO DE VARIAVEIS LOCAIS
BLVARPUB_MAIN=$((4096)) # BLOCO DE VARIAVEIS GLOBAIS

BLVARLOC=$((64))  # BLOCO DE VARIAVEIS LOCAIS
BLVARPUB=$((128)) # BLOCO DE VARIAVEIS GLOBAIS

BLVARLOC_F=$((128)) # BLOCO DE VARIAVEIS LOCAIS
BLVARPUB_F=$((64))  # BLOCO DE VARIAVEIS GLOBAIS

STATIC_S_N="S" # FUNCOES STATIC ? (S/N) STATIC FUNCTION ? (Y/N)

#############

DATE=$(date)                   # Today
  OS=$(uname -rpmia)           # Operating System

DTINI=`$DT +%Y-%m-%d-%H:%M:%S` # Date And Time Start

####################################################################

# Install Harbour from GIT source repo.
# Example.
# --------
# cd /usr/src

# git clone https://github.com/harbour/core.git harbour-core

# Or 

# git clone https://github.com/vszakats/harbour-core harbour-core.v

# cd harbour-core.v

# make install
# ldconfig -v

# For Updates ...
# ---------------

# cd /usr/src/harbour-core
# or
# cd /usr/src/harbour-core.v
# git pull

# For use example ...
# -------------------

# cd /opt
# mkdir -p mk/src
# cp mk_prgs_hb.sh /opt/mk
# cd /opt/mk/src
# ../mk_prgs_hb.sh
#
#time hbmk2 main.prg librgblc.prg librgbqq.prg $(ls librgba?.prg) $(ls librgbb?.prg) $(ls fn*.prg) -otest
#ou
#time hbmk2 test.hbp
# strip test
# upx -9v test
# ./test
#

#max=100; 
#
#for ((i=1;i<=$max;i++)); do 
#    printf "%0*d\n" ${#max} $i
#done
#
#exit
#
# Printf
# printf "%0<VALOR>d\n" {INÍCIO..FIM} 
# printf "%05d\n" {1..10} 

#####################################
# SEQ
# seq -f "%0<VALOR>g" INÍCIO FIM 

#for i in `seq -f "%05g" 1 100` ; do
#    echo $i
#done 
#
#exit
#
#
#for i in `seq -w 01 10` ;  do 
#
###############################################################
#
MKFILE="test.hbp"
#
echo "# MakeFile para  Harbour/[x]Harbour"         > $MKFILE
#
echo " "                                          >> $MKFILE
#
echo "# by Roberto Gomes Borges (RGB) 1982-2017"  >> $MKFILE
echo "# e-mail .: robertolinux (at) gmail.com"    >> $MKFILE
echo "# Fortaleza,Ce (BR) - $DATE"                >> $MKFILE
echo "# $OS"                                      >> $MKFILE
echo " "                                          >> $MKFILE
#
#echo "MainModule = main"                          >> $MKFILE
#echo "ExeName    = $EXE"                          >> $MKFILE 

#echo " "                                          >> $MKFILE

#echo "OBJ0       = $DISK\lp\bcc55\lib\c0w32.obj"  >> $MKFILE

#echo " "                                          >> $MKFILE

#echo "LIBS = \ "                                  >> $MKFILE
#echo "$DISK\lp\hb\lib\bcc640.lib      \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\rtl.lib         \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\vm.lib          \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\gtwin.lib       \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\lang.lib        \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\macro.lib       \ "         >> $MKFILE 
#echo "$DISK\lp\hb\lib\rdd.lib         \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\dbfdbt.lib      \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\dbfntx.lib      \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\dbfcdx.lib      \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\debug.lib       \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\common.lib      \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\pp.lib          \ "         >> $MKFILE
#echo "$DISK\lp\hb\lib\uuid.lib        \ "         >> $MKFILE
#echo "$DISK\lp\bcc55\lib\cw32.lib     \ "         >> $MKFILE
#echo "$DISK\lp\bcc55\lib\import32.lib \ "         >> $MKFILE 
#echo "$DISK\lp\bcc55\lib\uuid.lib     \ "         >> $MKFILE
#echo "$DISK\st3\lib\librgbwd.lib"                 >> $MKFILE

#echo " "                                          >> $MKFILE

echo '-otest'                                     >> $MKFILE
echo '-W0'                                        >> $MKFILE
echo '-es2'                                       >> $MKFILE
echo '-inc'                                       >> $MKFILE
#echo '-compr=yes'                                 >> $MKFILE
echo '-quiet'                                     >> $MKFILE
echo '-lxhb'                                      >> $MKFILE
#echo '-lhbwin'                                    >> $MKFILE
echo '-lhbct'                                     >> $MKFILE
#echo '-gui'                                       >> $MKFILE


##StdOpt = -m -n0 -i$DISK\lp\hb\include -i$DISK\lp\bcc55\include

#echo "StdOpt = -ma -n0 -q0 -es2 -gc0 -i$DISK\lp\hb\include -i$DISK\lp\bcc55\include"                           >> $MKFILE

#echo " "                                                                                                       >> $MKFILE

#echo "Flags = -3 -O2 -c -L$DISK\lp\bcc55\lib -L$DISK\lp\hb\lib -I$DISK\lp\bcc55\include -I$DISK\lp\hb\include" >> $MKFILE

#echo " "                                                                                                       >> $MKFILE

#echo ".SUFFIXES: .obj .prg .c" >> $MKFILE

echo " "                       >> $MKFILE

#echo "OBJ1 = \ "               >> $MKFILE
#echo "main.obj \ "             >> $MKFILE
echo "main.prg"                >> $MKFILE

# MAIN.PRG

echo "**********************************************************"                               > $MAIN
echo "*  Vrs. 0.0.0.01 pre-pre-pre-alpha. 25/03/2014           *"                              >> $MAIN 
echo "*  +--------------------------------------------------+  *"                              >> $MAIN
echo "*  |                                                  |  *"                              >> $MAIN
echo "*  | Script to make (.PRG) mk_prgs_hb.sh  ???????.bat |  *"                              >> $MAIN
echo "*  | ------------------------------------------------ |  *"                              >> $MAIN 
echo "*  |                                                  |  *"                              >> $MAIN
echo "*  | Roberto Gomes Borges (RGB) 1982-2017.            |  *"                              >> $MAIN
echo "*  | ------------------------------------------------ |  *"                              >> $MAIN
echo "*  | LINUX/Windows/DOS DosBox/DosEmu/VirtualBox. etc. |  *"                              >> $MAIN
echo "*  +--------------------------------------------------+  *"                              >> $MAIN  
echo "*   e-mail .: robertolinux (at) gmail.com                *"                              >> $MAIN 
echo "**********************************************************"                              >> $MAIN
#
echo " "                                                                                       >> $MAIN
#
echo '#include "fileio.ch"'                                                                    >> $MAIN
echo '#include "inkey.ch"'                                                                     >> $MAIN
#
echo " "                                                                                       >> $MAIN
#
echo "#define F_BLOCK 512"                                                                     >> $MAIN
echo "#define K_ALTC  302"                                                                     >> $MAIN
#
echo " "                                                                                       >> $MAIN
echo "/*"                                                                                      >> $MAIN
echo " "                                                                                       >> $MAIN
echo "by Roberto Gomes Borges (RGB) 1982-2017"                                                 >> $MAIN
echo "Fortaleza,Ce (BR) - $DATE"                                                               >> $MAIN
echo $OS                                                                                       >> $MAIN
echo " "                                                                                       >> $MAIN
echo "*/"                                                                                      >> $MAIN
echo " "                                                                                       >> $MAIN
#
echo "#IfDef CLIPPER"                                                                          >> $MAIN
echo '   #Define COMPILADOR "CLIPPER"'                                                         >> $MAIN
echo "#Else"                                                                                   >> $MAIN
echo "   #IfDef HBWIN"                                                                         >> $MAIN
echo '      #Define COMPILADOR "HBWIN"'                                                        >> $MAIN
echo "   #Else"                                                                                >> $MAIN
echo "      #IfDef HBLIN"                                                                      >> $MAIN
echo '         #Define COMPILADOR "HBLIN"'                                                     >> $MAIN
echo "      #Else"                                                                             >> $MAIN
echo "         #IfDef FSW"                                                                     >> $MAIN
echo '            #Define COMPILADOR "FSWIN"'                                                  >> $MAIN
echo "         #Else"                                                                          >> $MAIN
echo "            #IfDef FSL"                                                                  >> $MAIN
echo '               #Define COMPILADOR "FSLIN"'                                               >> $MAIN
echo "            #EndIf"                                                                      >> $MAIN
echo "         #EndIF"                                                                         >> $MAIN
echo "      #EndIF"                                                                            >> $MAIN
echo "   #EndIf"                                                                               >> $MAIN
echo "#EndIf"                                                                                  >> $MAIN
#
echo " "                                                                                       >> $MAIN
#
echo "Function" Main"(cPar)"                                                                   >> $MAIN
echo "//"                                                                                      >> $MAIN
#
for qq in $(seq 1 $BLVARLOC_MAIN); do
    echo 'Local cLrgbM'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '           >> $MAIN 
done
#
echo "//"                                                                                      >> $MAIN
echo "#IfDef USADLL"                                                                           >> $MAIN
echo '   If ! File("\windows\system\librgbwd.dll")'                                            >> $MAIN
echo "      Tone(800,4)"                                                                       >> $MAIN
echo '      Alert("Arquivo DLL Nao Encontrado !",{"Enter"})'                                   >> $MAIN
echo "   EndIf"                                                                                >> $MAIN
echo "#EndIf"                                                                                  >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "Seta_Set()"                                                                              >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "If IsColor()"                                                                            >> $MAIN
echo '   SetColor("g+/n,gr+/bg,,,r/w")'                                                        >> $MAIN
echo '   //SetColor("w+/bg,gr+/bg,,,r/w")'                                                     >> $MAIN
echo "Else"                                                                                    >> $MAIN
echo '   SetColor("w+/n,n/w,,,w/n")'                                                           >> $MAIN
echo "EndIf"                                                                                   >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "SetCancel(.T.)"                                                                          >> $MAIN
echo "Set Key K_ALTC TO rgbAltC()"                                                             >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "Clear"                                                                                   >> $MAIN
echo "Clear All"                                                                               >> $MAIN
echo "Close All"                                                                               >> $MAIN
echo "//"                                                                                      >> $MAIN
#
echo 'PRIVATE Msg_Tel:="Roberto Gomes Borges (RGB) 1982-2017"'                                 >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "Public nHanLib := 0"                                                                     >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "#IfDef USADLL"                                                                           >> $MAIN
echo "   #IfDef CLIPPER"                                                                       >> $MAIN
echo '      If File("\windows\system\librgbwd.dll")'                                           >> $MAIN
echo '         nHanLib := BliLibLod("\windows\system\librgbwd.dll")'                           >> $MAIN
echo '         //nHanLib := BliLibLod("\windows\system\mp20fi32.dll")'                         >> $MAIN
echo "      EndIf"                                                                             >> $MAIN
echo "   #Else"                                                                                >> $MAIN
echo "      #IfDef HBWIN"                                                                      >> $MAIN
echo '         nHanLib := LoadLibrary("\windows\system\librgbwd.dll")'                         >> $MAIN
echo '         //nHanLib := LoadLibrary("\windows\system\mp20fi32.dll")'                       >> $MAIN
echo "      #EndIf"                                                                            >> $MAIN
echo "   #EndIF"                                                                               >> $MAIN
echo "#EndIf"                                                                                  >> $MAIN
echo "//"                                                                                      >> $MAIN
echo '//BliFunCal("SETA_SET",BliFunHan(nHanLib,"SETA_SET"))'                                   >> $MAIN
echo "//"                                                                                      >> $MAIN
#
echo "#IfDef USADLL"                                                                           >> $MAIN
echo "   //"                                                                                   >> $MAIN
echo "   #IfDef CLIPPER"                                                                       >> $MAIN
echo "      If nHanLib < 32"                                                                   >> $MAIN
echo "         Tone(800,4)"                                                                    >> $MAIN
echo '         Alert("Erro Na Carga Da (DLL)")'                                                >> $MAIN 
echo "         Quit"                                                                           >> $MAIN
echo "      EndIf"                                                                             >> $MAIN
echo "   #EndIf"                                                                               >> $MAIN
echo "   //"                                                                                   >> $MAIN
echo "#EndIf"                                                                                  >> $MAIN
echo "//"                                                                                      >> $MAIN
#
echo "Public Clipper,Fs,Hb"                                                                    >> $MAIN
echo "Public lrgbCRT    := .F."                                                                >> $MAIN
echo "Public cSou,cBARRA"                                                                      >> $MAIN
echo 'Public cExt       := "cdx"'                                                              >> $MAIN
echo 'Public cEstacao   := UPPER(GETENV("RGB_EST"))'                                           >> $MAIN
echo 'Public cCdSis     := ""'                                                                 >> $MAIN
echo 'Public cVrSis     := ""'                                                                 >> $MAIN
echo 'Public nLnB       := 03 // Linha Base'                                                   >> $MAIN
echo 'Public dDAT_HOJE  := Date()'                                                             >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "Public cOs        := Upper(OS())"                                                        >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "Public nPubCalled := 0"                                                                  >> $MAIN
echo "Public nPubLoops  := 0"                                                                  >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "Public a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"                              >> $MAIN
echo 'Public cDiaSemNM := "Dom,Seg,Ter,Qua,Qui,Sex,Sab"'                                       >> $MAIN
echo 'Public cDiaSemNR := "1,2,3,4,5,6,7"'                                                     >> $MAIN
echo 'Public cDiaMes   := "31x28x31x30x31x30x31x31x30x31x30x31"'                               >> $MAIN
echo 'Public cMesAno   := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez"'                   >> $MAIN
echo 'Public n2e33     := (2**33)'                                                             >> $MAIN
echo 'Public n2e62     := (2**62)'                                                             >> $MAIN  
echo 'Public cAaZ      := "abcdefghijklmnopqrstuvwxyz"'                                        >> $MAIN
echo 'Public c0a9      := "0123456789"'                                                        >> $MAIN             
echo "Public dDtHoje   := Date()"                                                              >> $MAIN
echo 'Public nMyPIl    := 3.1415926535897932384626433'                                         >> $MAIN   
echo 'Public nMyPIf    := rgb_MyPi()'                                                          >> $MAIN
echo "Public nSecIni   := Seconds()"                                                           >> $MAIN
echo "Public nSecFin   := Seconds()"                                                           >> $MAIN
echo "Public cHrIni    := Time()"                                                              >> $MAIN
echo "Public aArray0   := {0,1,2,3,4,5,6,7,8,9}"                                               >> $MAIN 
echo "Public aArray1   := {'0','1','2','3','4','5','6','7','8','9'}"                           >> $MAIN 
echo 'Public aArray2   := {"0","1","2","3","4","5","6","7","8","9"}'                           >> $MAIN 
echo "Public aArray3   := {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}"               >> $MAIN 
echo "Public aArray4   := {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}" >> $MAIN 
echo 'Public aArray5   := {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}' >> $MAIN 
echo "//"                                                                                      >> $MAIN
echo "Public lNew      := .T. // Se Nova Area"                                                 >> $MAIN
echo "Public lShared   := .F. // Se Compartilhado"                                             >> $MAIN
echo "Public lReadonly := .F. // Se Apenas Leitura"                                            >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "Public aGcpf     := {}"                                                                  >> $MAIN
echo "Public aGcpf2    := {}"                                                                  >> $MAIN
echo 'Public aGnm      := {}'                                                                  >> $MAIN
echo 'Public aGnm2     := {}'                                                                  >> $MAIN
echo 'Public cFn1,cFn2,cFn3,cFn4,cFn5 := ""'                                                   >> $MAIN
#echo 'Public cFn1L,cFn2L,cFn3L        :=""'                                                    >> $MAIN
echo "//"                                                                                      >> $MAIN
#
for qq in $(seq 1 $BLVARPUB_MAIN); do
    echo 'Public cPrgbG'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '          >> $MAIN 
done
#
echo "//"                                                                                      >> $MAIN
#
echo "//"                                                                                      >> $MAIN
#
echo 'If At( "WINDOWS", cOs ) != 0 .Or. At( "DOS", cOs ) != 0 .or. ;'                          >> $MAIN
echo '   At( "OS/2", cOs ) != 0       // OS/2, DOS, Windows version'                           >> $MAIN
echo '   //'                                                                                   >> $MAIN
echo '   cBARRA  := "\"'                                                                       >> $MAIN
echo '   Clipper := .T. ; Fs := .F.'                                                           >> $MAIN
echo '   cSou    := "WinDos"'                                                                  >> $MAIN
echo '   cBoxSin :=  ( CHR(218) + CHR(196) + CHR(191) + CHR(179) + ;'                          >> $MAIN
echo '                 CHR(217) + CHR(196) + CHR(192) + CHR(179)   )'                          >> $MAIN
echo '   cBoxDou := (  CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;'                          >> $MAIN
echo '                 CHR(188) + CHR(205) + CHR(200) + CHR(186)   )'                          >> $MAIN
echo "   //"                                                                                   >> $MAIN
echo "Else                  // POSIX / Unix / Linux version"                                   >> $MAIN
echo "   //"                                                                                   >> $MAIN
echo '   cBARRA  := "/"'                                                                       >> $MAIN
echo "   Clipper := .F. ; Fs := .T."                                                           >> $MAIN
echo '   cSou    := "Unix"'                                                                    >> $MAIN
echo '   cBoxSin := "+-+|+-+|"'                                                                >> $MAIN
echo '   cBoxDou := "+-+|+-+|"'                                                                >> $MAIN
echo "   //"                                                                                   >> $MAIN
echo "Endif"							                               >> $MAIN
echo "//"							                               >> $MAIN
echo "nSecIni := Seconds()"                                                                    >> $MAIN
echo "cHrIni  := Time()"                                                                       >> $MAIN
echo "//"                                                                                      >> $MAIN
echo '? "Aguarde ..."'                                                                         >> $MAIN
echo "? Date(),Time()"                                                                         >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "a := 0"                                                                                  >> $MAIN
#242
echo "//"                                                                                      >> $MAIN
echo "For  i := 1 To 26"                                                                       >> $MAIN
echo "     //"										       >> $MAIN
#echo "     For  j := 1 To 242"								       >> $MAIN
echo "     For  j := 1 To 2048"								       >> $MAIN
#echo "     For  j := 1 To 64"								       >> $MAIN
echo "          //"                                                                            >> $MAIN
echo "          cFn1 := Subs(cAaZ,i,1)"                                                        >> $MAIN
echo '          cFn2 := "rgba&cFn1"'                                                           >> $MAIN 
echo '          cFn3 := cFn2+"Fn"+AllTrim(Str(j,5,0))+"(0)"'                                   >> $MAIN
echo "          //"                                                                            >> $MAIN     
echo "          a := a + &cFn3"                                                                >> $MAIN
echo "          //"                                                                            >> $MAIN     
echo "          rgbCntLoops(ProcName())"                                                       >> $MAIN 
echo "          //"                                                                            >> $MAIN     
echo "     Next j"                                                                             >> $MAIN 
echo "     //"                                                                                 >> $MAIN
echo "Next i"                                                                                  >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "? a"                                                                                     >> $MAIN
echo "//"                                                                                      >> $MAIN
#
echo "a := 0"                                                                                  >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "For  i := 1 To 26"                                                                       >> $MAIN
echo "     //"										       >> $MAIN
#echo "     For  j := 1 To 4"								       >> $MAIN
echo "     For  j := 1 To 128"								       >> $MAIN
#echo "     For  j := 1 To 64"								       >> $MAIN
echo "          //"                                                                            >> $MAIN
echo "          cFn1 := Subs(cAaZ,i,1)"                                                        >> $MAIN
echo '          cFn2 := "rgbb&cFn1"'                                                           >> $MAIN 
echo '          cFn3 := cFn2+"Fn"+AllTrim(Str(j,5,0))+"(0)"'                                   >> $MAIN
echo "          //"                                                                            >> $MAIN     
echo "          a := a + &cFn3"                                                                >> $MAIN
echo "          //"                                                                            >> $MAIN     
echo "          rgbCntLoops(ProcName())"                                                       >> $MAIN 
echo "          //"                                                                            >> $MAIN     
echo "     Next j"                                                                             >> $MAIN 
echo "     //"                                                                                 >> $MAIN
echo "Next i"                                                                                  >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "? a"                                                                                     >> $MAIN
echo "//"                                                                                      >> $MAIN
#
#echo "Inkey(10)"                                                                               >> $MAIN 
#echo "Return(Nil)"                                                                             >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "Fn1(ProcName())"                                                                         >> $MAIN
echo "//"                                                                                      >> $MAIN
echo "nSecFin := Seconds()"                                                                    >> $MAIN
echo "//"                                                                                      >> $MAIN
echo '? "Start Date/Time.:" , dDtHoje, "-", cHrIni'                                            >> $MAIN
echo '? "Ends  Date/Time.:" , Date() , "-", Time()'                                            >> $MAIN
echo '? " "'                                                                                   >> $MAIN
echo '? "Tempo Decorrido.: "'                                                                  >> $MAIN
echo "?? nSecFin - nSecIni"                                                                    >> $MAIN
echo '? " "'                                                                                   >> $MAIN
echo '? "Call de Funcoes.:", nPubCalled'                                                       >> $MAIN
echo '? "Count Loops ....:", nPubLoops'                                                        >> $MAIN
echo '? " "'                                                                                   >> $MAIN
#echo '? "Tecle <Enter> ... "'                                                                  >> $MAIN
#echo "Inkey(0)"                                                                                >> $MAIN
echo 'SetColor("")'                                                                            >> $MAIN
echo "Close All"                                                                               >> $MAIN
echo "//"                                                                                      >> $MAIN
#echo "Return(Nil)"                                                                             >> $MAIN
echo "Quit"                                                                                    >> $MAIN
echo "//"                                                                                      >> $MAIN
#
echo "Function rgbInFn(cPar)"                                                                  >> $MAIN
echo "If lrgbCRT"                                                                              >> $MAIN
echo "   ? cPar"                                                                               >> $MAIN
echo "EndIf"                                                                                   >> $MAIN
echo "Return(Nil)"                                                                             >> $MAIN
echo "//"                                                                                      >> $MAIN 
#
echo "Function rgbOutFn(cPar)"                                                                 >> $MAIN
echo "If lrgbCRT"                                                                              >> $MAIN
echo "   ? cPar"                                                                               >> $MAIN
echo "EndIf"                                                                                   >> $MAIN
echo "Return(Nil)"                                                                             >> $MAIN
echo "//"                                                                                      >> $MAIN 
#
echo "Function rgbFazAlgo(cPar)"                                                               >> $MAIN
echo "//"                                                                                      >> $MAIN 
echo "nPubCalled := nPubCalled + 1"                                                            >> $MAIN 
echo "//"                                                                                      >> $MAIN 
echo "If lrgbCRT"                                                                              >> $MAIN
echo "   ? cPar"                                                                               >> $MAIN
echo "EndIf"                                                                                   >> $MAIN
echo "//"                                                                                      >> $MAIN 
echo "Return(Nil)"                                                                             >> $MAIN
echo "//"                                                                                      >> $MAIN 
#
echo "Function rgbCntLoops(cPar)"                                                              >> $MAIN
echo "//"                                                                                      >> $MAIN 
echo "nPubLoops := nPubLoops + 1"                                                              >> $MAIN 
echo "//"                                                                                      >> $MAIN 
echo "Return(Nil)"                                                                             >> $MAIN
echo "//"                                                                                      >> $MAIN 
#
echo "Function rgbMyCls(cPar)"                                                                 >> $MAIN
echo "If lrgbCRT"                                                                              >> $MAIN
echo "   Clear"                                                                                >> $MAIN
echo "EndIf"                                                                                   >> $MAIN
echo "Return(Nil)"                                                                             >> $MAIN
echo "//"                                                                                      >> $MAIN 
#
echo "* EOF()"                                                                                 >> $MAIN
echo " "                                                                                       >> $MAIN
#

#
# SUPER LIB (librgbaa.prg)/(librgbaz) // 26 LIBS / OBJS
#
PREFIXO="librgba"
#
for a in {a..z} ; do 
    #
    NSTART=$((1))
    #NEND=$((2048))
    #242 max dos
    NEND=$((242))
    NEND=$((2048))
    #NEND=$((64))
    #
    LIBRGBAA=$PREFIXO$a".prg"
    #
    echo $LIBRGBAA >> $MKFILE
    #
    if [ ! -f $LIBRGBAA ] ; then
       #
       echo "**********************************************************"   > $LIBRGBAA
       echo "*  Vrs. 0.0.0.01 pre-pre-pre-alpha. 25/03/2014           *"  >> $LIBRGBAA 
       echo "*  +--------------------------------------------------+  *"  >> $LIBRGBAA
       echo "*  |                                                  |  *"  >> $LIBRGBAA
       echo "*  | Script to make (.PRG) mk_prgs_hb.sh  ???????.bat |  *"  >> $LIBRGBAA
       echo "*  | ------------------------------------------------ |  *"  >> $LIBRGBAA 
       echo "*  |                                                  |  *"  >> $LIBRGBAA
       echo "*  | Roberto Gomes Borges (RGB) 1982-2017.            |  *"  >> $LIBRGBAA
       echo "*  | ------------------------------------------------ |  *"  >> $LIBRGBAA
       echo "*  | LINUX/Windows/DOS DosBox/DosEmu/VirtualBox. etc. |  *"  >> $LIBRGBAA
       echo "*  +--------------------------------------------------+  *"  >> $LIBRGBAA  
       echo "*   e-mail .: robertolinux (at) gmail.com                *"  >> $LIBRGBAA 
       echo "**********************************************************"  >> $LIBRGBAA
       #
       echo " "                                                       >> $LIBRGBAA
       #
       echo '#include "fileio.ch"'                                    >> $LIBRGBAA
       echo '#include "inkey.ch"'                                     >> $LIBRGBAA
       # 
       echo "Criando LIB  ... " $LIBRGBAA
       #
       echo " "                                                       >> $LIBRGBAA
       echo "/*"                                                      >> $LIBRGBAA
       echo " "                                                       >> $LIBRGBAA
       echo "by Roberto Borges (RGB) 1982-2017"                       >> $LIBRGBAA
       echo "e-mail .: robertolinux (at) gmail.com"                   >> $LIBRGBAA 
       echo "Fortaleza,Ce (BR) - $DATE"                               >> $LIBRGBAA
       echo $OS                                                       >> $LIBRGBAA
       echo " "                                                       >> $LIBRGBAA
       echo "*/"                                                      >> $LIBRGBAA
       echo " "                                                       >> $LIBRGBAA
       #
       for ((i=$NSTART; i <= $NEND ; i++)) ; do
           #
           echo " "                                                       >> $LIBRGBAA
           #
           echo "Function" rgba${a}Fn$i"(nPar)"                           >> $LIBRGBAA
           echo "*****************************"                           >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
           echo "// Faz/Verifica alguma coisa ao entrar na Funcao"        >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
#          echo "Local nPar"                                              >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
           echo "Local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"                                                                    >> $LIBRGBAA
           echo 'Local cDiaSemNM := "Dom,Seg,Ter,Qua,Qui,Sex,Sab"'                                                                             >> $LIBRGBAA
           echo 'Local cDiaSemNR := "1,2,3,4,5,6,7"'                                                                                           >> $LIBRGBAA
           echo 'Local cDiaMes   := "31x28x31x30x31x30x31x31x30x31x30x31"'                                                                     >> $LIBRGBAA
           echo 'Local cMesAno   := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez"'                                                         >> $LIBRGBAA
           echo 'Local n2e33     := (2**33)'                                                                                                   >> $LIBRGBAA
           echo 'Local n2e62     := (2**62)'                                                                                                   >> $LIBRGBAA 
           echo 'Local cAaZ      := "abcdefghijklmnopqrstuvwxyz"'                                                                              >> $LIBRGBAA
           echo 'Local c0a9      := "0123456789"'                                                                                              >> $LIBRGBAA            
           echo "Local dDtHoje   := Date()"                                                                                                    >> $LIBRGBAA
           echo 'Local nMyPIl    := 3.1415926535897932384626433'                                                                               >> $LIBRGBAA  
           echo 'Local nMyPIf    := rgb_MyPi()'                                                                                                >> $LIBRGBAA
           echo 'Local cNm       := ""'                                                                                                        >> $LIBRGBAA
           echo "Local aLcpf     := {}"                                                                                                        >> $LIBRGBAA
           echo 'Local aLnm      := {}'                                                                                                        >> $LIBRGBAA
           echo 'Local cCPF      := ""'                                                                                                        >> $LIBRGBAA
           echo "Local aArrayn   := {}"                                                                                                        >> $LIBRGBAA
           echo "Local aArray0   := {0,1,2,3,4,5,6,7,8,9}"                                                                                     >> $LIBRGBAA
           echo "Local aArray1   := {'0','1','2','3','4','5','6','7','8','9'}"                                                                 >> $LIBRGBAA
           echo 'Local aArray2   := {"0","1","2","3","4","5","6","7","8","9"}'                                                                 >> $LIBRGBAA
           echo "Local aArray3   := {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}"                                                     >> $LIBRGBAA
           echo "Local aArray4   := {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}" >> $LIBRGBAA
           echo 'Local aArray5   := {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}' >> $LIBRGBAA
           echo "//"                                                                                                                           >> $LIBRGBAA
           #
           echo "Local a2,b2,c2,d2,e2,f2,g2,h2,i2,j2,k2,l2,m2,n2,o2,p2,q2,r2,s2,t2,u2,v2,w2,x2,y2,z2"                                           >> $LIBRGBAA
           echo 'Local cDiaSemNM2 := "Dom,Seg,Ter,Qua,Qui,Sex,Sab"'                                                                             >> $LIBRGBAA
           echo 'Local cDiaSemNR2 := "1,2,3,4,5,6,7"'                                                                                           >> $LIBRGBAA
           echo 'Local cDiaMes2   := "31x28x31x30x31x30x31x31x30x31x30x31"'                                                                     >> $LIBRGBAA
           echo 'Local cMesAno2   := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez"'                                                         >> $LIBRGBAA
           echo 'Local n2e332     := (2**33)'                                                                                                   >> $LIBRGBAA
           echo 'Local n2e622     := (2**62)'                                                                                                   >> $LIBRGBAA 
           echo 'Local cAaZ2      := "abcdefghijklmnopqrstuvwxyz"'                                                                              >> $LIBRGBAA
           echo 'Local c0a92      := "0123456789"'                                                                                              >> $LIBRGBAA            
           echo "Local dDtHoje2   := Date()"                                                                                                    >> $LIBRGBAA
           echo 'Local nMyPIl2    := 3.1415926535897932384626433'                                                                               >> $LIBRGBAA  
           echo 'Local nMyPIf2    := rgb_MyPi()'                                                                                                >> $LIBRGBAA
           echo 'Local cNm2       := ""'                                                                                                        >> $LIBRGBAA
           echo "Local aLcpf2     := {}"                                                                                                        >> $LIBRGBAA
           echo 'Local aLnm2      := {}'                                                                                                        >> $LIBRGBAA
           echo 'Local cCPF2      := ""'                                                                                                        >> $LIBRGBAA
           echo "Local aArrayn2   := {}"                                                                                                        >> $LIBRGBAA
           echo "Local aArray02   := {0,1,2,3,4,5,6,7,8,9}"                                                                                     >> $LIBRGBAA
           echo "Local aArray12   := {'0','1','2','3','4','5','6','7','8','9'}"                                                                 >> $LIBRGBAA
           echo 'Local aArray22   := {"0","1","2","3","4","5","6","7","8","9"}'                                                                 >> $LIBRGBAA
           echo "Local aArray32   := {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}"                                                     >> $LIBRGBAA
           echo "Local aArray42   := {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}" >> $LIBRGBAA
           echo 'Local aArray52   := {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}' >> $LIBRGBAA
           echo "//"                                                                                                                            >> $LIBRGBAA
           #
           echo "Local a3,b3,c3,d3,e3,f3,g3,h3,i3,j3,k3,l3,m3,n3,o3,p3,q3,r3,s3,t3,u3,v3,w3,x3,y3,z3"                                           >> $LIBRGBAA
           echo 'Local cDiaSemNM3 := "Dom,Seg,Ter,Qua,Qui,Sex,Sab"'                                                                             >> $LIBRGBAA
           echo 'Local cDiaSemNR3 := "1,2,3,4,5,6,7"'                                                                                           >> $LIBRGBAA
           echo 'Local cDiaMes3   := "31x28x31x30x31x30x31x31x30x31x30x31"'                                                                     >> $LIBRGBAA
           echo 'Local cMesAno3   := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez"'                                                         >> $LIBRGBAA
           echo 'Local n2e333     := (2**33)'                                                                                                   >> $LIBRGBAA
           #echo 'Local n2e623     := (2**62)'                                                                                                   >> $LIBRGBAA 
           #echo 'Local cAaZ3      := "abcdefghijklmnopqrstuvwxyz"'                                                                              >> $LIBRGBAA
           #echo 'Local c0a93      := "0123456789"'                                                                                              >> $LIBRGBAA            
           #echo "Local dDtHoje3   := Date()"                                                                                                    >> $LIBRGBAA
           #echo 'Local nMyPIl3    := 3.1415926535897932384626433'                                                                               >> $LIBRGBAA  
           #echo 'Local nMyPIf3    := rgb_MyPi()'                                                                                                >> $LIBRGBAA
           #echo 'Local cNm3       := ""'                                                                                                        >> $LIBRGBAA
           #echo "Local aLcpf3     := {}"                                                                                                        >> $LIBRGBAA
           #echo 'Local aLnm3      := {}'                                                                                                        >> $LIBRGBAA
           #echo 'Local cCPF3      := ""'                                                                                                        >> $LIBRGBAA
           #echo "Local aArrayn3   := {}"                                                                                                        >> $LIBRGBAA
           #echo "Local aArray03   := {0,1,2,3,4,5,6,7,8,9}"                                                                                     >> $LIBRGBAA
           #echo "Local aArray13   := {'0','1','2','3','4','5','6','7','8','9'}"                                                                 >> $LIBRGBAA
           #echo 'Local aArray23   := {"0","1","2","3","4","5","6","7","8","9"}'                                                                 >> $LIBRGBAA
           #echo "Local aArray33   := {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}"                                                     >> $LIBRGBAA
           #echo "Local aArray43   := {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}" >> $LIBRGBAA
           #echo 'Local aArray53   := {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}' >> $LIBRGBAA
           echo "//"                                                                                                                            >> $LIBRGBAA
           #
           #
           for qq in $(seq 1 $BLVARLOC); do
               #echo 'Local cLrgba'${a}'Fn'${i}'_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '                                  >> $LIBRGBAA 
               echo 'Local cLrgb_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '                                  >> $LIBRGBAA 
           done
           # 
           echo "//"                                                      >> $LIBRGBAA
           #
           for qq in $(seq 1 $BLVARPUB); do
               #echo 'Public cPrgba'${a}'Fn'${i}'_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '                                 >> $LIBRGBAA 
               echo 'Public cPrgb_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '                                 >> $LIBRGBAA 
           done
           # 
           echo "//"                                                      >> $LIBRGBAA
           #
           echo "*******************"                                     >> $LIBRGBAA
           echo "rgbInFn(ProcName())"                                     >> $LIBRGBAA  
           echo "*******************"                                     >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
           #
           echo "Do While (.t.)"                                          >> $LIBRGBAA
           echo "   //"                                                   >> $LIBRGBAA
           echo "   rgbFazAlgo(ProcName())"                               >> $LIBRGBAA
           echo "   Exit"                                                 >> $LIBRGBAA
           echo "   //"                                                   >> $LIBRGBAA
           echo "EndDo"                                                   >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
           #
           echo "For a := 1 To 2"                 >> $LIBRGBAA
           echo "    //"                          >> $LIBRGBAA
           echo "    cCPF := rgbGeraCpf()"        >> $LIBRGBAA
           echo "    cNm  := rgbGetFrase(1024)"   >> $LIBRGBAA
           echo "    //"                          >> $LIBRGBAA
           echo "    For b := 1 To 4"             >> $LIBRGBAA
           echo "        //"                      >> $LIBRGBAA
           echo "        aAdd(aGcpf,cCPF)"        >> $LIBRGBAA
           echo "        aAdd(aArrayn,cCPF)"      >> $LIBRGBAA
           echo "        aAdd(aGnm,cNm)"          >> $LIBRGBAA
           echo "        aAdd(aLnm,cNm)"          >> $LIBRGBAA      
           echo "        //"                      >> $LIBRGBAA
           echo "        //rgb_fk_cpu()"          >> $LIBRGBAA
           echo "        rgbCntLoops(ProcName())" >> $LIBRGBAA
           echo "        //"                      >> $LIBRGBAA
           echo "    Next b"                      >> $LIBRGBAA
           echo "    //"                          >> $LIBRGBAA
           echo "Next a"                          >> $LIBRGBAA
           echo "//"                              >> $LIBRGBAA
           echo " "                               >> $LIBRGBAA
           #
           echo "rgbOutFn(ProcName())"                                    >> $LIBRGBAA   
           #
           echo "//"                                                      >> $LIBRGBAA
           echo "Return(nPar + rgbMyUm())"                                >> $LIBRGBAA 
           echo "//"                                                      >> $LIBRGBAA
#          echo " "                                                       >> $LIBRGBAA
           #
       done
    ####
    else
       echo "Arquivo $LIBRGBAA Já existe ..."
    fi
    #
done
#

#
# SUPER LIB (librgbba.prg)/(librgbbz) // 26 LIBS / OBJS
#
PREFIXO="librgbb"
#
for a in {a..z} ; do 
    #
    NSTART=$((1))
    #NEND=$((2048))
    #242/4 max dos
    NEND=$((4))
    NEND=$((128))
    #NEND=$((64))
    #
    LIBRGBAA=$PREFIXO$a".prg"
    #
    echo $LIBRGBAA >> $MKFILE
    #
    if [ ! -f $LIBRGBAA ] ; then
       #
       echo "**********************************************************"   > $LIBRGBAA
       echo "*  Vrs. 0.0.0.01 pre-pre-pre-alpha. 25/03/2014           *"  >> $LIBRGBAA 
       echo "*  +--------------------------------------------------+  *"  >> $LIBRGBAA
       echo "*  |                                                  |  *"  >> $LIBRGBAA
       echo "*  | Script to make (.PRG) mk_prgs_hb.sh  ???????.bat |  *"  >> $LIBRGBAA
       echo "*  | ------------------------------------------------ |  *"  >> $LIBRGBAA 
       echo "*  |                                                  |  *"  >> $LIBRGBAA
       echo "*  | Roberto Gomes Borges (RGB) 1982-2017.            |  *"  >> $LIBRGBAA
       echo "*  | ------------------------------------------------ |  *"  >> $LIBRGBAA
       echo "*  | LINUX/Windows/DOS DosBox/DosEmu/VirtualBox. etc. |  *"  >> $LIBRGBAA
       echo "*  +--------------------------------------------------+  *"  >> $LIBRGBAA  
       echo "*   e-mail .: robertolinux (at) gmail.com                *"  >> $LIBRGBAA 
       echo "**********************************************************"  >> $LIBRGBAA
       #
       echo " "                                                       >> $LIBRGBAA
       #
       echo '#include "fileio.ch"'                                    >> $LIBRGBAA
       echo '#include "inkey.ch"'                                     >> $LIBRGBAA
       # 
       echo "Criando LIB  ... " $LIBRGBAA
       #
       echo " "                                                       >> $LIBRGBAA
       echo "/*"                                                      >> $LIBRGBAA
       echo " "                                                       >> $LIBRGBAA
       echo "by Roberto Borges (RGB) 1982-2017"                       >> $LIBRGBAA
       echo "e-mail .: robertolinux (at) gmail.com"                   >> $LIBRGBAA 
       echo "Fortaleza,Ce (BR) - $DATE"                               >> $LIBRGBAA
       echo $OS                                                       >> $LIBRGBAA
       echo " "                                                       >> $LIBRGBAA
       echo "*/"                                                      >> $LIBRGBAA
       echo " "                                                       >> $LIBRGBAA
       #
       for ((i=$NSTART; i <= $NEND ; i++)) ; do
           #
           echo " "                                                       >> $LIBRGBAA
           #
           echo "Function" rgbb${a}Fn$i"(nPar)"                           >> $LIBRGBAA
           echo "*****************************"                           >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
           echo "// Faz/Verifica alguma coisa ao entrar na Funcao"        >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
#          echo "Local nPar"                                              >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
           echo "Local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"                                                                    >> $LIBRGBAA
           echo 'Local cDiaSemNM := "Dom,Seg,Ter,Qua,Qui,Sex,Sab"'                                                                             >> $LIBRGBAA
           echo 'Local cDiaSemNR := "1,2,3,4,5,6,7"'                                                                                           >> $LIBRGBAA
           echo 'Local cDiaMes   := "31x28x31x30x31x30x31x31x30x31x30x31"'                                                                     >> $LIBRGBAA
           echo 'Local cMesAno   := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez"'                                                         >> $LIBRGBAA
           echo 'Local n2e33     := (2**33)'                                                                                                   >> $LIBRGBAA
           echo 'Local n2e62     := (2**62)'                                                                                                   >> $LIBRGBAA 
           echo 'Local cAaZ      := "abcdefghijklmnopqrstuvwxyz"'                                                                              >> $LIBRGBAA
           echo 'Local c0a9      := "0123456789"'                                                                                              >> $LIBRGBAA            
           echo "Local dDtHoje   := Date()"                                                                                                    >> $LIBRGBAA
           echo 'Local nMyPIl    := 3.1415926535897932384626433'                                                                               >> $LIBRGBAA  
           echo 'Local nMyPIf    := rgb_MyPi()'                                                                                                >> $LIBRGBAA
           echo 'Local cNm       := ""'                                                                                                        >> $LIBRGBAA
           echo "Local aLcpf     := {}"                                                                                                        >> $LIBRGBAA
           echo 'Local aLnm      := {}'                                                                                                        >> $LIBRGBAA
           echo 'Local cCPF      := ""'                                                                                                        >> $LIBRGBAA
           echo "Local aArrayn   := {}"                                                                                                        >> $LIBRGBAA
           echo "Local aArray0   := {0,1,2,3,4,5,6,7,8,9}"                                                                                     >> $LIBRGBAA
           echo "Local aArray1   := {'0','1','2','3','4','5','6','7','8','9'}"                                                                 >> $LIBRGBAA
           echo 'Local aArray2   := {"0","1","2","3","4","5","6","7","8","9"}'                                                                 >> $LIBRGBAA
           echo "Local aArray3   := {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}"                                                     >> $LIBRGBAA
           echo "Local aArray4   := {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}" >> $LIBRGBAA
           echo 'Local aArray5   := {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}' >> $LIBRGBAA
           echo "//"                                                                                                                           >> $LIBRGBAA
           #
           echo "Local a2,b2,c2,d2,e2,f2,g2,h2,i2,j2,k2,l2,m2,n2,o2,p2,q2,r2,s2,t2,u2,v2,w2,x2,y2,z2"                                           >> $LIBRGBAA
           echo 'Local cDiaSemNM2 := "Dom,Seg,Ter,Qua,Qui,Sex,Sab"'                                                                             >> $LIBRGBAA
           echo 'Local cDiaSemNR2 := "1,2,3,4,5,6,7"'                                                                                           >> $LIBRGBAA
           echo 'Local cDiaMes2   := "31x28x31x30x31x30x31x31x30x31x30x31"'                                                                     >> $LIBRGBAA
           echo 'Local cMesAno2   := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez"'                                                         >> $LIBRGBAA
           echo 'Local n2e332     := (2**33)'                                                                                                   >> $LIBRGBAA
           echo 'Local n2e622     := (2**62)'                                                                                                   >> $LIBRGBAA 
           echo 'Local cAaZ2      := "abcdefghijklmnopqrstuvwxyz"'                                                                              >> $LIBRGBAA
           echo 'Local c0a92      := "0123456789"'                                                                                              >> $LIBRGBAA            
           echo "Local dDtHoje2   := Date()"                                                                                                    >> $LIBRGBAA
           echo 'Local nMyPIl2    := 3.1415926535897932384626433'                                                                               >> $LIBRGBAA  
           echo 'Local nMyPIf2    := rgb_MyPi()'                                                                                                >> $LIBRGBAA
           echo 'Local cNm2       := ""'                                                                                                        >> $LIBRGBAA
           echo "Local aLcpf2     := {}"                                                                                                        >> $LIBRGBAA
           echo 'Local aLnm2      := {}'                                                                                                        >> $LIBRGBAA
           echo 'Local cCPF2      := ""'                                                                                                        >> $LIBRGBAA
           echo "Local aArrayn2   := {}"                                                                                                        >> $LIBRGBAA
           echo "Local aArray02   := {0,1,2,3,4,5,6,7,8,9}"                                                                                     >> $LIBRGBAA
           echo "Local aArray12   := {'0','1','2','3','4','5','6','7','8','9'}"                                                                 >> $LIBRGBAA
           echo 'Local aArray22   := {"0","1","2","3","4","5","6","7","8","9"}'                                                                 >> $LIBRGBAA
           echo "Local aArray32   := {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}"                                                     >> $LIBRGBAA
           echo "Local aArray42   := {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}" >> $LIBRGBAA
           echo 'Local aArray52   := {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}' >> $LIBRGBAA
           echo "//"                                                                                                                            >> $LIBRGBAA
           #
           for qq in $(seq 1 $BLVARLOC); do
               #echo 'Local cLrgbb'${a}'Fn'${i}'_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '                                  >> $LIBRGBAA 
               echo 'Local cLrgb_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '                                  >> $LIBRGBAA 
           done
           #
           echo "//"                                                      >> $LIBRGBAA
           # 
           for qq in $(seq 1 $BLVARPUB); do
               #echo 'Public cPrgbb'${a}'Fn'${i}'_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '                                 >> $LIBRGBAA 
               echo 'Public cPrgb_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '                                 >> $LIBRGBAA 
           done
           # 
           echo "//"                                                      >> $LIBRGBAA
           #
           echo "*******************"                                     >> $LIBRGBAA
           echo "rgbInFn(ProcName())"                                     >> $LIBRGBAA  
           echo "*******************"                                     >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
           #
           echo "Do While (.t.)"                                          >> $LIBRGBAA
           echo "   //"                                                   >> $LIBRGBAA
           echo "   rgbFazAlgo(ProcName())"                               >> $LIBRGBAA
           echo "   Exit"                                                 >> $LIBRGBAA
           echo "   //"                                                   >> $LIBRGBAA
           echo "EndDo"                                                   >> $LIBRGBAA
           echo "//"                                                      >> $LIBRGBAA
           #
           echo "For a := 1 To 2"                 >> $LIBRGBAA
           echo "    //"                          >> $LIBRGBAA
           echo "    cCPF := rgbGeraCpf()"        >> $LIBRGBAA
           echo "    cNm  := rgbGetFrase(1024)"   >> $LIBRGBAA
           echo "    //"                          >> $LIBRGBAA
           echo "    For b := 1 To 4"             >> $LIBRGBAA
           echo "        //"                      >> $LIBRGBAA
           echo "        aAdd(aGcpf,cCPF)"        >> $LIBRGBAA
           echo "        aAdd(aArrayn,cCPF)"      >> $LIBRGBAA
           echo "        aAdd(aGnm,cNm)"          >> $LIBRGBAA
           echo "        aAdd(aLnm,cNm)"          >> $LIBRGBAA      
           echo "        //"                      >> $LIBRGBAA
           echo "        //rgb_fk_cpu()"          >> $LIBRGBAA
           echo "        rgbCntLoops(ProcName())" >> $LIBRGBAA
           echo "        //"                      >> $LIBRGBAA
           echo "    Next b"                      >> $LIBRGBAA
           echo "    //"                          >> $LIBRGBAA
           echo "Next a"                          >> $LIBRGBAA
           echo "//"                              >> $LIBRGBAA
           echo " "                               >> $LIBRGBAA
           #
           echo "rgbOutFn(ProcName())"                                    >> $LIBRGBAA   
           #
           echo "//"                                                      >> $LIBRGBAA
           echo "Return(nPar + rgbMyUm())"                                >> $LIBRGBAA 
           echo "//"                                                      >> $LIBRGBAA
#          echo " "                                                       >> $LIBRGBAA
           #
       done
    ####
    else
       echo "Arquivo $LIBRGBAA Já existe ..."
    fi
    #
done
#
# LIB librgblc.prg (LIB LOCAL)
# Rotinas Copiadas da Internet
#
LIBRGBLC="librgblc.prg"
#
echo ' '       >> $MKFILE
echo $LIBRGBLC >> $MKFILE
#
if [ ! -f $LIBRGBLC ] ; then
   #
   echo "Criando LIB  ...  $LIBRGBLC ..."
   #
echo "#Define PERIOD 2147483647"                                                                          > $LIBRGBLC
echo "#Define FACTOR 16807"                                                                              >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "*!*****************************************************************************"                   >> $LIBRGBLC 
echo "*!                                                                            *"                   >> $LIBRGBLC
echo "*!       Function: RANDOM() by Phil Barnett                                   *"                   >> $LIBRGBLC
echo "*!                                                                            *"                   >> $LIBRGBLC
echo "*!*****************************************************************************"                   >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "Function rgbRandom0()"                                                                             >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "Local p := 335544319       // This is just a lucky prime number"                                   >> $LIBRGBLC
echo "Local x := ( 2 ^ 31 ) - 1  // This is the distribution factor"                                     >> $LIBRGBLC
echo "Local y := x / p"                                                                                  >> $LIBRGBLC
echo "Local z := x % p"                                                                                  >> $LIBRGBLC
echo "Local seed := -1"                                                                                  >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "If seed == -1"                                                                                     >> $LIBRGBLC
echo "   seed := ( seconds() * day( date() ) * month( date() ) * year( date() ) ) % x"                   >> $LIBRGBLC 
echo "Endif"                                                                                             >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "seed := abs( p * ( seed % y ) - z * ( seed / y ) ) % x"                                            >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "Return ( ( seed - 1 ) / ( x - 2 ) )"                                                               >> $LIBRGBLC
#
echo "///////////////////////////////////////"                                                           >> $LIBRGBLC
#
echo "FUNCTION rgbRandInt ( nDesde , nHasta ) // Leiase: nMim , nMax"                                    >> $LIBRGBLC
echo "//"                                                                                                >> $LIBRGBLC
echo "LOCAL nUltimo , nRandom := 0 , nMult  := INT( SECONDS() )"                                         >> $LIBRGBLC
#
echo "LOCAL nNumero := ( nHasta - nDesde )"                                                              >> $LIBRGBLC 
#
echo "LOCAL nLen    := LEN( ALLTRIM( STR( nNumero ) ) )"                                                 >> $LIBRGBLC
echo "//"                                                                                                >> $LIBRGBLC
#
echo "SET DECIMAL TO 16"                                                                                 >> $LIBRGBLC
#
echo 'IF ( ( VALTYPE( nUltimo ) <> "N" ) .OR. EMPTY( nUltimo ) )'                                        >> $LIBRGBLC
echo "   nUltimo := ( ( nMult * ( ( SECONDS() - INT( SECONDS() ) ) * 100 ) ) % 335544319 )"              >> $LIBRGBLC
echo "ENDIF"                                                                                             >> $LIBRGBLC 
#
echo "nUltimo := ( ( nMult * nUltimo ) % 335544319 )"                                                    >> $LIBRGBLC
echo "nRandom := VAL( RIGHT( STR( nUltimo / 335544319 ) , nLen ) )"                                      >> $LIBRGBLC
#
echo "IF ( nRandom > nNumero )"                                                                          >> $LIBRGBLC
echo "   nRandom := ( nNumero - VAL( RIGHT( STR( nRandom ) , LEN( ALLTRIM( STR( nNumero ) ) ) - 1 ) ) )" >> $LIBRGBLC
echo "ENDIF"                                                                                             >> $LIBRGBLC
#
echo "SET DECIMAL TO 2"                                                                                  >> $LIBRGBLC
#
echo "RETURN( nDesde + INT( nRandom ) )"                                                                 >> $LIBRGBLC
#
echo "//////////////////////////////////"                                                                >> $LIBRGBLC
#
echo "FUNCTION rgbRND_POS(N)"                                                                            >> $LIBRGBLC
echo "    //"                                                                                            >> $LIBRGBLC
echo "    STATIC XRNDSEED := .123456789"                                                                 >> $LIBRGBLC
echo "    //"                                                                                            >> $LIBRGBLC
echo "    IF XRNDSEED = .123456789"									 >> $LIBRGBLC
echo "        XRNDSEED += VAL(SUBSTR(TIME(), 7, 2)) / 100"						 >> $LIBRGBLC
echo "    ENDIF"											 >> $LIBRGBLC
echo "    //"												 >> $LIBRGBLC
echo "    XRNDSEED := (XRNDSEED * 31415821 + 1) / 1000000"						 >> $LIBRGBLC
echo "    //"												 >> $LIBRGBLC
echo "RETURN INT( (XRNDSEED -= INT(XRNDSEED)) * N)"							 >> $LIBRGBLC
echo "*************************************************"					 	 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "Function rgbGFRand(n)"										 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "Static xrndseed := .123456789"									 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "If xrndseed = .123456789"										 >> $LIBRGBLC
echo "   xrndseed += val(substr(time(), 7, 2)) / 100"							 >> $LIBRGBLC
echo "Endif"												 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "xrndseed := (xrndseed * 31415821 + 1) / 1000000"                                                   >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "Return int( (xrndseed -= int(xrndseed)) * n)"                                                      >> $LIBRGBLC
echo "***************************************************"                                               >> $LIBRGBLC
echo " "                             									 >> $LIBRGBLC
#
echo "FUNCTION rgbRandom( nMaxVal )"               						         >> $LIBRGBLC 
echo " "												 >> $LIBRGBLC
echo "   /*     Returns a floating-point pseudo-random number between 0 and maxval"                      >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "   (left-inclusive), with maxval defaulting to 1. If maxval is in the same"                        >> $LIBRGBLC
echo "   order of size as the generator's period, the distribution of the"                               >> $LIBRGBLC
echo "   resulting PRNs will be irregular, but since PERIOD is 2147483647, that"                         >> $LIBRGBLC
echo "   should not be a problem in practice; people doing astrophysics or monte"                        >> $LIBRGBLC
echo "   carlo simulation using Clipper deserve everything they get, anyway ."                           >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "   */"												 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "   Local nRandom"											 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "   Static nSeed := 0"										 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "   //DEFAULT nMaxVal TO 1"									 >> $LIBRGBLC
echo " " 												 >> $LIBRGBLC
echo "   While nSeed == 0"										 >> $LIBRGBLC
echo "      nSeed := Seconds()"										 >> $LIBRGBLC
echo "      nSeed :=( nSeed * 12345 ) % PERIOD"								 >> $LIBRGBLC
echo "   Enddo"												 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "   nSeed := FACTOR * nSeed - Int(FACTOR * nSeed / PERIOD ) * PERIOD"                               >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo '   If ValType(nMaxVal) == "N"'									 >> $LIBRGBLC
echo "      nRandom := nSeed / ( PERIOD / nMaxVal + 1 )"       						 >> $LIBRGBLC
echo "   Else"												 >> $LIBRGBLC
echo "      nRandom := nSeed / PERIOD"									 >> $LIBRGBLC
echo "   Endif"												 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "RETURN nRandom"											 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "/////////////////////////////"         								 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
#
echo "Function rgbGeraCpf()"                                >> $LIBRGBLC
echo "       //"                                            >> $LIBRGBLC
echo '       Local cCPF1 := ""'                             >> $LIBRGBLC
echo '       Local cCPF2 := ""'                             >> $LIBRGBLC 
echo '       Local c1D   := ""'                             >> $LIBRGBLC
echo '       Local c2D   := ""'                             >> $LIBRGBLC
echo "       //"                                            >> $LIBRGBLC
echo "       Local nI             := 1"                     >> $LIBRGBLC
echo "       Local nCpf1,nCpf2    := 0"                     >> $LIBRGBLC
echo "       Local nDv1,nDv2      := 0"                     >> $LIBRGBLC
echo "       Local n1,n2,n3,n4,n5 := 0"                     >> $LIBRGBLC
echo "       //"                                            >> $LIBRGBLC
echo " Do While .T."                                        >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo '	  cCPF1 := ""'                                      >> $LIBRGBLC
echo '	  cCPF2 := ""'                                      >> $LIBRGBLC
echo '	  c1D   := ""'                                      >> $LIBRGBLC
echo '	  c2D   := ""'                                      >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  nI    := 1"                                       >> $LIBRGBLC
echo "	  nCpf1 := nCpf2 := 0"                              >> $LIBRGBLC
echo "	  nDv1  := nDv2  := 0"                              >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  n1    := 1"                                       >> $LIBRGBLC
echo "	  n2    := n3 := n4 := n5 := 0"                     >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  For  nI    := 1 To 9"                             >> $LIBRGBLC
echo "	       cCPF1 := cCPF1 + Str(Int(rgbGFRand(9)),1,0)" >> $LIBRGBLC
echo "	  Next nI"                                          >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  For  nI := 10 To 2 Step -1"                       >> $LIBRGBLC
echo "	       n2 := n2 +  Val(Subs(cCPF1,n1,1)) * nI"      >> $LIBRGBLC
echo "	       n1++"                                        >> $LIBRGBLC
echo "	  Next nI"                                          >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  n3 := n2 / 11"                                    >> $LIBRGBLC
echo "	  n4 := Int(n3) * 11"                               >> $LIBRGBLC
echo "	  n5 := n2 - n4"                                    >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  If n5 = 0 .Or. n5 = 1"                            >> $LIBRGBLC
echo "	     nDv1 := 0"                                     >> $LIBRGBLC
echo "	  Else"                                             >> $LIBRGBLC
echo "	     nDv1 := 11 - n5"                               >> $LIBRGBLC       
echo "	  EndIf"                                            >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  n2 := n3 := n4 := n5 := 0"                        >> $LIBRGBLC 
echo "	  //"                                               >> $LIBRGBLC
echo "	  For  nI := 11 To 3 Step -1"                       >> $LIBRGBLC
echo "	       n2 := n2 +  Val(Subs(cCPF1,n1,1)) * nI"      >> $LIBRGBLC
echo "	       n1++"                                        >> $LIBRGBLC
echo "	  Next nI"                                          >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  n2 := n2 + (nDv1 * 2)"                            >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  n3 := n2 / 11"                                    >> $LIBRGBLC
echo "	  n4 := Int(n3) * 11"                               >> $LIBRGBLC
echo "	  n5 := n2 - n4"                                    >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  If n5 = 0 .Or. n5 = 1"                            >> $LIBRGBLC
echo "	     nDv2 := 0"                                     >> $LIBRGBLC
echo "	  Else"                                             >> $LIBRGBLC 
echo "	     nDv2 := 11 - n5"                               >> $LIBRGBLC
echo "	  EndIf"                                            >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  cCpf2 := cCpf1 + Str(nDv1,1,0) + Str(nDv2,1,0)"   >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo "	  If ! rgbChkCpf(cCpf2)"                            >> $LIBRGBLC 
echo "	     Loop"                                          >> $LIBRGBLC
echo "	  Else"                                             >> $LIBRGBLC 
echo "	     Exit"                                          >> $LIBRGBLC
echo "	  Endif"                                            >> $LIBRGBLC
echo "	  //"                                               >> $LIBRGBLC
echo " EndDo"                                               >> $LIBRGBLC 
echo " //"                                                  >> $LIBRGBLC
echo "Return(cCPF2)"                                        >> $LIBRGBLC
echo "//"                                                   >> $LIBRGBLC 
#
echo "Function rgbChkCpf(CPFF1)"                                                                         >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo '//Default ltp to .F.,cPS To [ ], cAonde To "   "'							 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo "CONTA = 01"											 >> $LIBRGBLC
echo " "												 >> $LIBRGBLC
echo 'IF CPFF1 = "00000000000" .Or. CPFF1 = Space( 11 )'						 >> $LIBRGBLC
echo "   RETURN (.f.)"											 >> $LIBRGBLC
echo "ENDIF"												 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "lRet := .F."											 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "DO WHILE CONTA <= 09"										 >> $LIBRGBLC
echo '   D     = "0" + STR(CONTA,1)' 									 >> $LIBRGBLC
echo '   D2&D  = VAL(SUBS(CPFF1,CONTA,1))'								 >> $LIBRGBLC
echo "   CONTA = CONTA+1"										 >> $LIBRGBLC
echo "ENDDO"												 >> $LIBRGBLC
echo "//"											         >> $LIBRGBLC
echo "DF4 = 10*D201+9*D202+8*D203+7*D204+6*D205+5*D206+4*D207+3*D208+2*D209"				 >> $LIBRGBLC
echo "DF5 = DF4 / 11"											 >> $LIBRGBLC
echo "DF6 = INT(DF5) * 11"										 >> $LIBRGBLC
echo "RESTO1 = DF4-DF6"											 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "IF RESTO1 = 0 .OR. RESTO1 = 1"									 >> $LIBRGBLC
echo "   PRIDIG = 0"											 >> $LIBRGBLC
echo "ELSE"                                                                                              >> $LIBRGBLC
echo "   PRIDIG = 11-RESTO1"										 >> $LIBRGBLC
echo "ENDIF"												 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "CONTA = 01"											 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "DO WHILE CONTA <= 09"										 >> $LIBRGBLC
echo '   D     = "0" + STR(CONTA,1)'									 >> $LIBRGBLC
echo '   D2&D  = VAL(SUBS(CPFF1,CONTA,1))'								 >> $LIBRGBLC
echo "   CONTA = CONTA+1"										 >> $LIBRGBLC
echo "ENDDO"												 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "DF4 = 11*D201+10*D202+9*D203+8*D204+7*D205+6*D206+5*D207+4*D208+3*D209+2*PRIDIG"                   >> $LIBRGBLC
echo "DF5 = DF4 / 11"											 >> $LIBRGBLC
echo "DF6 = INT(DF5) * 11"										 >> $LIBRGBLC
echo "RESTO1 = DF4-DF6"											 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "IF RESTO1 = 0 .OR. RESTO1 = 1"									 >> $LIBRGBLC
echo "   SEGDIG = 0"											 >> $LIBRGBLC
echo "ELSE"												 >> $LIBRGBLC
echo "   SEGDIG = 11-RESTO1"										 >> $LIBRGBLC
echo "ENDIF"												 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "PRIDIG = STR(PRIDIG,1)"										 >> $LIBRGBLC
echo "SEGDIG = STR(SEGDIG,1)"										 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "IF PRIDIG <> SUBS(CPFF1,10,1) .OR. SEGDIG <> SUBS(CPFF1,11,1)"				         >> $LIBRGBLC
echo "   //"												 >> $LIBRGBLC
echo "   RETURN (lRet)"											 >> $LIBRGBLC
echo "   //"												 >> $LIBRGBLC
echo "ENDIF"												 >> $LIBRGBLC
echo "//"												 >> $LIBRGBLC
echo "Return (.t.)"											 >> $LIBRGBLC
echo "/////////////////"										 >> $LIBRGBLC
echo "//"                                                                                                >> $LIBRGBLC 
echo "* EOF()"                                                                                           >> $LIBRGBLC
echo " "                                                                                                 >> $LIBRGBLC
#
else
   #
   echo "Arquivo $LIBRGBLC Já existe ..."
   #
fi
#
# GENERIC LIB ... qq coisa ...
#
LIBRGBQQ="librgbqq.prg"
#
echo $LIBRGBQQ >> $MKFILE
#
if [ ! -f $LIBRGBQQ ] ; then
   #
   echo "Criando LIB  ...  $LIBRGBQQ ..."
   #
echo "**********************************************************"                               > $LIBRGBQQ
echo "*  Vrs. 0.0.0.01 pre-pre-pre-alpha. 25/03/2014           *"                              >> $LIBRGBQQ 
echo "*  +--------------------------------------------------+  *"                              >> $LIBRGBQQ
echo "*  |                                                  |  *"                              >> $LIBRGBQQ
echo "*  | Script to make (.PRG) mk_prgs_hb.sh  ???????.bat |  *"                              >> $LIBRGBQQ
echo "*  | ------------------------------------------------ |  *"                              >> $LIBRGBQQ 
echo "*  |                                                  |  *"                              >> $LIBRGBQQ
echo "*  | Roberto Gomes Borges (RGB) 1982-2017.            |  *"                              >> $LIBRGBQQ
echo "*  | ------------------------------------------------ |  *"                              >> $LIBRGBQQ
echo "*  | LINUX/Windows/DOS DosBox/DosEmu/VirtualBox. etc. |  *"                              >> $LIBRGBQQ
echo "*  +--------------------------------------------------+  *"                              >> $LIBRGBQQ  
echo "*                                                        *"                              >> $LIBRGBQQ 
echo "**********************************************************"                              >> $LIBRGBQQ
echo " "                                                                                       >> $LIBRGBQQ
#
echo "Function rgbAltC( cFuncao, nLinha, cVariavel )"                                          >> $LIBRGBQQ
echo "//"                                                                                      >> $LIBRGBQQ
echo 'If cFuncao = "rgbAltC"'                                                                  >> $LIBRGBQQ
echo "   //"                                                                                   >> $LIBRGBQQ
echo "   Return"                                                                               >> $LIBRGBQQ
echo "   //"                                                                                   >> $LIBRGBQQ 
echo "Endif"                                                                                   >> $LIBRGBQQ
echo "//"                                                                                      >> $LIBRGBQQ 
echo 'nChoice := Alert("Alt-C: Tem certeza que deseja sair ?",{ "[Sim]","[Nao]" })'            >> $LIBRGBQQ
echo "//"                                                                                      >> $LIBRGBQQ
echo "IF nChoice = 1"                                                                          >> $LIBRGBQQ
echo "   Close All"                                                                            >> $LIBRGBQQ
echo '   SetColor("")'                                                                         >> $LIBRGBQQ
echo "   Quit"                                                                                 >> $LIBRGBQQ
echo "ENDIF"                                                                                   >> $LIBRGBQQ 
echo "//"                                                                                      >> $LIBRGBQQ
echo "Return"                                                                                  >> $LIBRGBQQ
echo "//"                                                                                      >> $LIBRGBQQ
#
echo "Function rgbAmbiente()"                 >> $LIBRGBQQ
echo "   //"                                  >> $LIBRGBQQ
echo "   SET DATE BRIT"                       >> $LIBRGBQQ
echo "   SET (_SET_EPOCH, 1980)"              >> $LIBRGBQQ   
echo '   SET (_SET_DATEFORMAT, "dd/mm/yyyy")' >> $LIBRGBQQ
echo "   SET STAT OFF"                        >> $LIBRGBQQ
echo "   SET SCOR OFF"                        >> $LIBRGBQQ
echo "   SET EXCLU OFF"                       >> $LIBRGBQQ
echo "   SET TALK OFF"                        >> $LIBRGBQQ
echo "   SET CONS ON"                         >> $LIBRGBQQ 
echo "   SET SAFE OFF"                        >> $LIBRGBQQ
echo "   SET DEVI TO SCRE"                    >> $LIBRGBQQ
echo "   SET WRAP ON"                         >> $LIBRGBQQ
echo "   SET DELE ON"                         >> $LIBRGBQQ
echo "   SET PRIN OFF"                        >> $LIBRGBQQ
echo "   SET PRINTER TO"                      >> $LIBRGBQQ
echo "   SET CURS ON"                         >> $LIBRGBQQ
echo "   SET MESSAGE TO MaxRow()"             >> $LIBRGBQQ
echo "   SET ESCA ON"                         >> $LIBRGBQQ
echo "   SET DECI TO 2"                       >> $LIBRGBQQ
echo "   SET FIXE ON"                         >> $LIBRGBQQ
echo "   SET CENTURY ON"                      >> $LIBRGBQQ
echo "   SET DELIMITER OFF"                   >> $LIBRGBQQ
echo "   SET HEADING OFF"                     >> $LIBRGBQQ
echo "   SET BELL OFF"                        >> $LIBRGBQQ
echo "   //"                                  >> $LIBRGBQQ
echo "Return"                                 >> $LIBRGBQQ
echo "//"                                     >> $LIBRGBQQ
echo "*************************************"  >> $LIBRGBQQ
echo "Function Seta_Set()"                    >> $LIBRGBQQ 
echo "   rgbAmbiente()"                       >> $LIBRGBQQ
echo "Return"                                 >> $LIBRGBQQ
echo "//"                                     >> $LIBRGBQQ
echo "*************************************"  >> $LIBRGBQQ
echo "Function RetTrue()"                     >> $LIBRGBQQ
echo "Return(.T.)"                            >> $LIBRGBQQ  
echo "//"                                     >> $LIBRGBQQ
echo "*************************************"  >> $LIBRGBQQ
echo "Function RetFalse()"                    >> $LIBRGBQQ
echo "Return(.F.)"                            >> $LIBRGBQQ
echo "*************************************"  >> $LIBRGBQQ
echo "//"                                     >> $LIBRGBQQ
#
echo 'Function rgbGetFrase(nLetras)'                          >> $LIBRGBQQ
echo '       //'                                              >> $LIBRGBQQ
echo '       Local nI     := 1'                               >> $LIBRGBQQ
echo '       Local cAaZ   := "abcdefghijklmnopqrstuvwxyz"'    >> $LIBRGBQQ
echo '       Local cFrase := ""'                              >> $LIBRGBQQ
echo '       //'                                              >> $LIBRGBQQ
echo '       For nI := 1 To nLetras'                          >> $LIBRGBQQ
echo '	         //'                                          >> $LIBRGBQQ
echo '	         cFrase := cFrase + rgbGetLetra()'            >> $LIBRGBQQ
echo '	         //'                                          >> $LIBRGBQQ
echo '       Next nI'                                         >> $LIBRGBQQ
echo '       //'                                              >> $LIBRGBQQ   
echo 'Return (Upper(cFrase))'                                 >> $LIBRGBQQ
echo '//'                                                     >> $LIBRGBQQ
echo 'Function rgbGetLetra()'                                 >> $LIBRGBQQ
echo '       //'                                              >> $LIBRGBQQ
echo '       Local cAaZ := "abcdefghijklmnopqrstuvwxyz"'      >> $LIBRGBQQ
echo '       Local cLetraAaZ := ""'                           >> $LIBRGBQQ
echo '       //'                                              >> $LIBRGBQQ
echo '       //cLetraAzZ := Subs(cAaZ,Int(rgbRND_POS(26)),1)' >> $LIBRGBQQ
echo '       cLetraAaZ := Subs(cAaZ,Int(rgbRandom(26)),1)'    >> $LIBRGBQQ 
echo '       //'                                              >> $LIBRGBQQ
echo 'Return( Upper(cLetraAaZ) )'                             >> $LIBRGBQQ
echo '//'                                                     >> $LIBRGBQQ
#
echo "***********************************"              >> $LIBRGBQQ
echo "Function rgb_MyPi()"                              >> $LIBRGBQQ 
echo "Return(3.1415926535897932384626433)"              >> $LIBRGBQQ 
echo "***********************************"              >> $LIBRGBQQ
echo "//"                                               >> $LIBRGBQQ
#
echo "************************************"             >> $LIBRGBQQ
echo "Function rgbCompNum(v1,v2,nD)"                    >> $LIBRGBQQ
echo "************************************"             >> $LIBRGBQQ
echo "// Pegue de um colega aqui do forum."             >> $LIBRGBQQ
echo "If nD  = 0"                                       >> $LIBRGBQQ
echo "   nD := 2"                                       >> $LIBRGBQQ
echo "EndIf"                                            >> $LIBRGBQQ
echo "//"                                               >> $LIBRGBQQ
echo "Return Str(v1*(10**nD),18)==Str(v2*(10**nD),18)"  >> $LIBRGBQQ
echo "//"                                               >> $LIBRGBQQ
echo " "                                                >> $LIBRGBQQ
#
echo "***************************"                      >> $LIBRGBQQ
echo "Function rgbMyZero()"                             >> $LIBRGBQQ
echo 'Return(Val("0"))'                                 >> $LIBRGBQQ
echo "***************************"                      >> $LIBRGBQQ
echo " "                                                >> $LIBRGBQQ
#
echo "*************************"                        >> $LIBRGBQQ
echo "Function rgbMyUm()"                               >> $LIBRGBQQ
echo 'Return(Val("1"))'                                 >> $LIBRGBQQ
echo "*************************"                        >> $LIBRGBQQ
echo " "                                                >> $LIBRGBQQ
#
echo "Function rgb_fk_cpu()"                                                                   >> $LIBRGBQQ
echo "//"                                                                                      >> $LIBRGBQQ
#echo 'Local nLcntLoops1 := 0, nLcntLoops2 := 0, nLcnt :=0'                                     >> $LIBRGBQQ
#echo 'Local cFn1L,cFn2L,cFn3L :=""'                                                            >> $LIBRGBQQ
echo "//"                                                                                      >> $LIBRGBQQ
echo "nLcntLoops1 := 0"                                                                        >> $LIBRGBQQ
echo "nLcntLoops2 := 0"                                                                        >> $LIBRGBQQ
echo "nLcnt       := 0"                                                                        >> $LIBRGBQQ
echo 'cFn1L       := ""'                                                                       >> $LIBRGBQQ
echo 'cFn2L       := ""'                                                                       >> $LIBRGBQQ
echo 'cFn3L       := ""'                                                                       >> $LIBRGBQQ
echo "//"                                                                                      >> $LIBRGBQQ
echo "For  nLcntLoops1 := 1 To 16"                                                             >> $LIBRGBQQ
echo "     //"										       >> $LIBRGBQQ
echo "     For  nLcntLoops2 := 1 To 2048"                             			       >> $LIBRGBQQ
echo "          //"                                                                            >> $LIBRGBQQ
echo "          cFn1L := Subs(cAaZ,nLcntLoops1,1)"                                             >> $LIBRGBQQ
echo '          cFn2L := "rgba&cFn1"'                                                          >> $LIBRGBQQ
echo '          cFn3L := cFn2L+"Fn"+AllTrim(Str(nLcntLoops2,5,0))+"(0)"'                       >> $LIBRGBQQ
echo "          //"                                                                            >> $LIBRGBQQ 
echo "          nLcnt := nLcnt + &cFn3L"                                                       >> $LIBRGBQQ
echo "          //"                                                                            >> $LIBRGBQQ 
echo "          rgbCntLoops(ProcName())"                                                       >> $LIBRGBQQ
echo "          //"                                                                            >> $LIBRGBQQ 
echo "     Next nLcntLoops2"                                                                   >> $LIBRGBQQ
echo "     //"                                                                                 >> $LIBRGBQQ
echo "Next nLcntLoops1"                                                                        >> $LIBRGBQQ
echo "//"                                                                                      >> $LIBRGBQQ
echo "Return(Nil)"                                                                             >> $LIBRGBQQ
echo "//"                                                                                      >> $LIBRGBQQ 
echo "* EOF()"                                                                                 >> $LIBRGBQQ
echo " "                                                                                       >> $LIBRGBQQ
#
else
   #
   echo "Arquivo $LIBRGBQQ Já existe ..."
   #
fi
#for i in `seq 1 10` ;          do echo $i ; done 
#for I in {1..10};              do echo $I ; done
#for I in 1 2 3 4 5 6 7 8 9 10; do echo $I ; done
#for I in $(seq 1 10);          do echo $I ; done
#
#K=$((64)) # Total de OBJ'S 
#
echo "Aguarde ..."
#
for ((i=1; i <= $K ; i++)) ; do
    #
    J=$((i+1))
    # 

    if [ ! -f fn$i.prg ] ; then

    echo "**********************************************************"   > fn$i.prg
    echo "*  Vrs. 0.0.0.01 pre-pre-pre-alpha. 25/03/2014           *"  >> fn$i.prg 
    echo "*  +--------------------------------------------------+  *"  >> fn$i.prg
    echo "*  |                                                  |  *"  >> fn$i.prg
    echo "*  | Script to make (.PRG) mk_prgs_hb.sh  ???????.bat |  *"  >> fn$i.prg
    echo "*  | ------------------------------------------------ |  *"  >> fn$i.prg 
    echo "*  |                                                  |  *"  >> fn$i.prg
    echo "*  | Roberto Gomes Borges (RGB) 1982-2017.            |  *"  >> fn$i.prg
    echo "*  | ------------------------------------------------ |  *"  >> fn$i.prg
    echo "*  | LINUX/Windows/DOS DosBox/DosEmu/VirtualBox. etc. |  *"  >> fn$i.prg
    echo "*  +--------------------------------------------------+  *"  >> fn$i.prg  
    echo "*   e-mail .: robertolinux (at) gmail.com                *"  >> fn$i.prg 
    echo "**********************************************************"  >> fn$i.prg
    #
    echo "Criando Arquivo ... " fn$i.prg
    #
    echo " "                                                       >> fn$i.prg
    #
    echo '#include "fileio.ch"'                                    >> fn$i.prg
    echo '#include "inkey.ch"'                                     >> fn$i.prg
    # 
    echo " "                                                       >> fn$i.prg
    # 
    echo "#define F_BLOCK 512"                                     >> fn$i.prg
    echo "#define K_ALTC  302"                                     >> fn$i.prg
    # 
    echo " "                                                       >> fn$i.prg
    echo "/*"                                                      >> fn$i.prg
    echo " "                                                       >> fn$i.prg
    echo "by Roberto Borges (RGB) 1982-2017"                       >> fn$i.prg
    echo "Fortaleza,Ce (BR) - $DATE"                               >> fn$i.prg
    echo $OS                                                       >> fn$i.prg
    echo " "                                                       >> fn$i.prg
    echo "*/"                                                      >> fn$i.prg
    echo " "                                                       >> fn$i.prg
    #
    echo "Function" Fn$i"(cPar)"                                   >> fn$i.prg
    echo "*********************"                                   >> fn$i.prg
    echo "//"                                                      >> fn$i.prg
    echo "// Faz/Verifica alguma coisa ao entrar na Funcao"        >> fn$i.prg
    echo "//"                                                      >> fn$i.prg
    #
    for qq in $(seq 1 $BLVARLOC); do
        echo 'Local cLrgb'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" ' >> fn$i.prg 
    done
    # 
    echo "//"                                                      >> fn$i.prg
    #
    for qq in $(seq 1 $BLVARPUB); do
        #echo 'Public cPrgb'${i}'_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" ' >> fn$i.prg 
        echo 'Public cPrgb_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" ' >> fn$i.prg 
    done
    # 
    echo "//"                                                      >> fn$i.prg
    #
    echo "*******************"                                     >> fn$i.prg
    echo "rgbInFn(ProcName())"                                     >> fn$i.prg   
    echo "*******************"                                     >> fn$i.prg
    echo "//"                                                      >> fn$i.prg
    echo "cBuffer := SPACE(F_BLOCK)"                               >> fn$i.prg 
    echo "//"                                                      >> fn$i.prg
    echo "rgbMyCls()"                                              >> fn$i.prg
    echo "//"                                                      >> fn$i.prg
    #
    echo "? Date(),Time()"                                         >> fn$i.prg
    echo '? "Quem me Chamou ...: "', "cPar"                        >> fn$i.prg
    echo '? "Quem sou Eu ......: "', "rgbQuemSouEu()"              >> fn$i.prg
    echo '? "  "'                                                  >> fn$i.prg
    #
    echo "//"                                                      >> fn$i.prg
    echo "Do While (.t.)"                                          >> fn$i.prg
    echo "   //"                                                   >> fn$i.prg
    echo "   rgbFazAlgo(ProcName())"                               >> fn$i.prg
    echo "   Exit"                                                 >> fn$i.prg
    echo "   //"                                                   >> fn$i.prg
    echo "EndDo"                                                   >> fn$i.prg
    echo "//"                                                      >> fn$i.prg
    #
    # M = Total de Funcoes Estaricas dentro dos OBJ'S 
    #    
    for ((l=1; l <= $M ; l++)) ; do
        #
        N=$((l+1))
        #
        if [ $l -eq 1 ]
        then
           if [ $STATIC_S_N == "S" ] ; then
              echo L_Fn$l"()"                                  >> fn$i.prg
           else
              echo L_"fn$i"_Fn$l"()"                           >> fn$i.prg
           fi
           #
           echo "//"                                               >> fn$i.prg
           echo "// Faz/Verifica alguma coisa ao sair da Funcao"   >> fn$i.prg
           echo "//"                                               >> fn$i.prg
           echo "********************"                             >> fn$i.prg
           echo "rgbOutFn(ProcName())"                             >> fn$i.prg   
           echo "********************"                             >> fn$i.prg
           echo "//"                                               >> fn$i.prg
           echo "Return(Nil)"                                      >> fn$i.prg
           echo "//"                                               >> fn$i.prg
        fi
        #
        if [ $STATIC_S_N == "S" ] ; then
           echo "   Criando Funcao Static ... " L_Fn$l
        else
           echo "   Criando NOT Static Funtion ... " L_"fn$i"_Fn$l
        fi
        #
        echo "********************************************************************"                                                         >> fn$i.prg
        #
        if [ $STATIC_S_N == "S" ] ; then
           echo "Static Function" L_Fn$l"(cPar)"                                                                                        >> fn$i.prg
        else
           echo "Function" L_"fn$i"_Fn$l"(cPar)"                                                                                        >> fn$i.prg
        fi
        #
        echo "********************************************************************"                                                         >> fn$i.prg
        echo "//"                                                                                                                           >> fn$i.prg
        echo "Local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"                                                                    >> fn$i.prg
        echo 'Local cDiaSemNM := "Dom,Seg,Ter,Qua,Qui,Sex,Sab"'                                                                             >> fn$i.prg
        echo 'Local cDiaSemNR := "1,2,3,4,5,6,7"'                                                                                           >> fn$i.prg
        echo 'Local cDiaMes   := "31x28x31x30x31x30x31x31x30x31x30x31"'                                                                     >> fn$i.prg
        echo 'Local cMesAno   := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez"'                                                         >> fn$i.prg
        echo 'Local n2e33     := (2**33)'                                                                                                   >> fn$i.prg
        echo 'Local n2e62     := (2**62)'                                                                                                   >> fn$i.prg  
        echo 'Local cAaZ      := "abcdefghijklmnopqrstuvwxyz"'                                                                              >> fn$i.prg
        echo 'Local c0a9      := "0123456789"'                                                                                              >> fn$i.prg             
        echo "Local dDtHoje   := Date()"                                                                                                    >> fn$i.prg
        echo 'Local nMyPIl    := 3.1415926535897932384626433'                                                                               >> fn$i.prg   
        echo 'Local nMyPIf    := rgb_MyPi()'                                                                                                >> fn$i.prg
        echo 'Local cNm       := ""'                                                                                                        >> fn$i.prg
        echo "Local aLcpf     := {}"                                                                                                        >> fn$i.prg
        echo 'Local aLnm      := {}'                                                                                                        >> fn$i.prg
        echo 'Local aLnm2     := {}'                                                                                                        >> fn$i.prg
        echo 'Local cCPF      := ""'                                                                                                        >> fn$i.prg 
        echo "Local aArrayn   := {}"                                                                                                        >> fn$i.prg 
        echo "Local aArrayn2  := {}"                                                                                                        >> fn$i.prg 
        echo "Local aArray0   := {0,1,2,3,4,5,6,7,8,9}"                                                                                     >> fn$i.prg 
        echo "Local aArray1   := {'0','1','2','3','4','5','6','7','8','9'}"                                                                 >> fn$i.prg 
        echo 'Local aArray2   := {"0","1","2","3","4","5","6","7","8","9"}'                                                                 >> fn$i.prg 
        echo "Local aArray3   := {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}"                                                     >> fn$i.prg 
        echo "Local aArray4   := {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}" >> fn$i.prg 
        echo 'Local aArray5   := {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}' >> fn$i.prg 
        echo "//"                                                                                                                           >> fn$i.prg
        #
        for qq in $(seq 1 $BLVARLOC_F); do
            echo 'Local cLrgb'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" '    >> fn$i.prg 
        done
        #
        echo "//"                                                                              >> fn$i.prg
        #
        for qq in $(seq 1 $BLVARPUB_F); do
            #echo 'Public cPrgbF'${l}'_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" ' >> fn$i.prg 
            echo 'Public cPrgb_'${qq}' := "JanxFevxMarxAbrxMaixJunxJulxAgoxSetxOutxNovxDez" ' >> fn$i.prg 
        done
        #
        echo "//"                                                                              >> fn$i.prg
        # 
        echo "rgbFazAlgo(ProcName())"                                                          >> fn$i.prg
        echo "//"                                                                              >> fn$i.prg
        echo " "                                                                               >> fn$i.prg
        echo "/*"                                                                              >> fn$i.prg   
        echo " "                                                                               >> fn$i.prg
        echo "Gera C.P.F apenas para causar um delay no processamento e consumo de memoria..." >> fn$i.prg
        echo " "                                                                               >> fn$i.prg
        echo "*/"                                                                              >> fn$i.prg
        echo " "                                                                               >> fn$i.prg
        echo "//"                                                                              >> fn$i.prg
        #
        echo " "                                                                               >> fn$i.prg
        #
        #echo "/*"                              >> fn$i.prg
        #
        echo " "                                                                               >> fn$i.prg
        # 
        echo "For a := 1 To 32"                >> fn$i.prg
        echo "    //"                          >> fn$i.prg 
        echo "    cCPF := rgbGeraCpf()"        >> fn$i.prg
        echo "    cNm  := rgbGetFrase(1024)"   >> fn$i.prg
        echo "    //"                          >> fn$i.prg
        echo "    For b := 1 To 64"            >> fn$i.prg
        echo "        //"                      >> fn$i.prg
        echo "        aAdd(aGcpf2,cCPF)"       >> fn$i.prg
        echo "        aAdd(aArrayn,cCPF)"      >> fn$i.prg
        echo "        aAdd(aGnm2,cNm)"         >> fn$i.prg
        echo "        aAdd(aLnm,cNm)"          >> fn$i.prg       
        echo "        //"                      >> fn$i.prg 
        echo "        //rgb_fk_cpu()"          >> fn$i.prg 
        echo "        rgbCntLoops(ProcName())" >> fn$i.prg 
        echo "        //"                      >> fn$i.prg 
        echo "    Next b"                      >> fn$i.prg
        echo "    //"                          >> fn$i.prg 
        echo "Next a"                          >> fn$i.prg
        echo "//"                              >> fn$i.prg
        echo " "                               >> fn$i.prg
        #
        #echo "*/"                              >> fn$i.prg
        #
        if ! [ $N -gt $M ] # Se nao for a ultima funcao do loop.
        then
           #          
           if [ $STATIC_S_N == "S" ] ; then
              echo L_Fn$N"()"                                                                                                          >> fn$i.prg
           else
              echo L_"fn$i"_Fn$N"()"                                                                                                   >> fn$i.prg
           fi
           #
        else
           #
           echo "//"                                                                                                                        >> fn$i.prg
           echo "// Chama a Proxima Funcao, em caso de nao ser a ultima"                                                                    >> fn$i.prg
           echo "//"                                                                                                                        >> fn$i.prg
           #
           if ! [ $J -gt $K ] # Se nao for a ultima funcao do loop.
           then 
              echo Fn$J"(rgbQuemSouEu())"                                                                                                   >> fn$i.prg
           else
              echo "// NOP NOP NOP NOP !!! Ultima Funcao do Loop"                                                                           >> fn$i.prg
           fi
           #
           echo "//"                                                                                                                        >> fn$i.prg
        #
        fi
        #
        echo "//"                                                                                                                           >> fn$i.prg
        echo "Return(Nil)"                                                                                                                  >> fn$i.prg  
        echo "//"                                                                                                                           >> fn$i.prg
        echo "********************************************************************"                                                         >> fn$i.prg
        echo " "                                                                                                                            >> fn$i.prg
        #
    done
    #
    echo "//"                                               >> fn$i.prg
    #
    echo "******************************"                   >> fn$i.prg
    echo "Static Function rgbQuemSouEu()"                   >> fn$i.prg
    echo 'Return("'Fn$i"()"'")'                             >> fn$i.prg
    echo "******************************"                   >> fn$i.prg
    echo " "                                                >> fn$i.prg
    echo "* EOF"                                            >> fn$i.prg
    #
    else
       #
       echo "Arquivo fn$i.prg Já existe ..."
       #
    fi
    # 
    if ! [ $J -gt $K ]
    then 
      #echo "fn""${i%%.*}"".obj \\" >> $MKFILE
       echo "fn""${i%%.*}"".prg" >> $MKFILE
    else
      #echo "fn""${i%%.*}"".obj"    >> $MKFILE
       echo "fn""${i%%.*}"".prg"    >> $MKFILE
    fi
    #
done
#
echo " "                            >> $MKFILE
#
DTFIN=`date +%Y-%m-%d-%H:%M:%S`
#
echo " "
echo "Script Start ...:" $DTINI 
echo "Script End .....:" $DTFIN 
echo " "
#
echo "Now type ... (Digite a sequencia de comandos abaixo)"
echo " "
echo 'time hbmk2 main.prg librgblc.prg librgbqq.prg $(ls librgba?.prg) $(ls librgbb?.prg) $(ls fn*.prg) -otest'
echo "ou"
echo "time hbmk2 test.hbp"
echo "time strip test"
echo "time upx -9v test"
echo "time ./test"
echo " "
#
#echo ".prg.c:"                                       >> $MKFILE
#echo 'echo "******************************"'         >> $MKFILE
#echo 'echo "*** Criando arquivo FONTE C ** -=> $@"'  >> $MKFILE
#echo 'echo "******************************"'         >> $MKFILE
#echo '     harbour $(StdOpt) $*.prg'                 >> $MKFILE
#
echo " "                                             >> $MKFILE
#
#echo ".c.obj:"                                       >> $MKFILE
#echo 'echo "******************************"'         >> $MKFILE
#echo 'echo "*** Criando arquivo OBJETO *** -=> $@"'  >> $MKFILE
#echo 'echo "******************************"'         >> $MKFILE
#echo '     bcc32 $(Flags) $*.c'                      >> $MKFILE
#
echo " "                                             >> $MKFILE
#
#echo '$(ExeName): $(OBJ1)'                           >> $MKFILE
#echo 'echo "***********************"'                >> $MKFILE
#echo 'echo "*** Criando BINARIO *** -=> $(ExeName)"' >> $MKFILE
#echo 'echo "***********************"'                >> $MKFILE
#echo '     ilink32 -Gn -Tpe -s -v $(OBJ0) $(OBJ1),$(ExeName),,$(LIBS)' >> $MKFILE
#
echo " "        >> $MKFILE
#
#echo ".SILENT:" >> $MKFILE
#
#for i in $(ls *.prg) ; do echo "${i%%.*}"".obj\\" >> lista  ; done

