forked from libretro/RetroArch
-
Notifications
You must be signed in to change notification settings - Fork 2
/
wiiu-cores.sh
executable file
·142 lines (122 loc) · 5.07 KB
/
wiiu-cores.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#!/bin/sh
# usage:
# copy core libs (*_libretro_wiiu.a), info files (https://github.com/libretro/libretro-super/tree/master/dist/info)
# and icons (https://github.com/libretro/retroarch-assets/tree/master/pkg/wiiu) to this directory then run
# the script. the output will be in retroarch/pkg/wiiu
source ../version.all
platform=wiiu
EXT=a
mkdir -p ../pkg/wiiu/retroarch/cores/info
cp *.info ../pkg/wiiu/retroarch/cores/info/
mkdir -p ../pkg/wiiu/rpx/retroarch/cores/info
cp *.info ../pkg/wiiu/rpx/retroarch/cores/info/
make -C ../ -f Makefile.${platform}.salamander clean || exit 1
make -C ../ -f Makefile.${platform}.salamander BUILD_HBL_ELF=1 BUILD_RPX=1 -j3 || exit 1
mkdir -p ../pkg/wiiu/wiiu/apps/retroarch
mv -f ../retroarch_wiiu_salamander.elf ../pkg/wiiu/wiiu/apps/retroarch/retroarch.elf
cp -f ../pkg/wiiu/meta.xml ../pkg/wiiu/wiiu/apps/retroarch/meta.xml
cp -f ../pkg/wiiu/icon.png ../pkg/wiiu/wiiu/apps/retroarch/icon.png
mkdir -p ../pkg/wiiu/rpx/wiiu/apps/retroarch
mv -f ../retroarch_wiiu_salamander.rpx ../pkg/wiiu/rpx/wiiu/apps/retroarch/retroarch.rpx
rm -f ../retroarch_wiiu_salamander.rpx.elf
cp -f ../pkg/wiiu/meta.xml ../pkg/wiiu/rpx/wiiu/apps/retroarch/meta.xml
cp -f ../pkg/wiiu/icon.png ../pkg/wiiu/rpx/wiiu/apps/retroarch/icon.png
make -C ../ -f Makefile.${platform} clean || exit 1
lookup()
{
cat | grep "$1 = " | sed "s/$1 = \"//" | sed s/\"//
}
gen_meta_xml()
{
info="$1"_libretro.info
if [ -e $info ] ; then
display_name=`cat $info | lookup "display_name"`
corename=`cat $info | lookup "corename"`
authors=`cat $info | lookup "authors" | sed s/\|/\ -\ /g`
systemname=`cat $info | lookup "systemname"`
license=`cat $info | lookup "license"`
date=`date +%Y%m%d%H%M%S`
build_hash=`git rev-parse --short HEAD 2>/dev/null`
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' > "$1"_meta.xml
echo '<app version="1">' >> "$1"_meta.xml
echo ' <name>'$corename'</name>' >> "$1"_meta.xml
echo ' <coder>'$authors'</coder>' >> "$1"_meta.xml
echo ' <version>'$PACKAGE_VERSION' r'$build_hash'</version>' >> "$1"_meta.xml
echo ' <release_date>'$date'</release_date>' >> "$1"_meta.xml
echo ' <short_description>RetroArch</short_description>' >> "$1"_meta.xml
echo -e ' <long_description>'$display_name'\n\nSystem: '$systemname'\nLicense: '$license'</long_description>' >> "$1"_meta.xml
echo ' <category>emu</category>' >> "$1"_meta.xml
echo ' <url>https://github.com/libretro</url>' >> "$1"_meta.xml
echo '</app>' >> "$1"_meta.xml
fi
}
for f in `ls -v *_${platform}.${EXT}`; do
name=`echo "$f" | sed "s/\(_libretro_${platform}\|\).${EXT}$//"`
whole_archive=
build_hbl_elf=1
build_rpx=1
if [ $name = "nxengine" ] ; then
echo "Applying whole archive linking..."
whole_archive="WHOLE_ARCHIVE_LINK=1"
fi
if [ $name = "mame2003" ] ; then
build_hbl_elf=0
fi
if [ $name = "fbalpha2012" ] ; then
build_hbl_elf=0
fi
if [ $name = "mame2003_midway" ] ; then
build_rpx=0
fi
if [ $name = "fbalpha2012_cps1" ] ; then
build_rpx=0
fi
if [ $name = "fbalpha2012_cps2" ] ; then
build_rpx=0
fi
if [ $name = "fbalpha2012_cps3" ] ; then
build_rpx=0
fi
if [ $name = "fbalpha2012_neogeo" ] ; then
build_rpx=0
fi
echo "-- Building core: $name --"
cp -f "$f" ../libretro_${platform}.${EXT}
echo NAME: $name
# Compile core
make -C ../ -f Makefile.${platform} LIBRETRO=$name BUILD_HBL_ELF=$build_hbl_elf BUILD_RPX=$build_rpx $whole_archive -j3 || exit 1
gen_meta_xml $name
if [ -e ../retroarch_wiiu.elf ] ; then
cp ../retroarch_wiiu.elf ../pkg/wiiu/retroarch/cores/${name}_libretro.elf
mkdir -p ../pkg/wiiu/wiiu/apps/${name}_libretro
mv -f ../retroarch_wiiu.elf ../pkg/wiiu/wiiu/apps/${name}_libretro/${name}_libretro.elf
if [ -e ${name}_meta.xml ] ; then
cp -f ${name}_meta.xml ../pkg/wiiu/wiiu/apps/${name}_libretro/meta.xml
else
cp -f ../pkg/wiiu/meta.xml ../pkg/wiiu/wiiu/apps/${name}_libretro/meta.xml
fi
if [ -e $name.png ] ; then
cp -f $name.png ../pkg/wiiu/wiiu/apps/${name}_libretro/icon.png
else
cp -f ../pkg/wiiu/icon.png ../pkg/wiiu/wiiu/apps/${name}_libretro/icon.png
fi
fi
if [ -e ../retroarch_wiiu.rpx ] ; then
cp ../retroarch_wiiu.rpx ../pkg/wiiu/rpx/retroarch/cores/${name}_libretro.rpx
mkdir -p ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro
mv -f ../retroarch_wiiu.rpx ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/${name}_libretro.rpx
rm -f ../retroarch_wiiu.rpx.elf
if [ -e ${name}_meta.xml ] ; then
cp -f ${name}_meta.xml ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/meta.xml
else
cp -f ../pkg/wiiu/meta.xml ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/meta.xml
fi
if [ -e $name.png ] ; then
cp -f $name.png ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/icon.png
else
cp -f ../pkg/wiiu/icon.png ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/icon.png
fi
fi
rm -rf ${name}_meta.xml
done
# Additional build step