PSP Programming/Creating Makefiles
From Wikibooks, the open-content textbooks collection
[edit] Makefile
A makefile is used to quickly and easily compile our program when we are not using an IDE automating it. To create a makefile we just create a new file with no extension and give it the name "Makefile". We can then edit it in any simple text editor. To compile a program using a makefile we simply go to the folder using the command line (using "cd"), and type "make". The command line will tell you whether everything worked fine, or if there are errors to fix. Let's look at an example:
TARGET = hello_world 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 = Hello World 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
As you can see, it's not that scary looking. Most of these parameters you won't even have to touch. The "target" tells the compiler the name of our source file, and "objs" to create a "main.o" and "myLibrary.o" as we are using "main.c" as the file where we program the code and “myLibrary.c” as a helper class. For now will not talk about the next four lines, just understand that we need them unchanged. Next we tell it the lib direction (same folder, so it is unchanged), a couple parameters, and the libraries which we will use. Next we tell it to build a prx, and then we also create an "EBOOT.PBP" which is the file that will actually start up. Then you give it the title and have an option of an icon (144x80), a background picture (480x272), and a PSP sound file (at3). If you don't want one of these, then just delete the lines.