First commit on the WUPS plugin branch
3
.gitignore
vendored
@ -54,4 +54,5 @@ hidtovpad_dbg.elf
|
|||||||
hidtopad.cscope_file_list
|
hidtopad.cscope_file_list
|
||||||
hidtopad.cbp
|
hidtopad.cbp
|
||||||
hidtopad.layout
|
hidtopad.layout
|
||||||
hidtopad.cbp
|
hidtopad.cbp
|
||||||
|
hidtovpad.mod
|
||||||
|
37
.travis.yml
@ -7,6 +7,7 @@ dist: trusty
|
|||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- DEVKITPRO=/opt/devkitpro
|
- DEVKITPRO=/opt/devkitpro
|
||||||
|
- WUT_ROOT=/opt/devkitpro/wut
|
||||||
- DEVKITPPC=/opt/devkitpro/devkitPPC
|
- DEVKITPPC=/opt/devkitpro/devkitPPC
|
||||||
- PORTLIBREPOS=$HOME/portlibrepos
|
- PORTLIBREPOS=$HOME/portlibrepos
|
||||||
|
|
||||||
@ -28,18 +29,23 @@ before_install:
|
|||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo dpkg -i /tmp/devkitpro-pacman.deb; fi
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo dpkg -i /tmp/devkitpro-pacman.deb; fi
|
||||||
- yes | sudo dkp-pacman -Syu devkitPPC --needed
|
- yes | sudo dkp-pacman -Syu devkitPPC --needed
|
||||||
- yes | sudo dkp-pacman -Syu general-tools --needed
|
- yes | sudo dkp-pacman -Syu general-tools --needed
|
||||||
|
- wget $(curl -s https://api.github.com/repos/decaf-emu/wut/releases/latest | grep 'browser_' | grep 'linux' | cut -d\" -f4)
|
||||||
|
|
||||||
install:
|
install:
|
||||||
|
- 7z x -y $(ls | grep "linux") -o${WUT_ROOT}
|
||||||
- cd $PORTLIBREPOS
|
- cd $PORTLIBREPOS
|
||||||
- ((git clone https://github.com/Maschell/dynamic_libs.git -b lib && (7z x -y ./dynamic_libs/libs/portlibs.zip -o${DEVKITPRO})) || (cd dynamic_libs && git pull))
|
|
||||||
- (git clone https://github.com/Maschell/libutils.git || (cd libutils && git pull))
|
|
||||||
- ((git clone https://github.com/Maschell/libgui.git && (7z x -y ./libgui/libs/portlibs.zip -o${DEVKITPRO})) || (cd libgui && git pull))
|
|
||||||
- (git clone https://github.com/Maschell/controller_patcher.git || (cd controller_patcher && git pull))
|
|
||||||
- (git clone https://github.com/Maschell/controller_patcher_configs.git || (cd controller_patcher_configs && git pull))
|
- (git clone https://github.com/Maschell/controller_patcher_configs.git || (cd controller_patcher_configs && git pull))
|
||||||
- (cd dynamic_libs && ((make -j8 | grep -c "built ... ") && make install && echo "installed" ) || (echo "no need for make install" && make))
|
- git clone https://github.com/Maschell/libutils.git -b wut
|
||||||
- (cd libutils && ((make -j8 | grep -c "built ... ") && make install && echo "installed" ) || (echo "no need for make install" && make))
|
- git clone https://github.com/Maschell/controller_patcher.git -b wut
|
||||||
- (cd libgui && ((make -j8 | grep -c "built ... ") && make install) || echo "no need for make install")
|
- cd libutils
|
||||||
- (cd controller_patcher && ((make -j8 | grep -c "built ... ") && make install && echo "installed" ) || (echo "no need for make install" && make))
|
- mkdir build && cd build
|
||||||
|
- cmake -DCMAKE_TOOLCHAIN_FILE=$WUT_ROOT/share/wut.toolchain.cmake -DCMAKE_INSTALL_PREFIX=$WUT_ROOT ../
|
||||||
|
- make install
|
||||||
|
- cd $PORTLIBREPOS
|
||||||
|
- cd libutils
|
||||||
|
- mkdir build && cd build
|
||||||
|
- cmake -DCMAKE_TOOLCHAIN_FILE=$WUT_ROOT/share/wut.toolchain.cmake -DCMAKE_INSTALL_PREFIX=$WUT_ROOT ../
|
||||||
|
- make install
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- cd $TRAVIS_BUILD_DIR/
|
- cd $TRAVIS_BUILD_DIR/
|
||||||
@ -52,19 +58,14 @@ before_deploy:
|
|||||||
- mkdir -p "wiiu/apps/hidtovpad/languages"
|
- mkdir -p "wiiu/apps/hidtovpad/languages"
|
||||||
- mkdir -p "wiiu/controller"
|
- mkdir -p "wiiu/controller"
|
||||||
- cp $PORTLIBREPOS/controller_patcher_configs/*.ini ./wiiu/controller
|
- cp $PORTLIBREPOS/controller_patcher_configs/*.ini ./wiiu/controller
|
||||||
- cp ./languages/*.lang ./wiiu/apps/hidtovpad/languages
|
|
||||||
- commit="$(git rev-parse --short=7 HEAD)"
|
- commit="$(git rev-parse --short=7 HEAD)"
|
||||||
- chmod +x gitrev.sh
|
- cp hidtovpad.mod wiiu/plugins/
|
||||||
- versiontag="$(./gitrev.sh)"
|
|
||||||
- make
|
|
||||||
- cp meta/* wiiu/apps/hidtovpad
|
|
||||||
- cp hidtovpad.elf wiiu/apps/hidtovpad
|
|
||||||
- zip -r hid_to_vpad_$versiontag.zip wiiu
|
- zip -r hid_to_vpad_$versiontag.zip wiiu
|
||||||
- git config --global user.email "builds@travis-ci.com"
|
- git config --global user.email "builds@travis-ci.com"
|
||||||
- git config --global user.name "Travis CI"
|
- git config --global user.name "Travis CI"
|
||||||
- export GIT_TAG=HIDtoVPAD-$versiontag
|
- export GIT_TAG=HIDtoVPAD-WUPS-$versiontag
|
||||||
- commitLog="$(git log -1 --pretty=%B)"
|
- commitLog="$(git log -1 --pretty=%B)"
|
||||||
- commitMessage="$(echo -e "-\n" && echo "HID to VPAD nightly build. Not a stable release. Expect bugs!" && echo -e "\nCommitlog:\n")"
|
- commitMessage="$(echo -e "-\n" && echo "HID to VPAD nightly WUPS build. Not a stable release. Expect bugs!" && echo -e "Commitlog:")"
|
||||||
- git tag $GIT_TAG -a -m "$commitMessage" -m "$commitLog"
|
- git tag $GIT_TAG -a -m "$commitMessage" -m "$commitLog"
|
||||||
- git push --quiet https://$GITHUBKEY@github.com/Maschell/hid_to_vpad $GIT_TAG > /dev/null 2>&1
|
- git push --quiet https://$GITHUBKEY@github.com/Maschell/hid_to_vpad $GIT_TAG > /dev/null 2>&1
|
||||||
- chmod +x ftpupload.sh
|
- chmod +x ftpupload.sh
|
||||||
@ -76,7 +77,7 @@ deploy:
|
|||||||
prerelease: true
|
prerelease: true
|
||||||
api_key:
|
api_key:
|
||||||
secure: "r2jF3dwTUdeo+0Rg5cDuJhxJU3kVnsEbCfIxRrL0QLjPQUCIPLQyqZCC2ApBW1VrOZ7oH6HUW1RhXdnu2izN2Bsis5jPmCJl4vDDb6tWvdW/h2BbZOiOqsGkjTVxBYs6ZddnENxrJBUBHyDbPijERr8lVMhs066S0yPQvVGWG9K+ClXkS2bO/Mq3wO/CzQNv93LrZXWGgkB9Ej2bzcYrt+ieA3jkVOn9K3PbLapRQCNec4RM3R+dJT4uQmrih892e4+JzZlyf4HGmIFH8xNIPQvXH5wD1nGcTzXDC6eQw5ljMPaxhWn2YtIv9knUKjhWzEe9fx8e+380SjpTTP0ir6I+EF2Y/A5spYJMuJDHLSvU2Qq1BwfE4pm/Om+/wRlTaPC8FYUuQPc1YdBLRYBpd3YwlJFEZSi4IEUbEOjOKDhagw0cYHQC42zypsm1aW+q8eVSeylsyjxOR2eawVHIzvOoMKA0FHIdA7zNFxh50y3EdYJw+L6/4wU14743ifT5TOrMuTWfSQXY4eBBkjMytkkhMsJfbs2xHHZkBgl2249Z93odr+2C5WbOqnEQRhPZunOxrMO8bga/K50wmTfOPSxkFJOxXnOuXlGWd0TsUeAtGg7Nk3pRaPVXhOMc+gXb/Ktdj6S11bUNO4VLXb4z7FmMy0yxmxrw3elpXDjaB/U="
|
secure: "r2jF3dwTUdeo+0Rg5cDuJhxJU3kVnsEbCfIxRrL0QLjPQUCIPLQyqZCC2ApBW1VrOZ7oH6HUW1RhXdnu2izN2Bsis5jPmCJl4vDDb6tWvdW/h2BbZOiOqsGkjTVxBYs6ZddnENxrJBUBHyDbPijERr8lVMhs066S0yPQvVGWG9K+ClXkS2bO/Mq3wO/CzQNv93LrZXWGgkB9Ej2bzcYrt+ieA3jkVOn9K3PbLapRQCNec4RM3R+dJT4uQmrih892e4+JzZlyf4HGmIFH8xNIPQvXH5wD1nGcTzXDC6eQw5ljMPaxhWn2YtIv9knUKjhWzEe9fx8e+380SjpTTP0ir6I+EF2Y/A5spYJMuJDHLSvU2Qq1BwfE4pm/Om+/wRlTaPC8FYUuQPc1YdBLRYBpd3YwlJFEZSi4IEUbEOjOKDhagw0cYHQC42zypsm1aW+q8eVSeylsyjxOR2eawVHIzvOoMKA0FHIdA7zNFxh50y3EdYJw+L6/4wU14743ifT5TOrMuTWfSQXY4eBBkjMytkkhMsJfbs2xHHZkBgl2249Z93odr+2C5WbOqnEQRhPZunOxrMO8bga/K50wmTfOPSxkFJOxXnOuXlGWd0TsUeAtGg7Nk3pRaPVXhOMc+gXb/Ktdj6S11bUNO4VLXb4z7FmMy0yxmxrw3elpXDjaB/U="
|
||||||
file: hid_to_vpad_$versiontag.zip
|
file: hid_to_vpad_WUPS_$versiontag.zip
|
||||||
on:
|
on:
|
||||||
repo: Maschell/hid_to_vpad
|
repo: Maschell/hid_to_vpad
|
||||||
tags: false
|
tags: false
|
||||||
|
217
Makefile
@ -1,4 +1,5 @@
|
|||||||
DO_LOGGING := 0
|
# You probably never need to adjust this Makefile.
|
||||||
|
# All changes can be done in the makefile.mk
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# Clear the implicit built in rules
|
# Clear the implicit built in rules
|
||||||
@ -11,15 +12,19 @@ endif
|
|||||||
ifeq ($(strip $(DEVKITPRO)),)
|
ifeq ($(strip $(DEVKITPRO)),)
|
||||||
$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPRO")
|
$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPRO")
|
||||||
endif
|
endif
|
||||||
export PATH := $(DEVKITPPC)/bin:$(PORTLIBS)/bin:$(PATH):$(DEVKITPRO)/tools/bin
|
|
||||||
export PORTLIBS := $(DEVKITPRO)/portlibs/ppc
|
export PATH := $(DEVKITPPC)/bin:$(PORTLIBS)/bin:$(PATH)
|
||||||
|
export PORTLIBS := $(DEVKITPRO)/portlibs/ppc
|
||||||
|
export WUPSDIR := $(DEVKITPRO)/wups
|
||||||
|
export GCC_VER := $(shell $(DEVKITPPC)/bin/powerpc-eabi-gcc -dumpversion)
|
||||||
|
|
||||||
PREFIX := powerpc-eabi-
|
PREFIX := powerpc-eabi-
|
||||||
|
|
||||||
export AS := $(PREFIX)as
|
export AS := $(PREFIX)as
|
||||||
export CC := $(PREFIX)gcc
|
export CC := $(PREFIX)gcc
|
||||||
export CXX := $(PREFIX)g++
|
export CXX := $(PREFIX)g++
|
||||||
export AR := $(PREFIX)ar
|
export LD := $(PREFIX)ld
|
||||||
|
export AR := $(PREFIX)ar
|
||||||
export OBJCOPY := $(PREFIX)objcopy
|
export OBJCOPY := $(PREFIX)objcopy
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
@ -28,43 +33,95 @@ export OBJCOPY := $(PREFIX)objcopy
|
|||||||
# SOURCES is a list of directories containing source code
|
# SOURCES is a list of directories containing source code
|
||||||
# INCLUDES is a list of directories containing extra header files
|
# INCLUDES is a list of directories containing extra header files
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
TARGET := hidtovpad
|
TARGET := $(notdir $(CURDIR)).mod
|
||||||
BUILD := build
|
BUILD := build
|
||||||
BUILD_DBG := $(TARGET)_dbg
|
|
||||||
SOURCES := src \
|
|
||||||
src/common \
|
|
||||||
src/custom/gui \
|
|
||||||
src/language \
|
|
||||||
src/menu \
|
|
||||||
src/menu/tv \
|
|
||||||
src/menu/drc \
|
|
||||||
src/menu/drc/content \
|
|
||||||
src/patcher \
|
|
||||||
src/resources \
|
|
||||||
src/settings \
|
|
||||||
|
|
||||||
DATA := data \
|
ifeq ($(notdir $(CURDIR)),$(BUILD))
|
||||||
data/images \
|
include ../makefile.mk
|
||||||
data/fonts \
|
else
|
||||||
data/sounds
|
include makefile.mk
|
||||||
|
endif
|
||||||
|
|
||||||
INCLUDES := src
|
include $(WUPSDIR)/plugin_makefile.mk
|
||||||
|
|
||||||
|
#MAP ?= $(TARGET:.mod=.map)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# options for code generation
|
# options for code generation
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
CFLAGS := -std=gnu11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \
|
|
||||||
-O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE)
|
# -Os: optimise size
|
||||||
CXXFLAGS := -std=gnu++11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math -D_GNU_SOURCE \
|
# -Wall: generate lots of warnings
|
||||||
-O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE)
|
# -DGEKKO_U: define the symbol GEKKO (used in some headers)
|
||||||
|
# -D__wiiu__: define the symbol __wiiu__ (used in some headers)
|
||||||
|
# -mcpu=750: enable processor specific compilation
|
||||||
|
# -meabi: enable eabi specific compilation
|
||||||
|
# -mhard-float: enable hardware floating point instructions
|
||||||
|
# -fno-common: stop common variables which the loader can't understand
|
||||||
|
# -msdata-none: do not use r2 or r13 as small data areas
|
||||||
|
# -memb: enable embedded application specific compilation
|
||||||
|
# -ffunction-sections: split up functions so linker can garbage collect
|
||||||
|
# -fdata-sections: split up data so linker can garbage collect
|
||||||
|
COMMON_CFLAGS += -Os -Wall -DGEKKO_U -D__wiiu__ -D__WIIU__ -mrvl -mcpu=750 -meabi -mhard-float -fno-common -msdata=none -memb -ffunction-sections -fdata-sections
|
||||||
|
|
||||||
|
|
||||||
|
# -x c: compile as c code
|
||||||
|
# -std=c11: use the c11 standard
|
||||||
|
CFLAGS += $(COMMON_CFLAGS) -x c -std=gnu11
|
||||||
|
|
||||||
|
# -x c: compile as c++ code
|
||||||
|
# -std=gnu++11: use the c++11 standard
|
||||||
|
CXXFLAGS += $(COMMON_CFLAGS) -x c++ -std=gnu++11
|
||||||
|
|
||||||
ifeq ($(DO_LOGGING), 1)
|
ifeq ($(DO_LOGGING), 1)
|
||||||
CFLAGS += -D__LOGGING__
|
CFLAGS += -D__LOGGING__
|
||||||
CXXFLAGS += -D__LOGGING__
|
CXXFLAGS += -D__LOGGING__
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ADD_NO_WHOLE_ARCHIVE := 0
|
||||||
|
|
||||||
|
ifeq ($(WUT_ENABLE_CPP), 1)
|
||||||
|
WUT_ENABLE_NEWLIB := 1
|
||||||
|
|
||||||
|
LD_FLAGS_ELF += -whole-archive -lwutstdc++
|
||||||
|
ADD_NO_WHOLE_ARCHIVE := 1
|
||||||
|
NEEDS_WUT := 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(WUT_ENABLE_NEWLIB), 1)
|
||||||
|
LD_FLAGS_ELF += -whole-archive -lwutnewlib
|
||||||
|
ADD_NO_WHOLE_ARCHIVE := 1
|
||||||
|
NEEDS_WUT := 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(WUT_DEFAULT_MALLOC), 1)
|
||||||
|
LD_FLAGS_ELF += -whole-archive -lwutmalloc
|
||||||
|
ADD_NO_WHOLE_ARCHIVE := 1
|
||||||
|
NEEDS_WUT := 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ADD_NO_WHOLE_ARCHIVE), 1)
|
||||||
|
LD_FLAGS_ELF += -no-whole-archive
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(NEEDS_WUT), 1)
|
||||||
|
ifeq ($(strip $(WUT_ROOT)),)
|
||||||
|
$(error "Please set WUT_ROOT in your environment. export WUT_ROOT=<path to>wut)
|
||||||
|
endif
|
||||||
|
CFLAGS += -D__WUT__
|
||||||
|
CXXFLAGS += -D__WUT__
|
||||||
|
endif
|
||||||
|
|
||||||
ASFLAGS := -mregnames
|
ASFLAGS +=
|
||||||
LDFLAGS := -nostartfiles -Wl,-Map,$(notdir $@).map,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,malloc_usable_size,-wrap,_malloc_r,-wrap,_free_r,-wrap,_realloc_r,-wrap,_calloc_r,-wrap,_memalign_r,-wrap,_malloc_usable_size_r,-wrap,valloc,-wrap,_valloc_r,-wrap,_pvalloc_r,--gc-sections
|
|
||||||
|
LDFLAG_COMMON +=
|
||||||
|
|
||||||
|
ifeq ($(WRAP_MALLOC), 1)
|
||||||
|
LDFLAG_COMMON += -Wl,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,malloc_usable_size,-wrap,_malloc_r,-wrap,_free_r,-wrap,_realloc_r,-wrap,_calloc_r,-wrap,_memalign_r,-wrap,_malloc_usable_size_r
|
||||||
|
endif
|
||||||
|
|
||||||
|
LDFLAGS_MOD += $(LD_FLAGS_MOD)
|
||||||
|
LDFLAGS_ELF += $(LD_FLAGS_ELF)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
Q := @
|
Q := @
|
||||||
@ -72,17 +129,14 @@ MAKEFLAGS += --no-print-directory
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# any extra libraries we wish to link with the project
|
# any extra libraries we wish to link with the project
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
LIBS := -lgui -lcontrollerpatcher -lutils -ldynamiclibs -lfreetype -lgd -lpng -ljpeg -lz -lmad -lvorbisidec
|
ALL_LIBS := $(LIBS)
|
||||||
#
|
#
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# list of directories containing libraries, this must be the top level containing
|
# list of directories containing libraries, this must be the top level containing
|
||||||
# include and lib
|
# include and lib
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
LIBDIRS := $(CURDIR) \
|
LIBDIRS +=
|
||||||
$(DEVKITPPC)/lib \
|
|
||||||
$(DEVKITPPC)/lib/gcc/powerpc-eabi/4.8.2
|
|
||||||
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# no real need to edit anything past this point unless you need to add additional
|
# no real need to edit anything past this point unless you need to add additional
|
||||||
@ -99,8 +153,6 @@ export DEPSDIR := $(CURDIR)/$(BUILD)
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# automatically build a list of object files for our project
|
# automatically build a list of object files for our project
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
FILELIST := $(shell bash ./filelist.sh)
|
|
||||||
LANGUAGES := $(shell bash ./updatelang.sh)
|
|
||||||
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
|
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.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)))
|
||||||
@ -113,9 +165,9 @@ PNGFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.png)))
|
|||||||
# use CXX for linking C++ projects, CC for standard C
|
# use CXX for linking C++ projects, CC for standard C
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
ifeq ($(strip $(CPPFILES)),)
|
ifeq ($(strip $(CPPFILES)),)
|
||||||
export LD := $(CC)
|
export LD_MOD := $(CC)
|
||||||
else
|
else
|
||||||
export LD := $(CXX)
|
export LD_MOD := $(CXX)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
export OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
|
export OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
|
||||||
@ -125,17 +177,16 @@ export OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# build a list of include paths
|
# build a list of include paths
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
|
export INCLUDE_FULL += $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
|
||||||
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
|
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
|
||||||
-I$(CURDIR)/$(BUILD) \
|
$(EXTERNAL_INCLUDE)
|
||||||
-I$(PORTLIBS)/include -I$(PORTLIBS)/include/freetype2\
|
|
||||||
-I$(PORTLIBS)/include/libutils -I$(PORTLIBS)/include/libgui
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# build a list of library paths
|
# build a list of library paths
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
|
export LIBPATHS_FULL += $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \
|
||||||
-L$(PORTLIBS)/lib
|
$(EXTERNAL_LIBPATHS)
|
||||||
|
|
||||||
|
|
||||||
export OUTPUT := $(CURDIR)/$(TARGET)
|
export OUTPUT := $(CURDIR)/$(TARGET)
|
||||||
.PHONY: $(BUILD) clean install
|
.PHONY: $(BUILD) clean install
|
||||||
@ -143,34 +194,42 @@ export OUTPUT := $(CURDIR)/$(TARGET)
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
$(BUILD):
|
$(BUILD):
|
||||||
@[ -d $@ ] || mkdir -p $@
|
@[ -d $@ ] || mkdir -p $@
|
||||||
#@$(MAKE) --no-print-directory -C $(CURDIR)/libcontrollerpatcher -f $(CURDIR)/libcontrollerpatcher/Makefile
|
|
||||||
#@$(MAKE) --no-print-directory -C $(CURDIR)/libcontrollerpatcher -f $(CURDIR)/libcontrollerpatcher/Makefile install
|
|
||||||
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
|
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
clean:
|
clean:
|
||||||
@echo clean ...
|
@echo clean ...
|
||||||
#@$(MAKE) --no-print-directory -C $(CURDIR)/libcontrollerpatcher -f $(CURDIR)/libcontrollerpatcher/Makefile clean
|
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf $(OUTPUT)
|
||||||
@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
else
|
else
|
||||||
|
|
||||||
DEPENDS := $(OFILES:.o=.d)
|
DEPENDS := $(OFILES:.o=.d)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
THIS_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
||||||
# main targets
|
|
||||||
#---------------------------------------------------------------------------------
|
|
||||||
$(OUTPUT).elf: $(OFILES)
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
###############################################################################
|
||||||
# This rule links in binary data with the .jpg extension
|
# Rule to make everything.
|
||||||
#---------------------------------------------------------------------------------
|
PHONY += all
|
||||||
%.elf: link.ld $(OFILES)
|
|
||||||
@echo "linking ... $(TARGET).elf"
|
|
||||||
$(Q)$(LD) -n -T $^ $(LDFLAGS) -o ../$(BUILD_DBG).elf $(LIBPATHS) $(LIBS)
|
|
||||||
$(Q)$(OBJCOPY) -S -R .comment -R .gnu.attributes ../$(BUILD_DBG).elf $@
|
|
||||||
|
|
||||||
|
all : $(OUTPUT)
|
||||||
|
###############################################################################
|
||||||
|
# Special build rules
|
||||||
|
|
||||||
|
# Rule to make the module file.
|
||||||
|
$(OUTPUT) : output.elf
|
||||||
|
@echo "checking for missing symbols ..."
|
||||||
|
@$(LD_MOD) ../$(BUILD)/output.elf $(LDFLAG_COMMON) $(LD_FLAGS_MOD) $(ALL_LIBS) $(LIBPATHS_FULL) -o check_linking.elf
|
||||||
|
@echo "linking ..." $@
|
||||||
|
@$(LD_MOD) ../$(BUILD)/output.elf $(LDFLAG_COMMON) $(LDFLAGS_MOD) $(ALL_LIBS) $(LIBPATHS_FULL) -o $@
|
||||||
|
|
||||||
|
# Rule to make the module file.
|
||||||
|
output.elf : $(OFILES)
|
||||||
|
@echo "linking ... output.elf"
|
||||||
|
@$(LD) $(OFILES) $(LDFLAGS_ELF) $(ALL_LIBS) $(LIBPATHS_FULL) -o $@
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Standard build rules
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
%.a:
|
%.a:
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
@ -181,17 +240,17 @@ $(OUTPUT).elf: $(OFILES)
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
%.o: %.cpp
|
%.o: %.cpp
|
||||||
@echo $(notdir $<)
|
@echo $(notdir $<)
|
||||||
@$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER)
|
@$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) $(INCLUDE_FULL) -c $< -o $@ $(ERROR_FILTER)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
@echo $(notdir $<)
|
@echo $(notdir $<)
|
||||||
@$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -c $< -o $@ $(ERROR_FILTER)
|
@$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) $(INCLUDE_FULL) -c $< -o $@ $(ERROR_FILTER)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
%.o: %.S
|
%.o: %.S
|
||||||
@echo $(notdir $<)
|
@echo $(notdir $<)
|
||||||
@$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ $(ERROR_FILTER)
|
@$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(INCLUDE_FULL) -c $< -o $@ $(ERROR_FILTER)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
%.png.o : %.png
|
%.png.o : %.png
|
||||||
@ -228,6 +287,32 @@ $(OUTPUT).elf: $(OFILES)
|
|||||||
@echo $(notdir $<)
|
@echo $(notdir $<)
|
||||||
@bin2s -a 32 $< | $(AS) -o $(@)
|
@bin2s -a 32 $< | $(AS) -o $(@)
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Assembly listing rules
|
||||||
|
|
||||||
|
# Rule to make assembly listing.
|
||||||
|
PHONY += list
|
||||||
|
list : $(LIST)
|
||||||
|
|
||||||
|
# Rule to make the listing file.
|
||||||
|
%.list : $(TARGET)
|
||||||
|
$(LOG)
|
||||||
|
-$Qmkdir -p $(dir $@)
|
||||||
|
$Q$(OBJDUMP) -d $< > $@
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Clean rule
|
||||||
|
|
||||||
|
# Rule to clean files.
|
||||||
|
PHONY += clean
|
||||||
|
clean :
|
||||||
|
$Qrm -rf $(wildcard $(BUILD) $(BIN))
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Phony targets
|
||||||
|
|
||||||
|
.PHONY : $(PHONY)
|
||||||
|
|
||||||
-include $(DEPENDS)
|
-include $(DEPENDS)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
|
15
README.md
@ -1,12 +1,12 @@
|
|||||||
[Current Stable Release](https://github.com/Maschell/hid_to_vpad/releases/latest) | [Nightly builds](https://github.com/Maschell/hid_to_vpad/releases) | [Issue Tracker](https://github.com/Maschell/hid_to_vpad/issues) | [Support Thread](https://gbatemp.net/threads/hid-to-vpad.424127/)
|
[Current Stable Release](https://github.com/Maschell/hid_to_vpad/releases/latest) | [Nightly builds](https://github.com/Maschell/hid_to_vpad/releases) | [Issue Tracker](https://github.com/Maschell/hid_to_vpad/issues) | [Support Thread](https://gbatemp.net/threads/hid-to-vpad.424127/)
|
||||||
# HID to VPAD [![Build Status](https://api.travis-ci.org/Maschell/hid_to_vpad.svg?branch=master)](https://travis-ci.org/Maschell/hid_to_vpad)
|
# HID to VPAD (WUPS plugin) [![Build Status](https://api.travis-ci.org/Maschell/hid_to_vpad.svg?branch=wups)](https://travis-ci.org/Maschell/hid_to_vpad)
|
||||||
|
|
||||||
|
|
||||||
This is a little tool that let you use a hid device on the WiiU. <br />
|
This is a plugin for the [Wii U Plugin System (WUPS)](https://github.com/Maschell/WiiUPluginSystem/) that let you use a HID device on the WiiU. <br />
|
||||||
It's based on the [controller_patcher](https://github.com/Maschell/controller_patcher) engine.
|
It's based on the [controller_patcher](https://github.com/Maschell/controller_patcher/tree/wut) engine.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
Start the .elf with the homebrew launcher. A GUI will open where you can assign your controller. You can attach and detach devices at any time. To change the mapping, open the Mii Maker.
|
Start place the .mod file into the WUPS plugin folder `sd:/wiiu/plugins` and start the plugin loader.
|
||||||
|
|
||||||
Place the config files into the following folder:
|
Place the config files into the following folder:
|
||||||
```
|
```
|
||||||
@ -47,10 +47,9 @@ If you don't find an anwser, please open an issue.
|
|||||||
# Building
|
# Building
|
||||||
In order to build this application you need serval libs:
|
In order to build this application you need serval libs:
|
||||||
|
|
||||||
- [dynamic_libs](https://github.com/Maschell/dynamic_libs/tree/lib) for access to the functions.
|
- [wut] (https://github.com/decaf-emu/wut)
|
||||||
- [libutils](https://github.com/Maschell/libutils) for common functions.
|
- [libutilswut](https://github.com/Maschell/libutils/tree/wut) for common functions.
|
||||||
- [controller_patcher](https://github.com/Maschell/controller_patcher) to emulate the controllers.
|
- [lcontrollerpatcherwut](https://github.com/Maschell/controller_patcher/tree/wut) to emulate the controllers.
|
||||||
- [libgui](https://github.com/Maschell/libgui) for the gui elements.
|
|
||||||
|
|
||||||
Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself.
|
Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself.
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 795 B |
Before Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 294 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |