forked from len0rd/rockbox
Lua: expose BUTTON_* defines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21500 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
7a8e1e8fc0
commit
af980d8bcb
2 changed files with 70 additions and 2 deletions
64
apps/plugins/lua/button_helper.pl
Executable file
64
apps/plugins/lua/button_helper.pl
Executable file
|
@ -0,0 +1,64 @@
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
############################################################################
|
||||||
|
# __________ __ ___.
|
||||||
|
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
# \/ \/ \/ \/ \/
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# Copyright (C) 2009 by Maurus Cuelenaere
|
||||||
|
#
|
||||||
|
# All files in this archive are subject to the GNU General Public License.
|
||||||
|
# See the file COPYING in the source tree root for full license agreement.
|
||||||
|
#
|
||||||
|
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
# KIND, either express or implied.
|
||||||
|
#
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
$svnrev = '$Revision$';
|
||||||
|
|
||||||
|
print <<EOF
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "button-target.h"
|
||||||
|
|
||||||
|
struct button
|
||||||
|
{
|
||||||
|
char* name;
|
||||||
|
unsigned long value;
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct button buttons[] = {
|
||||||
|
EOF
|
||||||
|
;
|
||||||
|
|
||||||
|
while(my $line = <STDIN>)
|
||||||
|
{
|
||||||
|
chomp($line);
|
||||||
|
if($line =~ /^#define (BUTTON_[^\s]+) (.+)$/)
|
||||||
|
{
|
||||||
|
printf "{\"%s\", %s},\n", $1, $2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print <<EOF
|
||||||
|
};
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
printf("-- Don't change this file!\\n");
|
||||||
|
printf("-- It is automatically generated of button-target.h \%s\\n", "$svnrev");
|
||||||
|
printf("rb.buttons = {\\n");
|
||||||
|
for(i=0; i<sizeof(buttons)/sizeof(struct button); i++)
|
||||||
|
printf("\\t\%s = \%ld,\\n", buttons[i].name, buttons[i].value);
|
||||||
|
printf("}\\n");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
EOF
|
||||||
|
;
|
|
@ -30,10 +30,14 @@ else
|
||||||
ROCKS += $(LUA_BUILDDIR)/lua.rock
|
ROCKS += $(LUA_BUILDDIR)/lua.rock
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(LUA_BUILDDIR)/lua.rock: $(LUA_OBJ) $(LUA_BUILDDIR)/actions.lua
|
$(LUA_BUILDDIR)/lua.rock: $(LUA_OBJ) $(LUA_BUILDDIR)/actions.lua $(LUA_BUILDDIR)/buttons.lua
|
||||||
|
|
||||||
$(LUA_BUILDDIR)/actions.lua: $(LUA_OBJ)
|
$(LUA_BUILDDIR)/actions.lua: $(LUA_OBJ)
|
||||||
$(call PRINTS,GEN $(@F))$(CC) $(PLUGINFLAGS) -E $(APPSDIR)/action.h | $(LUA_SRCDIR)/action_helper.pl > $(LUA_BUILDDIR)/actions.lua
|
$(call PRINTS,GEN $(@F))$(CC) $(INCLUDES) -E $(APPSDIR)/action.h | $(LUA_SRCDIR)/action_helper.pl > $(LUA_BUILDDIR)/actions.lua
|
||||||
|
|
||||||
|
$(LUA_BUILDDIR)/buttons.lua: $(LUA_OBJ)
|
||||||
|
$(SILENT)$(CC) $(INCLUDES) -dM -E -include button-target.h - < /dev/null | $(LUA_SRCDIR)/button_helper.pl | $(HOSTCC) -fno-builtin $(INCLUDES) -x c -o $(LUA_BUILDDIR)/button_helper -
|
||||||
|
$(call PRINTS,GEN $(@F))$(LUA_BUILDDIR)/button_helper > $(LUA_BUILDDIR)/buttons.lua
|
||||||
|
|
||||||
$(LUA_BUILDDIR)/lua.refmap: $(LUA_OBJ)
|
$(LUA_BUILDDIR)/lua.refmap: $(LUA_OBJ)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue