dquakeplus/MakeSLIM
Ian eb069e78d2 Makefile upkeep
* Add DEBUG flag to build PRX, don't build by default (shrinks binary by 700kB)
* Add some MAKEFLAGS to enable multiple processes (multithread building)
* Renamed Application to "Nazi Zombies: Portable"
* Lowered firmware version requirement to 4.00
* Clear unneeded library links
* have `make clean` remove the build directory instead of leaving it
2023-06-25 20:50:32 -04:00

139 lines
3.6 KiB
Text

MAKEFLAGS+="-j -l $(shell grep -c ^processor /proc/cpuinfo) "
PSPSDK = $(shell psp-config --pspsdk-path)
PSPLIBSDIR = $(PSPSDK)/..
TARGET = nzportable
PSP_EBOOT_TITLE = Nazi Zombies: Portable
PSP_EBOOT_ICON = source/psp/pics/icon.png
PSP_EBOOT_SND0 = source/psp/pics/snd0.at3
PSP_EBOOT_PIC1 = source/psp/pics/pic.png
PSP_FW_VERSION=400
MODE=-DKERNEL_MODE
ifeq ($(USE_GPROF),1)
GPROF_LIBS = -lpspprof
GPROF_FLAGS = -pg -DPROFILE
else
ifeq ($(DEBUG),1)
BUILD_PRX = 1
endif
endif
COMMON_OBJS = \
source/psp/battery.o \
source/thread.o \
source/psp/VramExt.o \
source/psp/input.o \
source/psp/main.o \
source/psp/math.o \
source/psp/system.o \
source/psp/module.o \
source/psp/network.o \
source/psp/network_psp.o \
source/psp/gethost.o \
source/psp/fnmatch.o \
source/psp/cd.o \
source/psp/mp3.o \
source/psp/Random.o \
\
source/chase.o \
source/cl_demo.o \
source/cl_input.o \
source/cl_main.o \
source/cl_parse.o \
source/cl_tent.o \
source/cl_slist.o \
source/cmd.o \
source/common.o \
source/console.o \
source/crc.o \
source/cvar.o \
source/host.o \
source/host_cmd.o \
source/keys.o \
source/mathlib.o \
source/matrixlib.o \
source/menu.o \
source/net_dgrm.o \
source/net_loop.o \
source/net_main.o \
source/net_vcr.o \
source/pr_cmds.o \
source/pr_edict.o \
source/pr_exec.o \
source/snd_sdl.o \
source/snd_dma.o \
source/snd_mem.o \
source/snd_mix.o \
source/cl_hud.o \
source/sv_main.o \
source/sv_move.o \
source/sv_phys.o \
source/sv_user.o \
source/view.o \
source/wad.o \
source/world.o \
source/zone.o \
source/crypter.o
HARDWARE_VIDEO_ONLY_OBJS = \
source/psp/wad3.o \
source/psp/clipping.o \
source/psp/vram.o \
source/psp/video_hardware.o \
source/psp/video_hardware_resample.o \
source/psp/video_hardware_images.o \
source/psp/video_hardware_fullbright.o \
source/psp/video_hardware_hlmdl.o \
source/psp/video_hardware_draw.o \
source/psp/video_hardware_entity_fragment.o \
source/psp/video_hardware_QMB.o \
source/psp/video_hardware_decals_QMB.o \
source/psp/video_hardware_part.o \
source/psp/video_hardware_light.o \
source/psp/video_hardware_main.o \
source/psp/video_hardware_mesh.o \
source/psp/video_hardware_mhex2.o \
source/psp/video_hardware_misc.o \
source/psp/video_hardware_model.o \
source/psp/video_hardware_screen.o \
source/psp/video_hardware_surface.o \
source/psp/video_hardware_warp.o \
source/psp/video_hardware_fog.o \
source/psp/video_hardware_dxtn.o
HARDWARE_VIDEO_ONLY_FLAGS = -DPSP_HARDWARE_VIDEO
OBJS = $(COMMON_OBJS) $(HARDWARE_VIDEO_ONLY_OBJS)
SDL_LIBS = -lSDL2 -lSDL2main -lGL
GU_LIBS = -lpspgum_vfpu -lpspvfpu -lpspgu -lpspvram
AUDIO_LIBS = -lpspaudio -lpspmp3 source/psp/m33libs/libpspaudiocodec.a source/psp/m33libs/libpspkubridge.a
MISC_LIBS = -lpsppower -lpspmath -lpsphprm -ljpeg -lpng -lz
NET_LIBS = -lpspwlan -lpspnet_adhoc -lpspnet_adhocctl
STD_LIBS = -lstdc++ -lm -lc
LIBS = $(GPROF_LIBS) $(SDL_LIBS) $(GU_LIBS) $(AUDIO_LIBS) $(MISC_LIBS) $(STD_LIBS) $(NET_LIBS)
CFLAGS = -ffast-math -O3 -Ofast -G0 -Wall $(GPROF_FLAGS) -Did386="0" -DPSP $(MODE) $(HARDWARE_VIDEO_ONLY_FLAGS) -DSWIZZLE32 -DSLIM -DPSP_MP3_HWDECODE -DFULLBRIGHT -DHL_RENDER -Wno-strict-aliasing -DPSP_VFPU
CXXFLAGS = -fno-rtti -Wcast-qual -Wno-write-strings -Wno-sign-compare -Wno-strict-aliasing
ASFLAGS = $(CFLAGS) -c
include $(PSPSDK)/lib/build.mak
clean:
rm -rf build/
rm source/*.o
install: EBOOT.PBP
mkdir -p build/exec/
mv EBOOT.PBP build/EBOOT2000.PBP
ifeq ($(DEBUG),1)
mv *.prx build/exec/
endif
mv *.elf build/exec/
mv *.SFO build/exec/
@echo DONE