39 lines
1.4 KiB
Makefile
39 lines
1.4 KiB
Makefile
#Not intended to be overriden
|
|
AUTO_OVERLAY_DIR = $(OUTPUT_DIR)/auto_overlay
|
|
|
|
include $(AUTO_OVERLAY_DIR)/Overlays.mk
|
|
|
|
#We use the JabyEngine so we will include ourselves
|
|
JABY_ENGINE_LIB_DIR = $(JABY_ENGINE_DIR)/lib/PSX-$(BUILD_PROFILE)
|
|
JABY_ENGINE_SUPPORT_LIB_DIR = $(JABY_ENGINE_DIR)/Support/lib/PSX-$(BUILD_PROFILE)
|
|
JABY_ENGINE_LIB_NAME = JabyEngine_$(TV_FORMAT)
|
|
|
|
OVERLAY_TARGET = $(foreach ovl, $(OVERLAYSECTION), $(OUTPUT_DIR)/Overlay$(ovl))
|
|
|
|
#Linking rule
|
|
$(TARGET).elf: $(OBJS) $(JABY_ENGINE_LIB_DIR)/lib$(JABY_ENGINE_LIB_NAME).a $(AUTO_OVERLAY_DIR)/Overlays.ld
|
|
$(LD) -o $(TARGET).elf $(LDFLAGS_all) $(LDFLAGS) $(OBJS) -L$(JABY_ENGINE_LIB_DIR) -L$(JABY_ENGINE_SUPPORT_LIB_DIR) -L$(AUTO_OVERLAY_DIR) -l$(JABY_ENGINE_LIB_NAME) $(LIBS)
|
|
|
|
#Strips the psexe
|
|
$(TARGET).psexe: $(TARGET).elf
|
|
$(PREFIX)-objcopy $(addprefix -R , $(OVERLAYSECTION)) -O binary $< $@
|
|
|
|
#Create overlays
|
|
$(OVERLAY_TARGET): $(TARGET).elf
|
|
$(PREFIX)-objcopy -j $(suffix $@) -O binary $< $@
|
|
|
|
#Create overlay makefile
|
|
$(AUTO_OVERLAY_DIR)/Overlays.mk: $(OVERLAY_CONFIG)
|
|
@mkdir -p $(AUTO_OVERLAY_DIR)
|
|
mkoverlay --mk-file $(AUTO_OVERLAY_DIR)/Overlays.mk --ld-script $(AUTO_OVERLAY_DIR)/Overlays.ld $<
|
|
|
|
#Rules section for default compilation and linking
|
|
all: $(TARGET).psexe $(OVERLAY_TARGET)
|
|
|
|
clean:
|
|
rm -fr $(OUTPUT_DIR)
|
|
|
|
# For mkoverlay to function correctly this is required (otherwise Overlays.mk is not re-generated)
|
|
rebuild: clean
|
|
$(MAKE) all
|