diff --git a/projects/test_shell/Jamfile b/projects/test_shell/Jamfile index beb371b4cb..d27d8ae791 100644 --- a/projects/test_shell/Jamfile +++ b/projects/test_shell/Jamfile @@ -6,6 +6,6 @@ SubDir TOP projects test_shell ; -Module test_shell : test_shell.c : shell posix_io ; +Module test_shell : test_shell.c : shell posix_io shell_auto_init ps ; UseModule test_shell ; diff --git a/projects/test_shell/test_shell.c b/projects/test_shell/test_shell.c index e40631d6e4..ea2fb9cfba 100644 --- a/projects/test_shell/test_shell.c +++ b/projects/test_shell/test_shell.c @@ -37,6 +37,7 @@ int main(void) { shell_t shell; shell_init(&shell, shell_readc); + shell_auto_init(&shell); shell_register_cmd(&shell, "start_test", print_teststart); shell_register_cmd(&shell, "end_test", print_testend); diff --git a/sys/Jamfile b/sys/Jamfile index 5b64399ac2..27e8f52a6a 100644 --- a/sys/Jamfile +++ b/sys/Jamfile @@ -29,10 +29,9 @@ SubDir TOP sys ; Module swtimer : swtimer.c : hwtimer ; Module posix_io : posix_io.c ; -Module shell : shell.c : hashtable hash_string ; -Module ps : ps.c ; Module auto_init : auto_init.c ; SubInclude TOP sys net ; SubInclude TOP sys lib ; +SubInclude TOP sys shell ; diff --git a/sys/include/shell.h b/sys/include/shell.h index e2527bcaba..b9fcb91466 100644 --- a/sys/include/shell.h +++ b/sys/include/shell.h @@ -57,4 +57,7 @@ void shell_register_cmd(shell_t *shell, char* name, void (*handler)(char* args)) */ void shell_run(shell_t *shell); + +void shell_auto_init(shell_t *shell); + #endif /* __SIMPLE_SHELL_H */ diff --git a/sys/shell/Jamfile b/sys/shell/Jamfile new file mode 100644 index 0000000000..deb2a8065b --- /dev/null +++ b/sys/shell/Jamfile @@ -0,0 +1,33 @@ +# ****************************************************************************** +# Copyright 2009, Freie Universitaet Berlin (FUB). All rights reserved. +# +# These sources were developed at the Freie Universitaet Berlin, Computer +# Systems and Telematics group (http://cst.mi.fu-berlin.de). +# ------------------------------------------------------------------------------ +# This file is part of FeuerWare. +# +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# FeuerWare is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see http://www.gnu.org/licenses/ . +# ------------------------------------------------------------------------------ +# For further information and questions please use the web site +# http://scatterweb.mi.fu-berlin.de +# and the mailinglist (subscription via web site) +# scatterweb@lists.spline.inf.fu-berlin.de +# ****************************************************************************** +# $Id$ + +SubDir TOP sys shell ; + +Module shell : shell.c : hashtable hash_string ; +Module ps : ps.c ; +Module shell_auto_init : shell_auto_init.c : shell ; + diff --git a/sys/ps.c b/sys/shell/ps.c similarity index 100% rename from sys/ps.c rename to sys/shell/ps.c diff --git a/sys/shell.c b/sys/shell/shell.c similarity index 100% rename from sys/shell.c rename to sys/shell/shell.c diff --git a/sys/shell/shell_auto_init.c b/sys/shell/shell_auto_init.c new file mode 100644 index 0000000000..5cdf802f13 --- /dev/null +++ b/sys/shell/shell_auto_init.c @@ -0,0 +1,11 @@ +#include + +#ifdef MODULE_PS +#include +#endif + +void shell_auto_init(shell_t *s) { +#ifdef MODULE_PS +shell_register_cmd(s, "ps", _ps_handler); +#endif +}