summaryrefslogtreecommitdiff
path: root/Source/Makefile
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2017-07-21 00:09:35 +0200
committerXaviDCR92 <xavi.dcr@gmail.com>2017-07-21 00:09:35 +0200
commit627de0d81f81ad60d26d782f2425be1e6f5a3dbc (patch)
tree91ffa502aa62c03c2fecf28529ebc8c6b20828c5 /Source/Makefile
downloadopensend-627de0d81f81ad60d26d782f2425be1e6f5a3dbc.tar.gz
+ First commit. It works painfully slow, but gets the job done. Still lots of room for improvement.
Diffstat (limited to 'Source/Makefile')
-rw-r--r--Source/Makefile74
1 files changed, 74 insertions, 0 deletions
diff --git a/Source/Makefile b/Source/Makefile
new file mode 100644
index 0000000..ed9324f
--- /dev/null
+++ b/Source/Makefile
@@ -0,0 +1,74 @@
+CC = psxsdkserial-gcc
+DEFINE= -D_PAL_MODE_
+DEFINE += -DPSXSDK_DEBUG
+LIBS=-lfixmath
+CC_FLAGS = -Wall -Werror -c -Os -Wfatal-errors -g
+LINKER = psxsdkserial-gcc
+
+PROJECT = OPENSEND
+PROJECT_DIR = ~/OpenSend
+
+INIT_ADDR=0x801A0000
+
+ELF2EXE = elf2exe
+ELF2EXE_FLAGS = -mark="A homebrew game created with PSXSDK" -init_addr=$(INIT_ADDR)
+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 =
+#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 $(PROJECT).elf $(PROJECT).exe
+
+objects: $(addprefix $(OBJ_DIR)/,main.o System.o Gfx.o Pad.o \
+ LoadMenu.o EndAnimation.o \
+ Font.o Serial.o)
+
+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)
+ 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
+