aboutsummaryrefslogtreecommitdiff
path: root/Source/Makefile
diff options
context:
space:
mode:
authorXavier Del Campo <xavi.dcr@gmail.com>2017-02-04 14:49:08 +0100
committerXavier Del Campo <xavi.dcr@gmail.com>2017-02-04 14:49:08 +0100
commit189ecf754d0c8131464bfdff98fb56e7752556b1 (patch)
tree89e7d02128bbc7b2d3f5c19a3da14ec14291982a /Source/Makefile
downloadairport-189ecf754d0c8131464bfdff98fb56e7752556b1.tar.gz
Initial commit
Diffstat (limited to 'Source/Makefile')
-rwxr-xr-xSource/Makefile119
1 files changed, 119 insertions, 0 deletions
diff --git a/Source/Makefile b/Source/Makefile
new file mode 100755
index 0000000..3e96e0b
--- /dev/null
+++ b/Source/Makefile
@@ -0,0 +1,119 @@
+CC = psx-gcc
+DEFINE= -DFIXMATH_FAST_SIN -D_PAL_MODE_ -DPSXSDK_DEBUG -DNO_CDDA -DNO_INTRO
+LIBS= -lfixmath
+CC_FLAGS = -Wall -Werror -c -Os
+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)
+
+$(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=768,288 -mpink
+ bmp2tim ../Sprites/Buttons.bmp ../cdimg/DATA/SPRITES/BUTTONS.TIM 16 -org=784,288 -mpink
+ bmp2tim ../Sprites/GamePln.bmp ../cdimg/DATA/SPRITES/GAMEPLN.TIM 8 -mpink -org=800,304 -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=848,288 -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,304 -mpink -clut=384,499
+ bmp2tim ../Sprites/Arrows.bmp ../cdimg/DATA/SPRITES/ARROWS.TIM 16 -org=812,304 -mpink
+ 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=828,304 -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/