16 de Julio 2004

Optimizando... 4 parte y ultima

Aqui se termina de configurar el resto del Make...


Ahora viene la parte donde va a colgar nuestra aplicacion, y aqui veremos
como tenemos que definir que ficheros van a formar parte de nuestra
aplicacion. Este sera otro fichero Makefile, como no ;-)

Pero este Makefile simplemente selecciona a otro , ya dije que veremos
tanto Windows como GNU/Linux, dependiendo de la variable de entorno o la macro
HB_COMPILER.

Entonces, el fichero principal de GNU Make para test ejecuta esto:

ifeq ($(HB_COMPILER),mingw32)
include Makefile.mingw32
else
include Makefile.linux
endif

Obviamente, se podria haber mejorado solamente en la creacion de un unico
fichero, pero aqui como puedes ver, selecciona uno u otro.

Miraremos el Makefile.mingw32 para que veais como debeis de montarlo.


TARGET = demo # NOMBRE DEL PROGRAMA
SOURCES = demo.prg demo2.prg # LISTA DE PRGS QUE FORMAN EL PROGRAMA
PRGFLAGS=-I../include # FLAGS PARA HARBOUR
LIBS= -L../LIB -lMisLib `pkg-config --libs gtk+-2.0` #LIBRERIAS PARA LINKAR
include ../Rules.make

Ya tenemos disponible el sistema para empezar a jugar con el.

Ahora solamente nos falta mirar como llamar a todos ellos.
En nuestro directorio raiz, tendremos un fichero llamado Makefile, que
contiene las ordenes que debe de ejecutar:


##################################
# Makefile principal
##################################

all:
make -C src
make -C c_lib

clean:
make -C src clean
make -C c_lib clean
make -C tests clean

install: all
make -C src install
make -C c_lib install

.PHONY: clean install

[Nota: Para los que usan Mingw32 desde linea de comandos de Windos, el make
como tal no existe, se llama mingw32-make, solamente teneis que cambiarle
el nombre ]


Dicho fichero lo unico que hace es ejcutar el make segun le pasamos
parametros. Por ejemplo:
c:\mi proyecto\>Make all
Creara las librerias de SRC y C_LIB

c:\mi proyecto\>Make install
Esta es muy buena, para instalar las librerias, tendra que ejecutar all y
despues se ira a copiar al directorio LIB las librerias generadas.

c:\mi proyecto\>Make clean
Lo que hace es borrar todos los ficheros necesarios para permitir volver a
generar el ejecutable, dicho sea de paso, tambien se cargara a dicho
ejecutable.

Ya esta ? Casi.... como debeis recordar, en TESTS funciona distinto, porque
podemos tener varios Makefiles para distintos proyectos.

En ese caso, simplemente nos vamos al directorio y ejecutamos Make,
y te generara el ejecutable en cuestion.

Podemos crear distintos nombres por aplicacion que queramos generar, y llamar
al Make como : Make -f MiAplicacion1

Una vez que tengamos configurado este sistema o similar, mirar que sencillo,
es tener todo el control en un par de lineas:


C:\Mi Proyecto\>Make clean
C:\Mi Proyecto\>Make install
C:\Mi Proyecto\>cd TESTS
C:\Mi Proyecto\TESTS\>Make
o otro make
C:\Mi Proyecto\TESTS\>Make -f SegundoMake

Ya esta! Se termino.....

Creo que esto terminara con muchos de los problemas actuales a la hora
de tener que estar generando librerias, compilar codigo, etc...

Solamente tendremos que tener especial cuidado en meter los prgs que formen
parte de nuestra aplicacion, el resto, ya se encargara Make de mantenerlo.

Espero al menos iluminaros un poco para que podais investigar por vuestros propios medios otros sistemas distintos pero con la misma filosofia, la sencillez de generar aplicaciones y/o librerias no nos supongan un calvario.

Saludos.


Escrito por Rafa Carmona a las 16 de Julio 2004 a las 04:55 PM
Comentarios
Escribir un comentario









¿Recordar informacion personal?