source: azure_iot_hub_riscv/trunk/asp_baseplatform/utils/applyrename@ 453

Last change on this file since 453 was 453, checked in by coas-nagasima, 4 years ago

ファイルを追加

File size: 4.0 KB
Line 
1#! /usr/bin/perl
2#
3# TOPPERS Software
4# Toyohashi Open Platform for Embedded Real-Time Systems
5#
6# Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
7# Toyohashi Univ. of Technology, JAPAN
8# Copyright (C) 2004-2011 by Embedded and Real-Time Systems Laboratory
9# Graduate School of Information Science, Nagoya Univ., JAPAN
10#
11# 上記著作権者
12は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
13# ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
14# 変・再é…
15å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
16# (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17# 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
18# スコード中に含まれていること.
19# (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20# 用できる形で再é…
21å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
22å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
23# 者
24マニュアルなど)に,上記の著作権表示,この利用条件および下記
25# の無保証規定を掲載すること.
26# (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
27# 用できない形で再é…
28å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
29# と.
30# (a) 再é…
31å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
32マニュアルなど)に,上記の著
33# 作権表示,この利用条件および下記の無保証規定を掲載すること.
34# (b) 再é…
35å¸ƒã®å½¢æ…
36‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
37# 報告すること.
38# (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
39# 害からも,上記著作権者
40およびTOPPERSプロジェクトをå…
41è²¬ã™ã‚‹ã“と.
42# また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
43# 由に基づく請求からも,上記著作権者
44およびTOPPERSプロジェクトを
45# å…
46è²¬ã™ã‚‹ã“と.
47#
48# 本ソフトウェアは,無保証で提供されているものである.上記著作権者
49お
50# よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
51# に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
52# アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
53# の責任を負わない.
54#
55# @(#) $Id$
56#
57
58#
59# ファイルにリネームを適用する
60#
61sub applyrename
62{
63 local($infile) = @_;
64 local($outfile) = $infile.".new";
65 local($line);
66
67 open(INFILE, "< ".$infile) || die;
68 open(OUTFILE, "> ".$outfile) || die;
69
70 while ($line = <INFILE>) {
71 $line =~ s/\b(_?)($syms)\b/$1_kernel_$2/gc;
72 print OUTFILE $line;
73 }
74
75 close(INFILE);
76 close(OUTFILE);
77
78 if (`cmp $infile $outfile`) {
79 rename($infile, $infile.".bak");
80 rename($outfile, $infile);
81 print STDERR "Modified: ",$infile,"\n";
82 }
83 else {
84 unlink($outfile);
85 }
86}
87
88#
89# エラーチェック
90#
91if ($#ARGV < 1) {
92 die "Usage: appyrename <prefix> <filelist>\n";
93}
94
95#
96# 初期化
97#
98@syms = ();
99$name = $ARGV[0];
100
101#
102# シンボルリストを読み込む
103#
104$deffile = $name."_rename.def";
105open(INFILE, $deffile) || die "Cannot open $deffile";
106while ($line = <INFILE>) {
107 chomp $line;
108 if ($line =~ /^#(.*)$/) {
109 # do nothing
110 }
111 elsif ($line =~ /^INCLUDE[ \t]+(.*)$/) {
112 # do nothing
113 }
114 elsif ($line ne "") {
115 @syms = (@syms, $line)
116 }
117}
118close(INFILE);
119
120#
121# 正規表現を作る
122#
123$syms = join("|", @syms);
124
125#
126# ファイルにリネームを適用する
127#
128shift @ARGV;
129foreach $infile (@ARGV) {
130 # ファイルでなければスキップ
131 next unless (-f $infile);
132
133 applyrename($infile) if ($infile ne $deffile);
134}
Note: See TracBrowser for help on using the repository browser.