Paquetes
Cada paquete instalado vive en $PS2DEV/packages/<tier>/<name>/ - core o world - con un package.yaml que describe lo que ofrece:
yaml
name: kernel
origin: ps2sdk
tier: core
license: AFL-2.0
artifacts:
- kind: library
target: [ee]
include_dirs: [include]
lib: lib/libkernel.aReferéncialo desde un target de ps2.yaml igual que un ee_lib definido en el mismo archivo:
yaml
libs: [kernel, png, freetype]ps2build resuelve cada nombre contra $PS2DEV/packages/{core,world}, y añade los include_dirs y el archivo del paquete a la compilación. No hacen falta flags -I ni -L.
Tipos de artefacto
library- un archivo (lib:), para uno o más procesadores (target: [ee],[iop], o ambos, como entradas de artefacto separadas).driver- un módulo.irxcargable (irx:en lugar delib:), soloiop.
Un paquete puede declarar ambos, por ejemplo una biblioteca para el EE y un driver para el IOP, resueltos por el mismo nombre.
Headers transitivos y orden de enlazado
headers:- nombra otros paquetes cuyos headers necesitan las propias fuentes de este para compilar. Un consumidor que enlaza este paquete también obtiene esos directorios de include, sin listarlos él mismo.links:- nombra otros paquetes contra los que se enlaza el archivo de este. Un consumidor que enlaza este paquete también enlaza todo lo nombrado aquí, de forma recursiva, en un orden que un enlazador estático acepte.
Ambos se resuelven automáticamente. Lista solo el nombre del paquete de nivel superior en libs:.