Ver la versión completa : Programar para la caanoo en Ubuntu
BUeno, como dice el titulo esto va de como programar para Caanoo en Ubuntu.
Desde mayo uso casi exclusivamente ubuntu, a windows no le hago ni caso, ya que me gusta mucho el nuevo escritorio de Gnome. Por lo tanto tengo un poco apartado el tema de programar para la caanoo, pero me gustaria recuperarlo. Ya me monte mi entorno con codeblocks para win siguiendo el tuto de hardyx... Y ahora lo quiero para ubuntu. ¿Alguien me puede hchar una mano (al cuello)?
:brindis:
Pues si ya lo hiciste en codeblocks para win, en codeblocks para linux es igual ;)
La única diferencia es que donde en win ponías "c:\openwiz" ahora tendrás que poner (probablemente) "/opt/openwiz"
Por suerte CodeBlocks es multiplataforma, solo tienes que instalar el toolchain, crear un nuevo perfil para Caanoo y apuntar a los directorios correctos.
@HARDYX
en tu tuto (http://www.gp32spain.com/foros/showthread.php?t=78315&highlight=toolchain+caanoo), en la parte de crear plantilla... no tengo Gp2x_template.cbp.
Una posible solucion?
bitrider
07/09/2011, 07:52
Yo prefiero tirar de gedit y makefiles.
Yo prefiero tirar de gedit y makefiles.
vale, no se usar makefiles:brindis:
alguien me enseña?
Alguien me dice donde encontrar un buen tuto?
La idea básica de los Makefiles es que son como un .bat. Tienen varias secciones, y dentro de cada sección el grupo de comandos que quieras ejecutar:
seccion1:
comando1
comando2
comando3
seccion2:
comando1
comando2
seccion3: seccion2
comando5
comando6
(los espacios al inicio de las líneas son tabuladores. Obligatoriamente)
Ese archivo lo guardas como Makefile y ya está. Para ejecutar la seccion1 escrines "make seccion1". Para ejecutar la seccion3, escribes "make seccion3". Fíjate que donde se define la seccion3 se indica de qué secciones depende: en este caso de seccion2, así que "make seccion3" ejecutará antes "seccion2".
Si pones "make", sin más, se ejecuta la primera sección. Por tradición la primera sección se llama "all", pero es una tradición que no tienes por qué seguir.
Las seccions y sus dependencias pueden ser archivos reales. Por ejemplo:
programa: main.o funciones.o
gcc -o programa main.o funciones.o
main.o: main.c
gcc -c main.c
funciones.o: funciones.c
gcc -c funciones.c
programa depende de main.o y funciones.o, y estos a su vez de main.c y funciones.c. Si modificas funciones.c, se compilará funciones.o y programa, pero no main.o. Y así.
Las secciones pueden usar wildcards. "%.o" es una sección para crear archivos .o. El código de arriba puede escribirse también de forma equivalente:
programa: main.o funciones.o
gcc -o programa main.o funciones.o
%.o: %.c
gcc -c %<
%< significa "el archivo que ha hecho saltar la regla"
Puedes usar variables. Siguiendo con el mismo ejemplo de Makefile:
CC=gcc
CFLAGS=-O -Wall
OBJS=main.o funciones.o
all: $(OBJS)
$(CC) -o programa $(OBJS)
%.o: %.c
$(CC) $(CFLAGS) -c %<
Además, hay algunas secciones que se usan tanto que no es necesario escribirlas. Por ejemplo, la de "%.o: %.c": no la escribas, make ya supone que está:
CC=gcc
CFLAGS=-Wall -O
OBJS=main.o funciones.o
all: $(OBJS)
$(CC) -o programa $(OBJS)
(recuerda que la sección implícitamente declarada para compilar código C va a usar la variable $(CC) para el nombre del compilador, y $(CFLAGS) para las opciones del compilador.
Y ya está, no tienes que saber más de Makefiles.
Hay un libro de O'really sobre los makefiles, yo aprendí de ahí... pero ya se me ha olvidado todo XD
Con un IDE como Codeblocks no es necesario usar makefiles, aunque sea bueno conocerlos. Aunque no tengas la plantilla de GP2X puedes crear un perfil a mano, de hecho hay un mini tutorial de GPH para configurarlo en el SDK.
Este manual sobre makefiles está muy bien:
http://macprogramadores.org/documentacion/make.pdf
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.