mirror of
https://github.com/wiiu-env/homebrew_launcher_installer.git
synced 2024-11-22 10:19:17 +01:00
Fix compiling in via docker, always recompile if sd_loader has changes
This commit is contained in:
parent
1fb7290017
commit
548fab9786
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,6 +1,5 @@
|
|||||||
build/
|
build/
|
||||||
*.elf
|
*.elf
|
||||||
src/sd_loader.h
|
|
||||||
*.cbp
|
*.cbp
|
||||||
payload.bin
|
payload.bin
|
||||||
.idea/
|
.idea/
|
||||||
|
16
Makefile
16
Makefile
@ -26,7 +26,8 @@ export OBJCOPY := $(PREFIX)objcopy
|
|||||||
TARGET := payload
|
TARGET := payload
|
||||||
BUILD := build
|
BUILD := build
|
||||||
BUILD_DBG := $(TARGET)_dbg
|
BUILD_DBG := $(TARGET)_dbg
|
||||||
SOURCES := src
|
SOURCES := src \
|
||||||
|
sd_loader
|
||||||
DATA :=
|
DATA :=
|
||||||
INCLUDES :=
|
INCLUDES :=
|
||||||
|
|
||||||
@ -71,7 +72,7 @@ export DEPSDIR := $(CURDIR)/$(BUILD)
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# automatically build a list of object files for our project
|
# automatically build a list of object files for our project
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
|
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) sd_loader.c
|
||||||
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
|
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
|
||||||
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
|
sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
|
||||||
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
|
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S)))
|
||||||
@ -110,21 +111,20 @@ export OUTPUT := $(CURDIR)/$(TARGET)
|
|||||||
.PHONY: $(BUILD) clean install
|
.PHONY: $(BUILD) clean install
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
$(BUILD): src/sd_loader.h
|
$(BUILD): sd_loader/sd_loader.h
|
||||||
@[ -d $@ ] || mkdir -p $@
|
@[ -d $@ ] || mkdir -p $@
|
||||||
|
@$(MAKE) -j1 --no-print-directory -C $(CURDIR)/sd_loader -f $(CURDIR)/sd_loader/Makefile
|
||||||
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
|
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
|
||||||
|
|
||||||
sd_loader_elf := sd_loader/sd_loader.elf
|
sd_loader_elf := sd_loader/sd_loader.h
|
||||||
src/sd_loader.h: $(sd_loader_elf)
|
|
||||||
xxd -i $< | sed "s/unsigned/static const unsigned/g;s/loader/loader/g;s/build_//g" > $@
|
|
||||||
|
|
||||||
$(sd_loader_elf):
|
$(sd_loader_elf):
|
||||||
make -C sd_loader
|
make -C sd_loader
|
||||||
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
clean:
|
clean:
|
||||||
@echo clean ...
|
@echo clean ...
|
||||||
|
@$(MAKE) --no-print-directory -C $(CURDIR)/sd_loader -f $(CURDIR)/sd_loader/Makefile clean
|
||||||
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf
|
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
@ -140,7 +140,7 @@ $(OUTPUT).elf: $(OFILES)
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# This rule links in binary data with the .jpg extension
|
# This rule links in binary data with the .jpg extension
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
%.elf: link.ld $(OFILES)
|
%.elf: link.ld $(OFILES)
|
||||||
@echo "linking ... $(TARGET).elf"
|
@echo "linking ... $(TARGET).elf"
|
||||||
$(Q)$(LD) -n -T $^ $(LDFLAGS) -o ../$(BUILD_DBG).elf $(LIBPATHS) $(LIBS)
|
$(Q)$(LD) -n -T $^ $(LDFLAGS) -o ../$(BUILD_DBG).elf $(LIBPATHS) $(LIBS)
|
||||||
$(Q)$(OBJCOPY) -S -R .comment -R .gnu.attributes ../$(BUILD_DBG).elf $@
|
$(Q)$(OBJCOPY) -S -R .comment -R .gnu.attributes ../$(BUILD_DBG).elf $@
|
||||||
|
4
sd_loader/.gitignore
vendored
Normal file
4
sd_loader/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
build/
|
||||||
|
*.elf
|
||||||
|
sd_loader.c
|
||||||
|
sd_loader.h
|
@ -102,6 +102,12 @@ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
|
|||||||
-I$(CURDIR)/$(BUILD) -I$(LIBOGC_INC) \
|
-I$(CURDIR)/$(BUILD) -I$(LIBOGC_INC) \
|
||||||
-I$(PORTLIBS)/include -I$(PORTLIBS)/include/freetype2
|
-I$(PORTLIBS)/include -I$(PORTLIBS)/include/freetype2
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# path to tools
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
DEVKITPATH=$(shell echo "$(DEVKITPRO)" | sed -e 's/^\([a-zA-Z]\):/\/\1/')
|
||||||
|
export PATH := $(DEVKITPATH)/tools/bin:$(DEVKITPATH)/devkitPPC/bin:$(PATH)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# build a list of library paths
|
# build a list of library paths
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
@ -119,7 +125,7 @@ $(BUILD):
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
clean:
|
clean:
|
||||||
@echo clean ...
|
@echo clean ...
|
||||||
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf
|
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf $(BUILD_DBG).c $(BUILD_DBG).h
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
else
|
else
|
||||||
@ -129,7 +135,14 @@ DEPENDS := $(OFILES:.o=.d)
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# main targets
|
# main targets
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
$(OUTPUT).elf: $(OFILES)
|
$(OUTPUT).h: $(OFILES)
|
||||||
|
|
||||||
|
$(OUTPUT).c: $(OUTPUT).elf
|
||||||
|
@raw2c $<
|
||||||
|
@cp $(TARGET).c $@
|
||||||
|
|
||||||
|
$(OUTPUT).h: $(OUTPUT).c
|
||||||
|
@cp $(TARGET).h $@
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# This rule links in binary data with the .jpg extension
|
# This rule links in binary data with the .jpg extension
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "elf_abi.h"
|
#include "elf_abi.h"
|
||||||
#include "sd_loader.h"
|
|
||||||
#include "../sd_loader/src/common.h"
|
#include "../sd_loader/src/common.h"
|
||||||
|
#include "../sd_loader/sd_loader.h"
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#define OSDynLoad_Acquire ((void (*)(char* rpl, unsigned int *handle))0x0102A3B4)
|
#define OSDynLoad_Acquire ((void (*)(char* rpl, unsigned int *handle))0x0102A3B4)
|
||||||
@ -190,7 +190,7 @@ int _start(int argc, char **argv) {
|
|||||||
|
|
||||||
InstallPatches(&private_data);
|
InstallPatches(&private_data);
|
||||||
|
|
||||||
unsigned char * pElfBuffer = (unsigned char *) sd_loader_sd_loader_elf; // use this address as temporary to load the elf
|
unsigned char * pElfBuffer = (unsigned char *) sd_loader; // use this address as temporary to load the elf
|
||||||
|
|
||||||
unsigned int mainEntryPoint = load_elf_image(&private_data, pElfBuffer);
|
unsigned int mainEntryPoint = load_elf_image(&private_data, pElfBuffer);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user