From c8b92ecb026372da71998c3fdf3c7c8d7e929308 Mon Sep 17 00:00:00 2001 From: Jaby Date: Fri, 16 Dec 2022 04:25:48 +0100 Subject: [PATCH] Prepare makefile --- lib/PSEXETarget.mk | 3 +++ src/Library/Makefile | 21 ++++++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/PSEXETarget.mk b/lib/PSEXETarget.mk index 7445dd7d..ec065d6f 100644 --- a/lib/PSEXETarget.mk +++ b/lib/PSEXETarget.mk @@ -7,6 +7,9 @@ include $(AUTO_OVERLAY_DIR)/Overlays.mk JABY_ENGINE_LIB_DIR = $(JABY_ENGINE_DIR)/lib/PSX-$(BUILD_PROFILE) JABY_ENGINE_LIB_NAME = JabyEngine_$(TV_FORMAT) +#We use this via a flag later +OBJS += $(JABY_ENGINE_LIB_DIR)/main_boot.o + #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_LIB_NAME) $(LIBS) diff --git a/src/Library/Makefile b/src/Library/Makefile index cbc2cdbf..5f235874 100644 --- a/src/Library/Makefile +++ b/src/Library/Makefile @@ -16,15 +16,26 @@ SRCS += src/syscall_printf.asm include ../../lib/Makefile LIB_DIR = ../../lib/$(CONFIG_NAME) -#Linking rule -$(TARGET).a: $(OBJS) $(SPLASH_IMAGE) - @mkdir -p $(dir $@) - $(AR) rcs $(TARGET).a $(OBJS) +MAIN_BOOT_OBJ = $(filter %/main_boot.o,$(OBJS)) +MAIN_LIB_OBJS = $(filter-out $(MAIN_BOOT_OBJ),$(OBJS)) +#$(info $$var is [${MAIN_BOOT_OBJ}]) +#$(info $$var2 is [${MAIN_LIB_OBJS}]) + +#Linking rule +$(TARGET).a: $(MAIN_LIB_OBJS) $(SPLASH_IMAGE) + @mkdir -p $(dir $@) + $(AR) rcs $(TARGET).a $(MAIN_LIB_OBJS) + +#Copy rules $(LIB_DIR)/$(ARTIFACT).a: $(TARGET).a @mkdir -p $(LIB_DIR) cp $(TARGET).a $(LIB_DIR)/$(ARTIFACT).a +$(LIB_DIR)/$(notdir $(MAIN_BOOT_OBJ)): $(MAIN_BOOT_OBJ) + @mkdir -p $(LIB_DIR) + cp $(MAIN_BOOT_OBJ) $(LIB_DIR)/$(notdir $(MAIN_BOOT_OBJ)) + # Improve later $(SPLASH_IMAGE): ressources/Splash.png jaby_engine_fconv $< simple-tim full16 | cpp_out --name SplashScreen -o $@ @@ -33,7 +44,7 @@ $(SPLASH_IMAGE_NTSC): ressources/Splash_ntsc.png jaby_engine_fconv $< simple-tim full16 | cpp_out --name SplashScreen -o $@ #Rules section for default compilation and linking -all: $(SPLASH_IMAGE) $(SPLASH_IMAGE_NTSC) $(LIB_DIR)/$(ARTIFACT).a +all: $(SPLASH_IMAGE) $(SPLASH_IMAGE_NTSC) $(LIB_DIR)/$(ARTIFACT).a $(LIB_DIR)/$(notdir $(MAIN_BOOT_OBJ)) clean: rm -fr $(SPLASH_IMAGE)