124 lines
4.4 KiB
Makefile
124 lines
4.4 KiB
Makefile
CC = psx-gcc
|
|
DEFINE= -DFIXMATH_FAST_SIN -D_PAL_MODE_
|
|
DEFINE += -DPSXSDK_DEBUG
|
|
DEFINE += -DNO_CDDA
|
|
DEFINE += -DNO_INTRO
|
|
LIBS= -lfixmath
|
|
CC_FLAGS = -Wall -Werror -c -Os -Wfatal-errors
|
|
LINKER = psx-gcc
|
|
|
|
PROJECT = AIRPORT
|
|
PROJECT_DIR = ~/Airport
|
|
|
|
ELF2EXE = elf2exe
|
|
ELF2EXE_FLAGS = -mark="A homebrew game created with PSXSDK"
|
|
LICENSE_FILE = /usr/local/psxsdk/share/licenses/infoeur.dat
|
|
|
|
PSXSDK_DIR = /usr/local/psxsdk/bin
|
|
|
|
EMULATOR_DIR = ~/pcsxr
|
|
EMULATOR = pcsxr.exe
|
|
SOUND_INTERFACE =
|
|
EMULATOR_FLAGS = -nogui -psxout
|
|
OBJ_DIR = Obj
|
|
SRC_DIR = .
|
|
MUSIC_TRACKS = --track=../Bin/TRACK01.bin --track=../Bin/TRACK02.bin --track=../Bin/TRACK03.bin
|
|
FFMPEG = ffmpeg
|
|
FFMPEG_DIR = ../Music/ffmpeg/bin
|
|
FFMPEG_FLAGS = -f s16le -acodec pcm_s16le
|
|
|
|
GNU_SIZE = mipsel-unknown-elf-size
|
|
|
|
all: build image clean
|
|
#emulator clean
|
|
|
|
rebuild: remove build
|
|
|
|
build: clean objects levels $(PROJECT).elf $(PROJECT).exe
|
|
|
|
objects: $(addprefix $(OBJ_DIR)/,main.o System.o Menu.o Gfx.o Pad.o MainMenuBtnAni.o \
|
|
LoadMenu.o GameGui.o Sfx.o Camera.o EndAnimation.o \
|
|
PSXSDKIntro.o PltParser.o Game.o Font.o MemCard.o \
|
|
Aircraft.o)
|
|
|
|
music_objects: $(addprefix ../Music/, TRACK01.bin TRACK02.bin TRACK03.bin)
|
|
|
|
remove:
|
|
rm -f Obj/*.o
|
|
|
|
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
|
|
$(CC) $< -o $@ $(DEFINE) $(CC_FLAGS)
|
|
|
|
$(PROJECT).elf:
|
|
$(LINKER) Obj/*.o -o Exe/$(PROJECT).elf $(LIBS) -Wl,--gc-sections
|
|
|
|
$(PROJECT).exe:
|
|
$(ELF2EXE) Exe/$(PROJECT).elf Exe/$(PROJECT).exe $(ELF2EXE_FLAGS)
|
|
cp Exe/$(PROJECT).exe ../cdimg
|
|
|
|
image:
|
|
rm -f $(PROJECT).iso $(PROJECT).bin
|
|
rm -f $(PROJECT).cue
|
|
mkisofs -o $(PROJECT).iso -V $(PROJECT) -sysid PLAYSTATION ../cdimg
|
|
mkpsxiso $(PROJECT).iso $(PROJECT).bin $(LICENSE_FILE) $(MUSIC_TRACKS)
|
|
mv $(PROJECT).bin ../Bin
|
|
mv $(PROJECT).cue ../Bin
|
|
rm -f $(PROJECT).cue
|
|
rm -f $(PROJECT).iso
|
|
$(GNU_SIZE) Exe/$(PROJECT).elf
|
|
|
|
emulator:
|
|
export PATH=$$PATH:$(EMULATOR_DIR)
|
|
$(EMULATOR) -cdfile $(PROJECT_DIR)/Bin/$(PROJECT).bin $(EMULATOR_FLAGS)
|
|
|
|
clean:
|
|
rm -f $(PROJECT).elf cdimg/$(PROJECT).exe $(PROJECT).bin $(PROJECT).cue cdimg/README.txt
|
|
rm -f $(PROJECT).iso $(PROJECT).exe $(PROJECT).elf
|
|
|
|
tiles:
|
|
rm -f ../cdimg/DATA/SPRITES/*.TIM
|
|
rm -f ../cdimg/DATA/FONTS/*.FNT
|
|
bmp2tim ../Sprites/PSXDisk.bmp ../cdimg/DATA/SPRITES/PSXDISK.TIM 16 -org=384,0 -mpink
|
|
bmp2tim ../Sprites/IntroFnt.bmp ../cdimg/DATA/SPRITES/INTROFNT.TIM 16 -org=384,76 -mpink
|
|
bmp2tim ../Sprites/Tileset1.bmp ../cdimg/DATA/SPRITES/TILESET1.TIM 16 -org=384,0 -mpink
|
|
bmp2tim ../Sprites/Tileset2.bmp ../cdimg/DATA/SPRITES/TILESET2.TIM 16 -org=640,0 -mpink
|
|
bmp2tim ../Sprites/MainMenu.bmp ../cdimg/DATA/SPRITES/MAINMENU.TIM 16 -org=768,384 -mpink
|
|
bmp2tim ../Sprites/Loading.bmp ../cdimg/DATA/SPRITES/LOADING.TIM 4 -mpink -org=768,256 -clut=384,496
|
|
bmp2tim ../Sprites/Plane.bmp ../cdimg/DATA/SPRITES/PLANE.TIM 16 -org=536,240 -mpink
|
|
bmp2tim ../Sprites/Buttons.bmp ../cdimg/DATA/SPRITES/BUTTONS.TIM 16 -org=384,240 -mpink
|
|
bmp2tim ../Sprites/GamePln.bmp ../cdimg/DATA/SPRITES/GAMEPLN.TIM 8 -mpink -org=800,256 -clut=384,497
|
|
bmp2tim ../Sprites/GamePln_Blue.bmp ../cdimg/DATA/SPRITES/PLNBLUE.CLT 8 -mpink -clut=384,501
|
|
bmp2tim ../Sprites/Bubble.bmp ../cdimg/DATA/SPRITES/BUBBLE.TIM 8 -org=584,240 -mpink -clut=384,498
|
|
bmp2tim ../Sprites/Font_1_4bit.bmp ../cdimg/DATA/FONTS/FONT_1.FNT 4 -org=960,256 -mpink -clut=384,500
|
|
bmp2tim ../Sprites/Font_2_4bit.bmp ../cdimg/DATA/FONTS/FONT_2.FNT 4 -org=768,288 -mpink -clut=384,499
|
|
bmp2tim ../Sprites/GPL_4bit.bmp ../cdimg/DATA/SPRITES/GPL.TIM 4 -org=384,174 -mpink -clut=384,502
|
|
bmp2tim ../Sprites/OpSrc_8bit.bmp ../cdimg/DATA/SPRITES/OPENSRC.TIM 8 -org=464,0 -mpink -clut=384,503
|
|
bmp2tim ../Sprites/Mouse.bmp ../cdimg/DATA/SPRITES/MOUSE.TIM 16 -org=596,240 -mpink
|
|
bmp2tim ../Sprites/DepArr.bmp ../cdimg/DATA/SPRITES/DEPARR.TIM 16 -org=552,240 -mpink
|
|
bmp2tim ../Sprites/PageUpDn.bmp ../cdimg/DATA/SPRITES/PAGEUPDN.TIM 16 -org=504,240 -mpink
|
|
|
|
sounds:
|
|
rm -f ../cdimg/DATA/SOUNDS/*.VAG
|
|
wav2vag ../Sounds/Bell.wav ../cdimg/DATA/SOUNDS/BELL.VAG
|
|
wav2vag ../Sounds/Accept.wav ../cdimg/DATA/SOUNDS/ACCEPT.VAG
|
|
wav2vag ../Sounds/TrayCl.wav ../cdimg/DATA/SOUNDS/TRAYCL.VAG
|
|
wav2vag ../Sounds/SpinDisk.wav ../cdimg/DATA/SOUNDS/SPINDISK.VAG
|
|
|
|
levels: LEVEL1.LVL LEVEL1.PLT
|
|
|
|
%.LVL:
|
|
cp ../Levels/$@ ../cdimg/DATA/LEVELS/
|
|
|
|
%.PLT:
|
|
cp ../Levels/$@ ../cdimg/DATA/LEVELS
|
|
|
|
music: clean_music music_objects
|
|
|
|
clean_music:
|
|
rm -f ../Music/*.bin
|
|
|
|
%.bin: %.mp3
|
|
rm -f ../Bin/$@1
|
|
$(FFMPEG) -i $< $(FFMPEG_FLAGS) $@
|
|
cp ../Music/$@ ../Bin/
|