summaryrefslogtreecommitdiff
path: root/wps/wpsbuild.pl
diff options
context:
space:
mode:
Diffstat (limited to 'wps/wpsbuild.pl')
-rwxr-xr-xwps/wpsbuild.pl55
1 files changed, 55 insertions, 0 deletions
diff --git a/wps/wpsbuild.pl b/wps/wpsbuild.pl
new file mode 100755
index 0000000000..2eb76c6b06
--- /dev/null
+++ b/wps/wpsbuild.pl
@@ -0,0 +1,55 @@
1#!/usr/bin/perl
2
3my $wpslist=$ARGV[0];
4
5if(!$wpslist) {
6 print "Usage: wpsbuilds.pl [WPSLIST]\n";
7 exit;
8}
9
10sub buildcfg {
11 my $cfg = $wps;
12
13 $cfg =~ s/\.wps/.cfg/;
14
15 open(CFG, ">$cfg");
16
17 print CFG <<MOO
18\# $cfg generated by wpsbuild.pl
19\#
20wps: /.rockbox/wps/$wps
21font: /.rockbox/fonts/$font
22statusbar: $statusbar
23MOO
24;
25 close(CFG);
26}
27
28open(WPS, "<$wpslist");
29while(<WPS>) {
30 my $l = $_;
31 if($l =~ /^ *\#/) {
32 # skip comment
33 next;
34 }
35 if($l =~ /^ *<wps>/i) {
36 $within = 1;
37 next;
38 }
39 if($within) {
40 if($l =~ /^ *<\/wps>/i) {
41 buildcfg();
42 $within = 0;
43 }
44 elsif($l =~ /^Name: (.*)/i) {
45 $wps = $1;
46 }
47 elsif($l =~ /^Font: (.*)/i) {
48 $font = $1;
49 }
50 elsif($l =~ /^Statusbar: (.*)/i) {
51 $statusbar = $1;
52 }
53 }
54}
55