source: EcnlProtoTool/trunk/asp3_dcre/tecsgen/Makefile@ 321

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

文字コードを設定

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-makefile;charset=UTF-8
File size: 5.7 KB
Line 
1#
2# TECS Generator
3# Generator for TOPPERS Embedded Component System
4#
5# Copyright (C) 2008-2013 by TOPPERS Project
6#--
7# 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
8# ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
9# 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
10# (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
11# 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
12# スコード中に含まれていること.
13# (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
14# 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
15# 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
16# の無保証規定を掲載すること.
17# (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
18# 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
19# と.
20# (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
21# 作権表示,この利用条件および下記の無保証規定を掲載すること.
22# (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
23# 報告すること.
24# (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
25# 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
26# また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
27# 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
28# 免責すること.
29#
30# 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
31# よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
32# に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
33# アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
34# の責任を負わない.
35#
36# $Id$
37#++
38
39LIB_PATH= tecslib/core
40PLUGIN_PATH= tecslib/plugin
41GEN_SRC = tecsgen.rb\
42 $(LIB_PATH)/bnf.tab.rb\
43 $(LIB_PATH)/bnf.y.rb\
44 $(LIB_PATH)/componentobj.rb\
45 $(LIB_PATH)/ctypes.rb\
46 $(LIB_PATH)/C_parser.tab.rb\
47 $(LIB_PATH)/C_parser.y.rb\
48 $(LIB_PATH)/expression.rb\
49 $(LIB_PATH)/generate.rb\
50 $(LIB_PATH)/messages.rb\
51 $(LIB_PATH)/optimize.rb\
52 $(LIB_PATH)/pluginModule.rb\
53 $(LIB_PATH)/syntaxobj.rb\
54 $(LIB_PATH)/types.rb\
55 $(LIB_PATH)/value.rb\
56 tecslib/version.rb
57
58PLUGIN_SRC = \
59 $(PLUGIN_PATH)/CellPlugin.rb\
60 $(PLUGIN_PATH)/CelltypePlugin.rb\
61 $(PLUGIN_PATH)/lib/GenTransparentMarshaler.rb\
62 $(PLUGIN_PATH)/lib/GenOpaqueMarshaler.rb\
63 $(PLUGIN_PATH)/lib/GenParamCopy.rb\
64 $(PLUGIN_PATH)/OpaqueRPCPlugin.rb\
65 $(PLUGIN_PATH)/RPCPlugin.rb\
66 $(PLUGIN_PATH)/SharedRPCPlugin.rb\
67 $(PLUGIN_PATH)/SignaturePlugin.rb\
68 $(PLUGIN_PATH)/ThroughPlugin.rb\
69 $(PLUGIN_PATH)/TracePlugin.rb
70
71
72BNF = $(LIB_PATH)/bnf.y.rb
73GEN_TAB = $(LIB_PATH)/bnf.tab.rb
74GEN_TAB_DEB = $(LIB_PATH)/bnf-deb.tab.rb
75C_PARSER = $(LIB_PATH)/C_parser.y.rb
76C_TAB = $(LIB_PATH)/C_parser.tab.rb
77EXERB_EXE = tecsgen.exe
78EXERB_EXY = tecsgen.exy
79
80all: generator
81
82debug : yydebug
83
84generator : $(GEN_TAB) $(GEN_SRC) $(PLUGIN_SRC) $(C_TAB)
85
86clean : clean2
87 rm -f $(GEN_TAB) $(GEN_TAB_DEB) $(C_TAB)
88
89clean2 :
90 rm -f $(LIB_PATH)/bnf.output $(LIB_PATH)/C_parser.output
91 rm -rf rdoc
92
93real_clean : clean
94 rm -f $(EXERB_EXE)
95
96$(GEN_TAB) : $(BNF)
97 racc -O -v $(BNF)
98
99$(C_TAB) : $(C_PARSER)
100 racc -O -v $(C_PARSER)
101
102yydebug : $(GEN_TAB_DEB)
103
104$(GEN_TAB_DEB) : $(BNF) $(GEN_SRC) $(PLUGIN_SRC)
105 racc -v -g -o $(GEN_TAB_DEB) $(BNF) # yydebug を有効にする
106
107# exerb : $(EXERB_EXE)
108exerb :
109 @echo "!!! please build using ActiveScriptRuby !!!"
110 exit 1
111
112# $(EXERB_EXE) : $(EXERB_EXY) $(GEN_SRC) $(PLUGIN_SRC)
113# exerb $(EXERB_EXY)
114# tecsgen.exy.ini から tecsgen.exy を生成するのは util/release.sh により行われる
115# MANIFEST に記載のバージョン番号が、tecsgen.exy.ini の文字列置換により、埋め込まれる
116
117exerb_check : $(EXERB_EXE)
118
119$(EXERB_EXE) : $(EXERB_EXY) $(GEN_SRC) $(PLUGIN_SRC)
120 @echo "### Need make_tecsgen_exerb on ActiveScriptRuby to update tecsgen.exerb ###"
121
122print_error : # エラーメッセージを拾い出す
123 grep -e "Generator\.error" -e cdl_error $(LIB_PATH)/*.rb \
124 | grep -v bnf.tab.rb \
125 | sed -e "s/\s*Generator\.error(/ /" -e "s/\s*cdl_error(//" -e "s/).*$$//"
126
127print_error2 : # エラーメッセージを拾い出す
128 grep '[^A-Z][A-VXYZ][0-9][0-9][0-9][0-9]' $(LIB_PATH)/*.rb \
129 | grep -v bnf.tab.rb \
130 | grep -v '^Makefile' \
131 | sed -e "s/.*\([A-Z][0-9][0-9][0-9][0-9].*\)/\1/" \
132 | sed -e 's/\(.*\)".*/\1/'
133
134print_warning : # ウォーニングメッセージを拾い出す
135 grep -e 'Generator\.warning' -e cdl_warning $(LIB_PATH)/*.rb \
136 | grep -v bnf.tab.rb \
137 | sed -e "s/\s*Generator\.warning(/ /" -e "s/).*$$//"
138
139print_expr_token :
140 # Expression に含まれるトークンを拾い出す
141 # OP_... より後ろは式とは関係ないトークン
142 grep ':[A-Z]' bnf.y.rb | sed -e 's/.*\(:[A-Z]\w*\).*/\1/'
143
144print_mikan : # 設計未完部分を拾い出す
145 grep mikan $(LIB_PATH)/*.rb
146
147print_def :
148 grep -e '^ *def' -e '^ *class' $(LIB_PATH)/*.rb | grep -v bnf.tab.rb
149
150print_class :
151 grep '^ *class' $(LIB_PATH)/*.rb | grep -v bnf.tab.rb
152
153rdoc :
154 rdoc --charset euc --op rdoc $(GEN_SRC) $(PLUGIN_SRC)
Note: See TracBrowser for help on using the repository browser.