Desarrollo de videojuegos para PSP con C++ y SDL/El makefile

De Wikilibros, la colección de libros de texto de contenido libre.

El makefile para compilar proyectos para PSP tiene ciertas particularidades dignas de mención en esta humilde guía.



Jerarquía de directorios[editar]

Vamos a suponer que tenemos la siguiente jerarquía de directorios:

  • Proyecto
    • makefile
    • main.cpp
    • engine
      • ficheros.cpp
      • ficheros.h


El makefile[editar]

Nuestro makefile sería algo similar a lo siguiente:


#Proyecto
TARGET = Nombre del proyecto
SDL_CONFIG = $(PSPBIN)/sdl-config

# Rutas
MOTOR_DIR := engine

# Ficheros fuente del juego
SRC := main.cpp

# Ficheros fuente del motor.
SRC_MOTOR := ficheros.o del motor

# motor_dir + fuentes
SRC_DIR_MOTOR := $(foreach src, $(SRC_MOTOR),$(MOTOR_DIR)/$(src) )

# Objetos
OBJS := $(SRC:%.cpp=%.o) $(SRC_DIR_MOTOR:%.cpp=%.o)

INCDIR =
CFLAGS = $(shell $(SDL_CONFIG) --cflags) -G0 -Wall -O2 -DPSP
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti -D"TIXML_USE_STL"
ASFLAGS = $(CFLAGS)

LIBDIR =
LDFLAGS =
LIBS = -lstdc++ -lsupc++ -lSDL_gfx -lSDL_image -lSDL_mixer -lSDL_ttf -lfreetype \
	-lpng -ljpeg -lvorbisidec -lz -lm $(shell $(SDL_CONFIG) --libs)


EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Nombre del proyecto
PSP_EBOOT_ICON= "icono.png"
PSP_EBOOT_PIC1= "fondo.png"
PSP_EBOOT_SND0= "sonido.at3"


PSPSDK = $(shell psp-config --pspsdk-path)
PSPBIN = $(shell psp-config --psp-prefix)/bin
USE_PSPSDK_LIBC=1
include $(PSPSDK)/lib/build.mak


Personalización[editar]

Podemos personalizar la apariencia de nuestro homebrew en el menú de PSP mediante las siguientes variables:

  • PSP_EBOOT_ICON: icono de 144x80 que identificara al juego en la sección $Juegos$ del menú.
  • PSP_EBOOT_PIC1: fondo que aparecerá en la consola cuando el juego esté seleccionado, debe tener 480x272.
  • PSP_EBOOT_SND0: fichero de sonido en formato at3 que se escuchará cuando nuestro juego esté seleccionado en el menú.


← Instalación El makefile La pantalla →