| Que es amake?
| What is amake? |
| En esta pagina http://aubit4gl.sourceforge.net/aubit4gldoc/manual/html/amake.html Andrej explica su
funcionamiento y opciones.
|
|
| En resumen es como el make pero sirve para cualquier x4GL (Aubit, 4JS,
i4GL, etc.) y sus reglas no son tan sangronas como el make.
|
|
| La estructura es mas sencilla, y es un archivo por 'target' o programa.
|
|
PROG = testmk
GLOBALS.4gl = globdef.4gl
FILES.4gl = \
${GLOBALS.4gl} \
testmk.4gl \
utility.4gl
FILES.per = \
testmk.per
|
| Generando archivos .mk de la base syspgm4gl (RDS)
| Generating .mk files from RDS syspgm4gl database |
| Amake ya tiene sus utilierias para convertir viejos archivos de make a .mk
(prepmake y genmake) , pero
si eres como yo que usa el sistema RDS para compilar los programas tendras que
generar tus archivos .mk a mano.
|
|
| Yo tengo este script que me genera el archivo mk para un programa, lee la
informacion de la base de datos syspgm4gl que es el default de Informix 4GL RDS.
|
|
#!/bin/bash
if [ a$1 = a ]
then
echo "usage: $0 progname"
exit 1
fi
work=$1.tmp
file=$1.mk
db=syspgm4gl
echo "PROG\\t= $1" >$work
echo " " >>$work
echo "GLOBALS.4gl\\t=\\t\\" >>$work
dbaccess $db - <&1 | grep "/" >>$work
select distinct "\\t"||trim(nvl(gpath,"."))||"/"||trim(globname)||".4gl\\t\\"
from global
where progname = "$1"
order by 1
EOD
echo " " >>$work
echo " " >>$work
echo "FILES.4gl\\t=\\t\${GLOBALS.4gl} \\" >>$work
dbaccess $db - <&1 | grep "/" >>$work
select distinct "\\t"||trim(nvl(spath,"."))||"/"||trim(fglsourcename)||".4gl\\t\\"
from source4gl
where progname = "$1"
order by 1
EOD
echo " " >>$work
echo " " >>$work
sed -e 's/\\t/ /g;s/ *$//' $work >$file
rm $work
|
| Como mencione anteriormente, yo compilo todas las formas con otro script, por lo
cual no las agrego en el archivo .mk.
|
| Uso de varias bases de datos
| Using several databases |
|
|
|
| Cambio de bases de datos
| Switching databases |
|
|
| | |