source: atk2-sc3_fl850f1l/utils/applyrename

Last change on this file was 117, checked in by ertl-ishikawa, 9 years ago

ATK2-SC3 1.3.2 FL850F1L(RH850F1L)依存部(GCC/GHS/CCRH)を追加

File size: 3.5 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# 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
12# ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
13# 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
14# (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
15# 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
16# スコード中に含まれていること.
17# (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
18# 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
19# 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
20# の無保証規定を掲載すること.
21# (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
22# 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
23# と.
24# (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
25# 作権表示,この利用条件および下記の無保証規定を掲載すること.
26# (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
27# 報告すること.
28# (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
29# 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
30# また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
31# 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
32# 免責すること.
33#
34# 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕
35# 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので
36# はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利
37# 用する者に対して,AUTOSARパートナーになることを求めている.
38#
39# 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
40# よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
41# に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
42# アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
43# の責任を負わない.
44#
45# @(#) $Id: applyrename 2253 2011-09-11 01:23:40Z ertl-hiro $
46#
47
48#
49# ファイルにリネームを適用する
50#
51sub applyrename
52{
53 local($infile) = @_;
54 local($outfile) = $infile.".new";
55 local($line);
56
57 open(INFILE, "< ".$infile) || die;
58 open(OUTFILE, "> ".$outfile) || die;
59
60 while ($line = <INFILE>) {
61 $line =~ s/\b(_?)($syms)\b/$1_kernel_$2/gc;
62 print OUTFILE $line;
63 }
64
65 close(INFILE);
66 close(OUTFILE);
67
68 if (`cmp $infile $outfile`) {
69 rename($infile, $infile.".bak");
70 rename($outfile, $infile);
71 print STDERR "Modified: ",$infile,"\n";
72 }
73 else {
74 unlink($outfile);
75 }
76}
77
78#
79# エラーチェック
80#
81if ($#ARGV < 1) {
82 die "Usage: appyrename <prefix> <filelist>\n";
83}
84
85#
86# 初期化
87#
88@syms = ();
89$name = $ARGV[0];
90
91#
92# シンボルリストを読み込む
93#
94$deffile = $name."_rename.def";
95open(INFILE, $deffile) || die "Cannot open $deffile";
96while ($line = <INFILE>) {
97 chomp $line;
98 if ($line =~ /^#(.*)$/) {
99 # do nothing
100 }
101 elsif ($line =~ /^INCLUDE[ \t]+(.*)$/) {
102 # do nothing
103 }
104 elsif ($line ne "") {
105 @syms = (@syms, $line)
106 }
107}
108close(INFILE);
109
110#
111# 正規表現を作る
112#
113$syms = join("|", @syms);
114
115#
116# ファイルにリネームを適用する
117#
118shift @ARGV;
119foreach $infile (@ARGV) {
120 # ファイルでなければスキップ
121 next unless (-f $infile);
122
123 applyrename($infile) if ($infile ne $deffile);
124}
Note: See TracBrowser for help on using the repository browser.