source: EcnlProtoTool/trunk/asp3_dcre/tinet/Makefile.tinet@ 270

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

mruby版ECNLプロトタイピング・ツールを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-makefile
File size: 9.9 KB
Line 
1#
2# TINET (TCP/IP Protocol Stack)
3#
4# Copyright (C) 2001-2009 by Dep. of Computer Science and Engineering
5# Tomakomai National College of Technology, JAPAN
6# Copyright (C) 2008-2009 by Hokkaido Industrial Research Institute, JAPAN
7#
8# 上記著作権者
9は,以下の (1)~(4) の条件か,Free Software Foundation
10# によってå…
11¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
12# 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
13# を改変したものを含む.以下同じ)を使用・複製・改変・再é…
14å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
15# 利用と呼ぶ)することを無償で許諾する.
16# (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17# 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
18# スコード中に含まれていること.
19# (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20# 用できる形で再é…
21å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
22å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
23# 者
24マニュアルなど)に,上記の著作権表示,この利用条件および下記
25# の無保証規定を掲載すること.
26# (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
27# 用できない形で再é…
28å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®æ¡ä»¶ã‚’満たすこと.
29# (a) 再é…
30å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
31マニュアルなど)に,上記の著
32# 作権表示,この利用条件および下記の無保証規定を掲載すること.
33# (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
34# 害からも,上記著作権者
35およびTOPPERSプロジェクトをå…
36è²¬ã™ã‚‹ã“と.
37#
38# 本ソフトウェアは,無保証で提供されているものである.上記著作権者
39お
40# よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
41# 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
42# 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
43#
44# @(#) $Id: Makefile.tinet 497 2014-06-26 01:50:14Z coas-nagasima $
45#
46
47#
48# 「ミドルウェアの Makefile のインクルード」に追加する。
49#
50
51#
52# カーネルの識別
53#
54ifdef SRCLANG
55 TARGET_KERNEL = ASP
56 TINET_CDEFS := $(TINET_CDEFS) -DTARGET_KERNEL_ASP
57else
58 TARGET_KERNEL = JSP
59 TINET_CDEFS := $(TINET_CDEFS) -DTARGET_KERNEL_JSP
60endif
61
62#
63# TINET ソースファイルのディレクトリの定義
64#
65TINET_ROOT = $(SRCDIR)/tinet
66
67#
68# TINET 1.1 との互換性のための定義
69#
70ifndef SUPPORT_INET4
71 ifndef SUPPORT_INET6
72 SUPPORT_INET4 = true
73 endif
74endif
75
76#
77# ネットワークサービスに関する定義
78#
79TINET_DIR = $(TINET_ROOT)/net:$(TINET_ROOT)/netinet
80
81TINET_COBJS := $(TINET_COBJS) \
82 net_buf.o net_count.o net_subr.o net_timer.o \
83 in_subr.o tinet_cfg.o route_cfg.o
84
85ifeq ($(SUPPORT_INET4),true)
86
87 TINET_COBJS := $(TINET_COBJS) \
88 ip_input.o ip_output.o ip_icmp.o
89 TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(TINET_ROOT)/netinet/ip.cfg
90 TINET_CDEFS := $(TINET_CDEFS) -DSUPPORT_INET4
91
92endif
93
94ifeq ($(SUPPORT_INET6),true)
95
96 TINET_DIR := $(TINET_DIR):$(TINET_ROOT)/netinet6
97 TINET_COBJS := $(TINET_COBJS) \
98 in6.o in6_ifattach.o nd6_rtr.o \
99 in6_subr.o ip6_input.o icmp6.o \
100 dest6.o route6.o frag6.o \
101 ah_input.o esp_input.o \
102 nd6.o nd6_nbr.o ip6_output.o scope6.o
103 TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(TINET_ROOT)/netinet6/ip6.cfg
104 TINET_CDEFS := $(TINET_CDEFS) -DSUPPORT_INET6
105
106endif
107
108ifeq ($(NET_IF),loop)
109
110 TINET_COBJS := $(TINET_COBJS) if_loop.o
111 TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(TINET_ROOT)/net/if_loop.cfg
112 TINET_CDEFS := $(TINET_CDEFS) -DSUPPORT_LOOP
113
114endif
115
116ifeq ($(NET_IF),ppp)
117
118 TINET_COBJS := $(TINET_COBJS) \
119 ppp.o ppp_hdlc.o ppp_lcp.o ppp_fsm.o \
120 ppp_auth.o ppp_ipcp.o ppp_upap.o
121 TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(TINET_ROOT)/net/ppp.cfg
122 TINET_CDEFS := $(TINET_CDEFS) -DSUPPORT_PPP
123
124ifeq ($(PPP_CFG_MODEM),true)
125
126 TINET_COBJS := $(TINET_COBJS) ppp_modem.o
127 TINET_CDEFS := $(TINET_CDEFS) -DPPP_CFG_MODEM
128
129endif
130
131endif
132
133# ターゲット依存の定義のインクルード
134
135ifeq ($(TARGET_KERNEL),ASP)
136
137 -include $(TARGETDIR)/Makefile.tinet
138
139endif
140
141ifeq ($(TARGET_KERNEL),JSP)
142
143 ifdef TOOL
144 ifdef SYS
145 -include $(SRCDIR)/config/$(CPU)-$(TOOL)/$(SYS)/Makefile.tinet
146 endif
147 -include $(SRCDIR)/config/$(CPU)-$(TOOL)/Makefile.tinet
148 else
149 ifdef SYS
150 -include $(SRCDIR)/config/$(CPU)/$(SYS)/Makefile.tinet
151 endif
152 -include $(SRCDIR)/config/$(CPU)/Makefile.tinet
153 endif
154
155endif
156
157ifeq ($(NET_IF),ether)
158
159 TINET_COBJS := $(TINET_COBJS) if.o ethernet.o
160 TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(TINET_ROOT)/net/ethernet.cfg
161 TINET_CDEFS := $(TINET_CDEFS) -DSUPPORT_ETHER
162
163 ifeq ($(SUPPORT_INET4),true)
164
165 TINET_COBJS := $(TINET_COBJS) if_ether.o
166 TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(TINET_ROOT)/netinet/if_ether.cfg
167
168 endif
169
170 ifeq ($(SUPPORT_INET6),true)
171
172 TINET_COBJS := $(TINET_COBJS) if6_ether.o
173
174 endif
175
176
177 include $(TINET_ROOT)/netdev/$(NET_DEV)/Makefile.tinet
178
179endif
180
181ifeq ($(SUPPORT_TCP),true)
182
183 TINET_COBJS := $(TINET_COBJS) \
184 tcp_input.o tcp_output.o tcp_timer.o \
185 tcp_subr.o tcp_subr_cs.o tcp_subr_ncs.o
186 TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(TINET_ROOT)/netinet/tcp.cfg
187 TINET_CDEFS := $(TINET_CDEFS) -DSUPPORT_TCP
188
189endif
190
191ifeq ($(SUPPORT_UDP),true)
192
193 TINET_COBJS := $(TINET_COBJS) \
194 udp_input.o udp_output.o udp_subr.o
195 TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) $(TINET_ROOT)/netinet/udp.cfg
196 TINET_CDEFS := $(TINET_CDEFS) -DSUPPORT_UDP
197
198endif
199
200#
201# TINET ライブラリの定義
202#
203
204ifeq ($(NO_USE_TINET_LIBRARY),true)
205
206 ifeq ($(SUPPORT_TCP),true)
207
208 TINET_COBJS := $(TINET_COBJS) tcp_usrreq.o
209
210 endif
211
212 ifeq ($(SUPPORT_UDP),true)
213
214 TINET_COBJS := $(TINET_COBJS) udp_usrreq.o
215
216 endif
217
218else
219
220 ifeq ($(SUPPORT_TCP),true)
221
222 TINET_LCSRCS := $(TINET_LCSRCS) tcp_usrreq.c
223
224 endif
225
226 ifeq ($(SUPPORT_UDP),true)
227
228 TINET_LCSRCS := $(TINET_LCSRCS) udp_usrreq.c
229
230 endif
231
232 TINET_CDEFS := $(TINET_CDEFS) -DTCP_CFG_LIBRARY -DUDP_CFG_LIBRARY
233
234 ifdef TINET_LIB
235 MAKE_TINET_LIB :=
236 LIBTINET := $(TINET_LIB)/libtinet.a
237 else
238 MAKE_TINET_LIB := libtinet.a
239 LIBTINET := $(MAKE_TINET_LIB)
240 endif
241
242 MAKE_MTASK := $(MAKE_MTASK) $(LIBTINET)
243
244endif
245
246#
247# ライブラリ化するソースファイルから生成される
248# オブジェクトファイルの定義
249#
250TINET_LCOBJS = $(foreach file,$(TINET_LCSRCS),$($(file:.c=)))
251
252tcp_usrreq = tcp_cre_rep.o tcp_del_rep.o \
253 tcp_cre_cep.o tcp_del_cep.o \
254 tcp_acp_cep.o tcp_con_cep.o tcp_sht_cep.o \
255 tcp_cls_cep.o tcp_can_cep.o \
256 tcp_snd_dat.o tcp_rcv_dat.o \
257 tcp_snd_oob.o tcp_rcv_oob.o \
258 tcp_get_buf.o tcp_snd_buf.o \
259 tcp_rcv_buf.o tcp_rel_buf.o \
260 tcp_set_opt.o tcp_get_opt.o
261
262udp_usrreq = udp_can_snd.o udp_can_rcv.o udp_can_cep.o \
263 udp_cre_cep.o udp_del_cep.o \
264 udp_snd_dat.o udp_rcv_dat.o udp_send_data.o \
265 udp_set_opt.o udp_get_opt.o
266
267#
268# ライブラリ化するソースファイルから生成される
269# オブジェクトファイルの依存関係の定義
270#
271$(tcp_usrreq) $(tcp_usrreq:.o=.s) $(tcp_usrreq:.o=.d): tcp_usrreq.c
272$(udp_usrreq) $(udp_usrreq:.o=.s) $(udp_usrreq:.o=.d): udp_usrreq.c udp_usrreq_nblk.c
273
274#
275# TINET ライブラリの定義
276#
277TINET_LIB_OBJS = $(TINET_LCOBJS)
278
279#
280# TINET コンフィギュレーションファイルの定義
281#
282
283ifeq ($(TARGET_KERNEL),ASP)
284
285TINET_CFG = $(APPLDIR)/tinet_$(APPLNAME).cfg
286TINET_CFG_OUT = tinet_cfg.c tinet_cfg.h
287TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) \
288 $(TINET_ROOT)/tinet_asp.cfg $(TINET_ROOT)/net/net_asp.cfg
289
290endif
291
292ifeq ($(TARGET_KERNEL),JSP)
293
294TINET_CFG = tinet_$(UNAME).cfg
295TINET_CFG_OUT = tinet_cfg.c tinet_id.h tinet_kern.cfg
296TINET_KERNEL_CFG := $(TINET_KERNEL_CFG) tinet_kern.cfg \
297 $(TINET_ROOT)/tinet.cfg $(TINET_ROOT)/net/net_jsp.cfg
298TINET_CFG_OUT := $(TINET_CFG_OUT) $(IPSEC_CFG_OUT)
299
300endif
301
302#
303# å…
304±é€šã‚³ãƒ³ãƒ‘イルオプションの定義への追加
305#
306CDEFS := $(CDEFS) $(TINET_CDEFS)
307INCLUDES := $(INCLUDES) -I$(TINET_ROOT)
308
309#
310# TINET コンパイルオプションの定義への追加
311#
312TINET_CFLAGS := $(TINET_CFLAGS) -fno-strict-aliasing
313
314#
315# システムサービス、ミドルウェアに関する定義
316#
317
318ifeq ($(TARGET_KERNEL),ASP)
319
320 SYSSVC_DIRS := $(SYSSVC_DIRS):$(TINET_DIR)
321 SYSSVC_ASMOBJS := $(SYSSVC_ASMOBJS)
322 SYSSVC_COBJS := $(SYSSVC_COBJS) $(TINET_COBJS)
323 SYSSVC_CFLAGS := $(SYSSVC_CFLAGS) $(TINET_CFLAGS)
324 SYSSVC_LIBS := $(SYSSVC_LIBS) $(LIBTINET) -lc
325
326 CLEAN_FILES := $(CLEAN_FILES) $(TINET_CFG_OUT) $(MAKE_TINET_LIB)
327
328endif
329
330ifeq ($(TARGET_KERNEL),JSP)
331
332 MTASK_CFG := $(MTASK_CFG) $(TINET_CFG)
333 MTASK_KERNEL_CFG := $(MTASK_KERNEL_CFG) $(TINET_KERNEL_CFG)
334 MTASK_DIR := $(MTASK_DIR):$(TINET_DIR)
335 MTASK_LCSRCS := $(MTASK_LCSRCS) $(TINET_LCSRCS)
336 MTASK_ASMOBJS := $(MTASK_ASMOBJS)
337 ifdef USE_CXX
338 MTASK_CXXOBJS := $(MTASK_CXXOBJS)
339 MTASK_COBJS := $(MTASK_COBJS) $(TINET_COBJS)
340 else
341 MTASK_COBJS := $(MTASK_COBJS) $(TINET_COBJS)
342 endif
343 MTASK_CFLAGS := $(MTASK_CFLAGS) $(TINET_CFLAGS)
344 MTASK_LIBS := $(MTASK_LIBS) $(LIBTINET) -lc
345 MTASK_CLEAN_FILES := $(MTASK_CLEAN_FILES) $(TINET_CFG_OUT) $(MAKE_TINET_LIB)
346
347endif
348
349#
350# TINET ライブラリファイルの生成
351#
352libtinet.a: $(TINET_LIB_OBJS)
353 rm -f libtinet.a
354 $(AR) -rcs libtinet.a $(TINET_LIB_OBJS)
355 $(RANLIB) libtinet.a
356
357#
358# コンパイルルールの定義
359#
360
361ifeq ($(TARGET_KERNEL),ASP)
362
363$(TINET_LCOBJS): %.o:
364 $(CC) -D__$(*F) -o $@ -c $(CFLAGS) $(SYSSVC_CFLAGS) $<
365
366tinet_cfg1_out.o: %.o: %.c
367 $(CC) -c $(CFLAGS) $(KERNEL_CFG_CFLAGS) $<
368
369endif
370
371ifeq ($(TARGET_KERNEL),JSP)
372
373$(TINET_LCOBJS): %.o:
374 $(CC) -D__$(*F) -o $@ -c $(CFLAGS) $(MTASK_CFLAGS) $<
375
376endif
377
378#
379# コンパイル結果の消去
380#
381cleantinet:
382 rm -f $(TINET_CFG_OUT) $(MAKE_TINET_LIB)
Note: See TracBrowser for help on using the repository browser.