Autor Tema: Compilar un proyecto que usa un makefile  (Leído 1731 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Compilar un proyecto que usa un makefile
« en: 12 de Mayo de 2009, 18:33:26 »
Hola a todos!

Estoy intentando compilar una librería llamada GSL. Esta librería contiene funciones para cálculos matemáticos en general (matrices, complejos, derivadas, estadística...).
Contiene un muchos archivos .c y .h repartidos por varias carpetas. Para poder usarla primero hay que indicarle al compilador donde se encuentran las cabeceras de las funciones y desde linux se puede hacer con comandos típicos como make y configure, despues simplemente podemos compilar cualquier programa con un comando como "gcc HelloWorldGsl.c" y ya tendremos nuestro ejecutable listo...

¿Cómo se puede utilizar una librería de este tipo con un entorno de desarrollo como el MPLAB?,¿y en el CCS?
¿Alguien lo ha hecho?
¿Alguna idea?
...

En la red hay muchos programas open source muy útiles que nos pueden ser de gran ayuda en los proyectos...pero aún no he encontrado la manera de aprovecharlos para mis PICs!

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Compilar un proyecto que usa un makefile
« Respuesta #1 en: 13 de Mayo de 2009, 17:59:33 »
Estoy seguro de que alguien tiene que saber algo!!!
Este foro tiene 20000 usuarios, así que alguno tiene que tener mi repuesta. El problema esta en que hasta ahora solo 20 personas han leído el post...

Aquí he encontrado algo de información ligeramente relacionada con lo que quiero hacer:
http://www.chuidiang.com/clinux/herramientas/makefile.php
http://forums.codeblocks.org/index.php?topic=9485.0

¿Es tan difícil que un IDE tenga incorporada la utilidad make que tanto se usa en entornos Linux?


Desconectado elmasvital

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 1713
Re: Compilar un proyecto que usa un makefile
« Respuesta #2 en: 13 de Mayo de 2009, 18:07:30 »
Creo que no te entiendo la verdad...

para incluir otro archivo en un proyecto tienes la instrucción include "archivo.c" o "archivo.h"
algunos archivos necesitan tener declaradas algunas variables mediante #defines. Tendras que abrir el archivo en cuestión para determinar si es necesario...

Por otro lado no se si lo que buscas hacer es compilar desde el modo comando... pero no entiendo para qué querrias tal cosa.

1 saludo

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Compilar un proyecto que usa un makefile
« Respuesta #3 en: 13 de Mayo de 2009, 18:16:56 »
Hola Jgpeiro

No te desesperes.  :mrgreen:

Es difícil que te contesten porque es un tema nuevo. Yo sí he usado los makefiles pero en ambiente gcc para compilar ejecutables del Nintendo Gamecube pero he visto otros makefiles para otros ambientes y no se parecen. Dudo que te pueda ayudar pero lo que es seguro es que dependiendo del ambiente será la estructura del makefile.

Adjunto el makefile que yo usaba. Nunca entendí cómo se creaban, yo solo modificaba la línea:

Código: [Seleccionar]
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS := -lfat -logc -lfreetype -ljpeg

... para agregar librerías.

Te lo dejo como ejemplo por si te llega a servir de algo.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Compilar un proyecto que usa un makefile
« Respuesta #4 en: 13 de Mayo de 2009, 19:16:34 »
Hola, te aclaro que no soy usario de CCS ni de MPLAB, pero si conozco sobre makefiles y esas yerbas. Segun que herramientas se dispongan se deberia hacer de esta manera:

Command line

Si el entorno de programacion tambien incluye las versiones command line, deberias especificarle al compilador donde buscar los archivos headers ( *.h ), normalmente en casi todos los compiladores eso se hace con la opción -I, en algunos podes repetir esta opción, en otros separas los paths con punto y coma. Normalmente los programas de lineas de comandos con la opción -? o -h te devuelven todas los valores posibles de opciones que dispone o sino consulta al help.
No hace falta hacer un make, podes hacerlo tipo batch con la compilación de cada archivo involucrado y al final el linker.

GUI
Normalmente en el entorno de desarrollo visual es maf facil, seguramente estos entornos deben tener la opccion de crear proyectos, ahi debes sumar todos los archivos C que existan, y en opciones deberas agregar todos los paths donde estan los headers correspondientes. Deberias recompilar el proyecto y ok !

Por último, cuando se hacen estas cosas portables normalmente el còdigo deberia estar escrito en puro ANSI C, lamentablemente el CCS no es full ANSI C y seguramente cuando intentes compilar fuentes de otro lado te van a saltar errores de compilación, con lo cual deberas tocas el mismo.

Espero te sirva, saludos !