跳转到内容

PSP 编程/创建 Makefile

来自维基教科书,开放的书籍,开放的世界

当我们不使用自动化的 IDE 时,Makefile 用于快速轻松地编译我们的程序。要创建 Makefile,我们只需创建一个没有扩展名的新文件,并将其命名为“Makefile”。然后,我们可以在任何简单的文本编辑器中编辑它。要使用 Makefile 编译程序,我们只需使用命令行(使用“cd”)转到文件夹,然后键入“make”。命令行会告诉您一切是否正常,或者是否存在需要修复的错误。让我们看一个例子

TARGET = my_program
OBJS   = main.o myLibrary.o

INCDIR   =
CFLAGS   = -G0 -Wall -O2
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS  = $(CFLAGS)

LIBDIR  =
LDFLAGS =
LIBS    = -lm

BUILD_PRX = 1 

EXTRA_TARGETS   = EBOOT.PBP
PSP_EBOOT_TITLE = My Program
PSP_EBOOT_ICON= ICON0.png
PSP_EBOOT_PIC1= PIC1.png
PSP_EBOOT_SND0= SND0.at3

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak

如您所见,它并不那么可怕。大多数这些参数您甚至都不用碰。 “目标”告诉编译器我们的源文件名,而“objs”创建“main.o”和“myLibrary.o”,因为我们使用“main.c”作为我们编写代码的文件,并使用“myLibrary.c”作为辅助类。现在我们不谈论接下来的四行,只需要理解我们需要保持它们不变。接下来我们告诉它 lib 方向(同一个文件夹,所以它不变),几个参数,以及我们将使用的库。

接下来,我们告诉它构建一个 PRX 二进制文件,而不是一个静态 ELF 二进制文件。静态 ELF 通常被弃用,只有基于 PRX 的自制程序才能被签名以在任何 PSP 固件上运行。(EBOOT 中的 PRX 二进制文件与 PRX 内核修改不同!)

之后,我们还创建了一个“EBOOT.PBP”,它实际上是启动的文件。然后您给它一个标题,并可以选择一个图标(144x80)、一张背景图片(480x272)和一个 PSP 音频文件 (at3)。如果您不需要其中任何一个,只需删除这些行。

华夏公益教科书