Deprecate Make-based build system in favor of CMake
This commit is contained in:
parent
b9afe989d0
commit
c8c51a358f
208
Source/Makefile
208
Source/Makefile
|
@ -1,208 +0,0 @@
|
|||
# Project-wise definitions
|
||||
PROJECT = AIRPORT
|
||||
|
||||
# GNU Toolchain definitions
|
||||
CC = psx-gcc
|
||||
LINKER = psx-gcc
|
||||
GNU_SIZE = mipsel-unknown-elf-size
|
||||
|
||||
# Custom define flags for GCC
|
||||
DEFINE= -DFIXMATH_FAST_SIN -D_PAL_MODE_
|
||||
DEFINE += -DPSXSDK_DEBUG
|
||||
DEFINE += -DNO_CDDA
|
||||
#DEFINE += -DNO_INTRO
|
||||
|
||||
# Compiler flags
|
||||
LIBS= -lfixmath
|
||||
CC_FLAGS = -Wall -Werror -c -O3 -Wfatal-errors
|
||||
|
||||
MKDIR = mkdir
|
||||
MKDIR_FLAGS = -p
|
||||
|
||||
# Path definitions
|
||||
PATH := $(PATH):$(PSXSDK_PATH)/bin/
|
||||
PROJECT_DIR = ~/Airport
|
||||
CDROM_ROOT=$(PROJECT_DIR)/cdimg
|
||||
BIN_TARGET_PATH = $(PROJECT_DIR)/Bin
|
||||
|
||||
#Uncomment this DEFINE below to use Airport together with OpenSend + QPSXSerial toolchain.
|
||||
#DEFINE += -DSERIAL_INTERFACE
|
||||
|
||||
# PSXSDK tools definitions
|
||||
# ELF2EXE:
|
||||
ELF2EXE = elf2exe
|
||||
ELF2EXE_FLAGS = -mark="A homebrew game created with PSXSDK"
|
||||
LICENSE_FILE = $(PSXSDK_PATH)/share/licenses/infoeur.dat
|
||||
EXE_PATH = Exe
|
||||
|
||||
# PCSX-R
|
||||
EMULATOR_DIR = ~/pcsxr
|
||||
EMULATOR = pcsxr
|
||||
# Uncomment the line below if you get no sound output under Linux.
|
||||
SOUND_INTERFACE += padsp
|
||||
EMULATOR_FLAGS = -nogui -psxout
|
||||
|
||||
# Objects definition
|
||||
# Compiled objects list
|
||||
OBJ_DIR = Obj
|
||||
SRC_DIR = .
|
||||
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 Serial.o Timer.o Message.o)
|
||||
|
||||
# Source dependencies:
|
||||
DEPS = $(OBJECTS:.o=.d)
|
||||
|
||||
# CD-DA objects:
|
||||
MUSIC_OBJ_DIR = ../Bin
|
||||
MUSIC_SRC_DIR = ../Music
|
||||
MUSIC_TRACKS = $(addprefix $(MUSIC_OBJ_DIR)/, TRACK01.bin TRACK02.bin TRACK03.bin)
|
||||
FFMPEG = ffmpeg
|
||||
FFMPEG_DIR =
|
||||
#FFMPEG_DIR = $(MUSIC_SRC_DIR)/$(FFMPEG)/bin/
|
||||
FFMPEG_FLAGS = -f s16le -acodec pcm_s16le
|
||||
|
||||
# VAG objects:
|
||||
SOURCE_SOUNDS_FOLDER = ../Sounds
|
||||
OBJ_SOUNDS_DIR = ../cdimg/DATA/SOUNDS
|
||||
SOUND_OBJECTS = $(addprefix $(OBJ_SOUNDS_DIR)/, BELL.VAG \
|
||||
ACCEPT.VAG \
|
||||
TRAYCL.VAG \
|
||||
SPINDISK.VAG \
|
||||
BEEP.VAG \
|
||||
TAKEOFF1.VAG \
|
||||
RCTM1F1.VAG \
|
||||
RCPW1A1.VAG \
|
||||
RCPM1A1.VAG )
|
||||
# Level objects:
|
||||
SRC_LEVELS_DIR = $(PROJECT_DIR)/Levels
|
||||
OBJ_LEVELS_DIR = $(CDROM_ROOT)/DATA/LEVELS
|
||||
LEVEL_OBJECTS = $(addprefix $(OBJ_LEVELS_DIR)/, \
|
||||
LEVEL1.LVL \
|
||||
LEVEL2.LVL \
|
||||
LEVEL3.LVL \
|
||||
LEVEL18.LVL \
|
||||
XAMI.LVL \
|
||||
LEVEL1.PLT \
|
||||
LEVEL2.PLT \
|
||||
LEVEL3.PLT \
|
||||
LEVEL18.PLT \
|
||||
XAMI.PLT \
|
||||
EASY.PLT \
|
||||
TUTORIA1.PLT)
|
||||
|
||||
# Sprite objects:
|
||||
BMP2TIM = bmp2tim
|
||||
SRC_SPRITES_PATH = $(PROJECT_DIR)/Sprites
|
||||
OBJ_SPRITES_PATH = $(CDROM_ROOT)/DATA/SPRITES
|
||||
# NOTE: Fonts, despite still being .TIM files, are separated into another folder,
|
||||
# so SPRITE_OBJECTS are splitted in two parts.
|
||||
OBJ_FONTS_PATH = $(CDROM_ROOT)/DATA/FONTS
|
||||
SPRITE_OBJECTS = $(addprefix $(OBJ_SPRITES_PATH)/, PSXDISK.TIM \
|
||||
TILESET1.TIM \
|
||||
TILESET2.TIM \
|
||||
MAINMENU.TIM \
|
||||
LOADING.TIM \
|
||||
PLANE.TIM \
|
||||
BUTTONS.TIM \
|
||||
GAMEPLN.TIM \
|
||||
PLNBLUE.CLT \
|
||||
BUBBLE.TIM \
|
||||
GPL.TIM \
|
||||
OPENSRC.TIM \
|
||||
MOUSE.TIM \
|
||||
DEPARR.TIM \
|
||||
PAGEUPDN.TIM \
|
||||
BLDNGS1.TIM \
|
||||
LFRARROW.TIM \
|
||||
UDNARROW.TIM \
|
||||
BCNGW.TIM \
|
||||
MENUSTAR.TIM )
|
||||
|
||||
SPRITE_OBJECTS += $(addprefix $(OBJ_FONTS_PATH)/, INTROFNT.TIM \
|
||||
FONT_1.TIM \
|
||||
FONT_2.TIM )
|
||||
# ------------------------------------
|
||||
# Instructions
|
||||
# ------------------------------------
|
||||
|
||||
$(BIN_TARGET_PATH)/$(PROJECT).bin: $(EXE_PATH)/$(PROJECT).iso
|
||||
@$(MKDIR) $(BIN_TARGET_PATH) $(MKDIR_FLAGS)
|
||||
#~ mkpsxiso $< $@ $(LICENSE_FILE) -s $(addprefix --track=, $(MUSIC_TRACKS))
|
||||
mkpsxiso $< $@ $(LICENSE_FILE) -s
|
||||
# $(PROJECT).cue is automatically generated by mkpsxiso
|
||||
|
||||
rebuild:
|
||||
make clean
|
||||
make $(BIN_TARGET_PATH)/$(PROJECT).bin
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_DIR)/*.d
|
||||
rm -f $(OBJ_DIR)/*.o
|
||||
rm -f $(OBJ_SOUNDS_DIR)/*.VAG
|
||||
rm -f $(OBJ_LEVELS_DIR)/*.LVL
|
||||
rm -f $(OBJ_LEVELS_DIR)/*.PLT
|
||||
rm -f $(OBJ_SPRITES_PATH)/*.TIM
|
||||
rm -f $(OBJ_FONTS_PATH)/*.TIM
|
||||
|
||||
$(OBJ_DIR)/%.d: $(SRC_DIR)/%.c
|
||||
@$(MKDIR) $(OBJ_DIR) $(MKDIR_FLAGS)
|
||||
$(CC) $< $(DEFINE) $(CC_FLAGS) -MM > $@
|
||||
|
||||
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(OBJ_DIR)/%.d
|
||||
@$(MKDIR) $(OBJ_DIR) $(MKDIR_FLAGS)
|
||||
$(CC) $< -o $@ $(DEFINE) $(CC_FLAGS) -MMD
|
||||
|
||||
$(EXE_PATH)/$(PROJECT).elf: $(OBJECTS)
|
||||
@$(MKDIR) $(EXE_PATH) $(MKDIR_FLAGS)
|
||||
$(LINKER) $^ -o $@ $(LIBS) -Wl,--gc-sections
|
||||
$(GNU_SIZE) $@
|
||||
|
||||
$(EXE_PATH)/$(PROJECT).iso: $(EXE_PATH)/$(PROJECT).exe $(SOUND_OBJECTS) $(LEVEL_OBJECTS) $(SPRITE_OBJECTS)
|
||||
@$(MKDIR) $(EXE_PATH) $(MKDIR_FLAGS)
|
||||
mkisofs -o $@ -V $(PROJECT) -sysid PLAYSTATION $(CDROM_ROOT)
|
||||
|
||||
$(EXE_PATH)/$(PROJECT).exe: $(EXE_PATH)/$(PROJECT).elf
|
||||
@$(MKDIR) $(EXE_PATH) $(MKDIR_FLAGS)
|
||||
$(ELF2EXE) $< $@ $(ELF2EXE_FLAGS)
|
||||
cp $@ $(CDROM_ROOT)
|
||||
|
||||
run: $(BIN_TARGET_PATH)/$(PROJECT).bin
|
||||
export PATH=$$PATH:$(EMULATOR_DIR)
|
||||
$(EMULATOR) -cdfile $(PROJECT_DIR)/Bin/$(PROJECT).bin $(EMULATOR_FLAGS)
|
||||
|
||||
$(OBJ_SPRITES_PATH)/%.TIM: $(SRC_SPRITES_PATH)/%.bmp $(SRC_SPRITES_PATH)/%.flags
|
||||
@$(MKDIR) $(OBJ_SPRITES_PATH) $(MKDIR_FLAGS)
|
||||
$(BMP2TIM) $< $@ `cat $(word 2,$^)`
|
||||
|
||||
$(OBJ_FONTS_PATH)/%.TIM: $(SRC_SPRITES_PATH)/%.bmp $(SRC_SPRITES_PATH)/%.flags
|
||||
@$(MKDIR) $(OBJ_FONTS_PATH) $(MKDIR_FLAGS)
|
||||
$(BMP2TIM) $< $@ `cat $(word 2,$^)`
|
||||
|
||||
$(OBJ_SPRITES_PATH)/%.CLT: $(SRC_SPRITES_PATH)/%.bmp $(SRC_SPRITES_PATH)/%.flags
|
||||
@$(MKDIR) $(OBJ_SPRITES_PATH) $(MKDIR_FLAGS)
|
||||
$(BMP2TIM) $< $@ `cat $(word 2,$^)`
|
||||
|
||||
$(OBJ_SOUNDS_DIR)/%.VAG: $(SOURCE_SOUNDS_FOLDER)/%.wav
|
||||
@$(MKDIR) $(OBJ_SOUNDS_DIR) $(MKDIR_FLAGS)
|
||||
wav2vag $^ $@
|
||||
|
||||
$(OBJ_LEVELS_DIR)/%.LVL: $(SRC_LEVELS_DIR)/%.LVL
|
||||
@$(MKDIR) $(OBJ_LEVELS_DIR) $(MKDIR_FLAGS)
|
||||
cp $^ $@
|
||||
|
||||
$(OBJ_LEVELS_DIR)/%.PLT: $(SRC_LEVELS_DIR)/%.PLT
|
||||
@$(MKDIR) $(OBJ_LEVELS_DIR) $(MKDIR_FLAGS)
|
||||
cp $^ $@
|
||||
|
||||
$(MUSIC_OBJ_DIR)/%.bin: $(MUSIC_SRC_DIR)/%.mp3
|
||||
@$(MKDIR) $(MUSIC_OBJ_DIR) $(MKDIR_FLAGS)
|
||||
$(FFMPEG_DIR)$(FFMPEG) -i $< $(FFMPEG_FLAGS) $@
|
||||
|
||||
# ----------------------------------------
|
||||
# Phony targets
|
||||
# ----------------------------------------
|
||||
.PHONY: clean run
|
Loading…
Reference in New Issue