4 # Toyohashi Open Platform for Embedded Real-Time Systems
6 # Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
7 # Toyohashi Univ. of Technology, JAPAN
8 # Copyright (C) 2005-2007 by Embedded and Real-Time Systems Laboratory
9 # Graduate School of Information Science, Nagoya Univ., JAPAN
11 # 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
12 # ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
13 # 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
14 # (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
15 # 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
17 # (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
18 # 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
19 # 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
21 # (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
22 # 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
24 # (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
25 # 作権表示,この利用条件および下記の無保証規定を掲載すること.
26 # (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
28 # (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
29 # 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
30 # また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
31 # 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
34 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
35 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
36 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
37 # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
40 # @(#) $Id: genrename 509 2007-08-22 23:09:56Z hiro $
49 if ($sym =~ /[a-z]/) {
62 local($sym, $prefix) = @_;
64 print FILE "#define ",$prefix,$sym;
65 print FILE "\t" if (length($prefix.$sym) < 4);
66 print FILE "\t" if (length($prefix.$sym) < 8);
67 print FILE "\t" if (length($prefix.$sym) < 12);
68 print FILE "\t" if (length($prefix.$sym) < 16);
69 print FILE "\t" if (length($prefix.$sym) < 20);
70 print FILE "\t" if (length($prefix.$sym) < 24);
71 print FILE "\t",$prefix,do prefix_string($sym),$sym,"\n";
79 local($sym, $prefix) = @_;
81 print FILE "#undef ",$prefix,$sym,"\n";
89 local($file, $prefix) = @_;
91 $file =~ s/([>"])$/_$prefix.h$1/;
92 $includes .= "#include ".$file."\n";
99 die "Usage: genrename <prefix>\n";
107 $NAME = $name; $NAME =~ y/a-z/A-Z/;
109 $infile = $name."_rename.def";
110 $header_defsym = "TOPPERS_".$NAME."_RENAME_H";
115 open(INFILE, $infile) || die "Cannot open $infile";
116 while ($line = <INFILE>) {
118 @syms = (@syms, $line);
126 $file = $name."_rename.h";
127 open(FILE, "> ".$file);
130 /* This file is generated from $infile by genrename. */
132 #ifndef $header_defsym
133 #define $header_defsym
137 foreach $sym (@syms) {
138 if ($sym =~ /^#(.*)$/) {
140 print FILE " * ",$1,"\n";
143 elsif ($sym =~ /^INCLUDE[ \t]+(.*)$/) {
144 do generate_include($1, "rename");
147 do generate_define($sym, "");
156 #ifdef TOPPERS_LABEL_ASM
160 foreach $sym (@syms) {
161 if ($sym =~ /^#(.*)$/) {
163 print FILE " * ",$1,"\n";
166 elsif ($sym =~ /^INCLUDE[ \t]+(.*)$/) {
170 do generate_define($sym, "_");
179 #endif /* TOPPERS_LABEL_ASM */
182 #endif /* $header_defsym */
186 # ???_unrename.h を生成する
189 $file = $name."_unrename.h";
190 open(FILE, "> ".$file);
193 /* This file is generated from $infile by genrename. */
195 /* This file is included only when $name\_rename.h has been included. */
196 #ifdef $header_defsym
197 #undef $header_defsym
201 foreach $sym (@syms) {
202 if ($sym =~ /^#(.*)$/) {
204 print FILE " * ",$1,"\n";
207 elsif ($sym =~ /^INCLUDE[ \t]+(.*)$/) {
208 do generate_include($1, "unrename");
211 do generate_undef($sym, "");
220 #ifdef TOPPERS_LABEL_ASM
224 foreach $sym (@syms) {
225 if ($sym =~ /^#(.*)$/) {
227 print FILE " * ",$1,"\n";
230 elsif ($sym =~ /^INCLUDE[ \t]+(.*)$/) {
234 do generate_undef($sym, "_");
243 #endif /* TOPPERS_LABEL_ASM */
246 #endif /* $header_defsym */