diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb98bc5..a7b85a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/upload-artifact@master with: name: binary - path: "*.rpx" + path: "*.wuhb" deploy-binary: needs: build-binary runs-on: ubuntu-18.04 @@ -38,7 +38,7 @@ jobs: - uses: actions/download-artifact@master with: name: binary - path: wiiu + path: wiiu/apps - name: zip artifact run: zip -r ${{ env.REPOSITORY_NAME }}_${{ env.DATETIME }}.zip wiiu - name: Create Release diff --git a/.gitignore b/.gitignore index d99ab92..1f3cc99 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ cmake-build-debug/ *.elf *.rpx +*.wuhb diff --git a/Makefile b/Makefile index fed3898..7853ab2 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,15 @@ endif TOPDIR ?= $(CURDIR) +#------------------------------------------------------------------------------- +# APP_NAME sets the long name of the application +# APP_SHORTNAME sets the short name of the application +# APP_AUTHOR sets the author of the application +#------------------------------------------------------------------------------- +APP_NAME := Wii U Disc Dumper +APP_SHORTNAME := Wii U Disc Dumper +APP_AUTHOR := Maschell + include $(DEVKITPRO)/wut/share/wut_rules #------------------------------------------------------------------------------- @@ -16,6 +25,10 @@ include $(DEVKITPRO)/wut/share/wut_rules # SOURCES is a list of directories containing source code # DATA is a list of directories containing data files # INCLUDES is a list of directories containing header files +# CONTENT is the path to the bundled folder that will be mounted as /vol/content/ +# ICON is the game icon, leave blank to use default rule +# TV_SPLASH is the image displayed during bootup on the TV, leave blank to use default rule +# DRC_SPLASH is the image displayed during bootup on the DRC, leave blank to use default rule #------------------------------------------------------------------------------- TARGET := wudd BUILD := build @@ -80,7 +93,6 @@ export DEPSDIR := $(CURDIR)/$(BUILD) CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) -BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) #------------------------------------------------------------------------------- # use CXX for linking C++ projects, CC for standard C @@ -107,6 +119,34 @@ export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) +ifneq (,$(strip $(CONTENT))) + export APP_CONTENT := $(TOPDIR)/$(CONTENT) +endif + +ifneq (,$(strip $(ICON))) + export APP_ICON := $(TOPDIR)/$(ICON) +else ifneq (,$(wildcard $(TOPDIR)/$(TARGET).png)) + export APP_ICON := $(TOPDIR)/$(TARGET).png +else ifneq (,$(wildcard $(TOPDIR)/icon.png)) + export APP_ICON := $(TOPDIR)/icon.png +endif + +ifneq (,$(strip $(TV_SPLASH))) + export APP_TV_SPLASH := $(TOPDIR)/$(TV_SPLASH) +else ifneq (,$(wildcard $(TOPDIR)/tv-splash.png)) + export APP_TV_SPLASH := $(TOPDIR)/tv-splash.png +else ifneq (,$(wildcard $(TOPDIR)/splash.png)) + export APP_TV_SPLASH := $(TOPDIR)/splash.png +endif + +ifneq (,$(strip $(DRC_SPLASH))) + export APP_DRC_SPLASH := $(TOPDIR)/$(DRC_SPLASH) +else ifneq (,$(wildcard $(TOPDIR)/drc-splash.png)) + export APP_DRC_SPLASH := $(TOPDIR)/drc-splash.png +else ifneq (,$(wildcard $(TOPDIR)/splash.png)) + export APP_DRC_SPLASH := $(TOPDIR)/splash.png +endif + .PHONY: $(BUILD) clean all #------------------------------------------------------------------------------- @@ -119,7 +159,7 @@ $(BUILD): #------------------------------------------------------------------------------- clean: @echo clean ... - @rm -fr $(BUILD) $(TARGET).rpx $(TARGET).elf + @rm -fr $(BUILD) $(TARGET).wuhb $(TARGET).rpx $(TARGET).elf #------------------------------------------------------------------------------- else @@ -130,23 +170,14 @@ DEPENDS := $(OFILES:.o=.d) #------------------------------------------------------------------------------- # main targets #------------------------------------------------------------------------------- -all : $(OUTPUT).rpx +all : $(OUTPUT).wuhb +$(OUTPUT).wuhb : $(OUTPUT).rpx $(OUTPUT).rpx : $(OUTPUT).elf $(OUTPUT).elf : $(OFILES) $(OFILES_SRC) : $(HFILES_BIN) -#------------------------------------------------------------------------------- -# you need a rule like this for each extension you use as binary data -#------------------------------------------------------------------------------- -%.bin.o %_bin.h : %.bin -#------------------------------------------------------------------------------- - @echo $(notdir $<) - @$(bin2o) - --include $(DEPENDS) - #------------------------------------------------------------------------------- endif #-------------------------------------------------------------------------------