75 lines
1.8 KiB
Makefile
75 lines
1.8 KiB
Makefile
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="Open-source PSX-EXE loader 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 \
|
|
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
|
|
|