comparison bin/cerium @ 330:786d0bc9766a draft

change bin/cerium not work
author aaa
date Fri, 12 Jun 2009 16:01:14 +0900
parents d3ea1d049230
children 4f2423ed1c86
comparison
equal deleted inserted replaced
329:d3ea1d049230 330:786d0bc9766a
5 use XML::LibXML; 5 use XML::LibXML;
6 6
7 my $command = shift; 7 my $command = shift;
8 my $main = "main.cc"; 8 my $main = "main.cc";
9 my $task_config = "tasks.xml"; 9 my $task_config = "tasks.xml";
10 my $cerium_path = "/Users/e065746/Works/lab/hg/Cerium";
10 11
11 if ($command =~ /init/) { 12 if ($command =~ /init/) {
12 &init; 13 &init;
13 } elsif ($command =~ /make/) { 14 } elsif ($command =~ /make/) {
14 &make; 15 &make;
24 } 25 }
25 26
26 sub init { 27 sub init {
27 # setup initial cerium configuration 28 # setup initial cerium configuration
28 mkdir "Task"; 29 mkdir "Task";
29 if (! -e $main ) &make_main; 30 if (! -e $main ) { &make_main; }
30 if (! -e $task_config ) &make_task_config; 31 if (! -e $task_config ) { &make_task_config; }
31 } 32 }
32 33
33 sub make_main { 34 sub make_main {
34 open(F,">$main") or die("Can't write $main\n"); 35 open(F,">$main") or die("Can't write $main\n");
35 print F <<"EOFEOF"; 36 print F <<'EOFEOF';
36 #include <stdio.h> 37 #include <stdio.h>
37 #include <stdlib.h> 38 #include <stdlib.h>
38 #include <string.h> 39 #include <string.h>
39 #include "TaskManager.h" 40 #include "TaskManager.h"
40 #include "Func.h" 41 #include "Func.h"
41 42
42 extern void task_init(void); 43 extern void task_init(void);
43 44
44 const char *usr_help_str = "Usage: ./main [-cpu spe_num] [-count N]\n\ 45 const char *usr_help_str = "Usage: ./main [-cpu spe_num] [-count N]\n\
45 -cpu Number of SPE (default 1) \n\"; 46 -cpu Number of SPE (default 1) \n\"";
46 47
47 int 48 int
48 init(int argc, char **argv) 49 init(int argc, char **argv)
49 { 50 {
50 for (int i = 1; argv[i]; ++i) { 51 for (int i = 1; argv[i]; ++i) {
115 if (! -e $task_config ) &make_task_config; 116 if (! -e $task_config ) &make_task_config;
116 } 117 }
117 118
118 sub make_main { 119 sub make_main {
119 open(F,">$main") or die("Can't write $main\n"); 120 open(F,">$main") or die("Can't write $main\n");
120 print F <<"EOFEOF"; 121 print F <<'EOFEOF';
121 #include <stdio.h> 122 #include <stdio.h>
122 #include <stdlib.h> 123 #include <stdlib.h>
123 #include <string.h> 124 #include <string.h>
124 #include "TaskManager.h" 125 #include "TaskManager.h"
125 #include "Func.h" 126 #include "Func.h"
186 } 187 }
187 188
188 sub make { 189 sub make {
189 190
190 return if ( ! -e $task_config ); 191 return if ( ! -e $task_config );
192
191 my $xml = XML::LibXML->new(); 193 my $xml = XML::LibXML->new();
192 my @nodes = $doc->findnodes('//surface'); 194 my $doc = $parser->parse_file("$cerium_path/lib/tasks.xml");
195 my $root = $doc->documentElement();
196 for my $e ($root->childNodes) {
197 print $e->nodeName, "\n";
198 }
193 } 199 }
194 200
195 __END__ 201 __END__
196 202
197 =head1 NAME 203 =head1 NAME