Changeset 429 for EcnlProtoTool/trunk/asp3_dcre/sample/Makefile
- Timestamp:
- Jul 3, 2020, 7:19:17 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/asp3_dcre/sample/Makefile
r331 r429 6 6 # Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 # Toyohashi Univ. of Technology, JAPAN 8 # Copyright (C) 2006-201 6by Embedded and Real-Time Systems Laboratory8 # Copyright (C) 2006-2019 by Embedded and Real-Time Systems Laboratory 9 9 # Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 # … … 91 91 92 92 # 93 # TECS関係ファイルのディレクトリの定義 94 # 95 TECSDIR = @(TECSDIR) 96 97 # 93 98 # トレースログを取得するかどうかの定義 94 99 # … … 119 124 120 125 # 121 # 依存関係ファイルを置くディレクトリの定義 122 # 123 DEPDIR = @(DEPDIR) 126 # 中間オブジェクトファイルと依存関係ファイルを置くディレクトリの定義 127 # 128 OBJDIR = @(OBJDIR) 129 DEPDIR = @(OBJDIR) 124 130 125 131 # … … 149 155 -include $(TECSGENDIR)/Makefile.tecsgen 150 156 endif 157 158 TINETDIR = 151 159 152 160 # … … 191 199 APPL_COBJS := @(APPLOBJS) 192 200 endif 193 APPL_COBJS := $(APPL_COBJS) log_output.o vasyslog.o t_perror.o strerror.o 201 APPL_COBJS := $(APPL_COBJS) log_output.o vasyslog.o t_perror.o strerror.o mbed_stub.o 194 202 APPL_CFLAGS := $(APPL_CFLAGS) 195 203 ifdef APPLDIRS … … 197 205 endif 198 206 199 # 200 # ネットワークサービスの定義 201 # 202 203 NO_USE_TINET_LIBRARY = true 204 205 # ネットワークインタフェースの選択、何れか一つ選択する。 206 207 NET_IF = ether 208 209 # イーサネット・ディバイスドライバの選択 210 211 NET_DEV = if_mbed 212 213 # ネットワーク層の選択 214 215 #SUPPORT_INET6 = true 216 SUPPORT_INET4 = true 217 218 # API に組込む機能の選択 219 220 #API_CFG_IP4MAPPED_ADDR = true 221 222 # トランスポート層の選択 223 224 SUPPORT_TCP = true 225 #SUPPORT_UDP = true 226 227 # 228 # システムサービスの Makefile のインクルード 229 # 230 include $(SRCDIR)/tinet/Makefile.tinet 207 ifdef TINETDIR 208 # 209 # ネットワークサービスの定義 210 # 211 NO_USE_TINET_LIBRARY = true 212 213 # ネットワークインタフェースの選択、何れか一つ選択する。 214 NET_IF = ether 215 216 # イーサネット・ディバイスドライバの選択 217 NET_DEV = if_mbed 218 219 # ネットワーク層の選択 220 #SUPPORT_INET6 = true 221 SUPPORT_INET4 = true 222 223 # API に組込む機能の選択 224 #API_CFG_IP4MAPPED_ADDR = true 225 226 # トランスポート層の選択 227 SUPPORT_TCP = true 228 #SUPPORT_UDP = true 229 230 # IGMPを有効に設定 231 #SUPPORT_IGMP = true 232 233 # 234 # ネットワークサービスの Makefile のインクルード 235 # 236 include $(SRCDIR)/$(TINETDIR)/Makefile.tinet 237 endif 231 238 232 239 # … … 236 243 $(SYSSVC_DIRS) $(SRCDIR)/syssvc 237 244 SYSSVC_ASMOBJS := $(SYSSVC_ASMOBJS) 238 SYSSVC_COBJS := $( INIT_TECS_COBJ) $(TECS_COBJS) $(SYSSVC_COBJS) \239 @(SYSSVCOBJS) $(CXXRTS)245 SYSSVC_COBJS := $(SYSSVC_COBJS) $(TECS_COBJS) \ 246 $(INIT_TECS_COBJ) $(CXXRTS) 240 247 SYSSVC_CFLAGS := $(SYSSVC_CFLAGS) 241 248 INCLUDES := $(INCLUDES) -I$(TECSGENDIR) -I$(SRCDIR)/tecs_kernel 242 249 243 250 # 251 # トレースログ記録のサンプルコードに関する定義 252 # 253 ifdef ENABLE_TRACE 254 COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE 255 SYSSVC_DIRS := $(SYSSVC_DIRS) $(SRCDIR)/arch/tracelog 256 endif 257 258 # 244 259 # ターゲットファイル 245 260 # 246 261 .PHONY: all 247 262 ifndef OMIT_TECS 248 all: tecs 263 all: tecs | $(DEPDIR) 249 264 # @$(MAKE) check 250 265 @$(MAKE) check $(OBJNAME).bin … … 261 276 # コンフィギュレータに関する定義 262 277 # 263 CFG_TABS := --api-table $(SRCDIR)/tinet/tcpip_api.def:tcpip \ 278 CFG_KERNEL := --kernel asp 279 ifndef TINETDIR 280 CFG_TRB := -T $(TARGETDIR)/target_kernel.trb 281 CFG_TABS := --api-table $(SRCDIR)/kernel/kernel_api.def \ 282 --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS) 283 else 284 CFG_TRB := -T $(TINET_ROOT)/tinet.trb:tcpip -T $(TARGETDIR)/target_kernel.trb:kernel 285 CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \ 264 286 --api-table $(SRCDIR)/kernel/kernel_api.def:kernel \ 265 --symval-table $( SRCDIR)/tinet/tcpip_sym.def \287 --symval-table $(TINET_ROOT)/tcpip_sym.def \ 266 288 --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS) 289 endif 267 290 CFG_ASMOBJS := $(CFG_ASMOBJS) 268 291 CFG_COBJS := kernel_cfg.o $(CFG_COBJS) 269 CFG_OBJS := $(CFG_ASMOBJS) $(CFG_COBJS) 292 CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(CFG_CFLAGS) 293 270 294 CFG2_OUT_SRCS := kernel_cfg.h kernel_cfg.c $(CFG2_OUT_SRCS) 271 CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(CFG_CFLAGS)272 295 273 296 # … … 300 323 $(foreach file,$(KERNEL_FCSRCS),$(file:.c=.o)) 301 324 endif 302 ifdef OMIT_OFFSET_H 303 OFFSET_H = 304 else 325 ifdef TARGET_OFFSET_TRB 305 326 OFFSET_H = offset.h 306 327 endif … … 318 339 endif 319 340 ifndef TARGET_TCPIP_TRB 320 TARGET_TCPIP_TRB := $(SRCDIR)/ tinet/tinet.trb341 TARGET_TCPIP_TRB := $(SRCDIR)/$(TINETDIR)/tinet.trb 321 342 endif 322 343 … … 330 351 331 352 # 353 # 中間オブジェクトファイルを置くディレクトリの処理 354 # 355 APPL_ASMOBJS := $(addprefix $(OBJDIR)/, $(APPL_ASMOBJS)) 356 APPL_CXXOBJS := $(addprefix $(OBJDIR)/, $(APPL_CXXOBJS)) 357 APPL_COBJS := $(addprefix $(OBJDIR)/, $(APPL_COBJS)) 358 SYSSVC_ASMOBJS := $(addprefix $(OBJDIR)/, $(SYSSVC_ASMOBJS)) 359 SYSSVC_COBJS := $(addprefix $(OBJDIR)/, $(SYSSVC_COBJS)) 360 KERNEL_ASMOBJS := $(addprefix $(OBJDIR)/, $(KERNEL_ASMOBJS)) 361 KERNEL_COBJS := $(addprefix $(OBJDIR)/, $(KERNEL_COBJS)) 362 KERNEL_LCOBJS := $(addprefix $(OBJDIR)/, $(KERNEL_LCOBJS)) 363 CFG_ASMOBJS := $(addprefix $(OBJDIR)/, $(CFG_ASMOBJS)) 364 CFG_COBJS := $(addprefix $(OBJDIR)/, $(CFG_COBJS)) 365 366 # 332 367 # コンパイルのための変数の定義 333 368 # 369 APPL_OBJS = $(APPL_ASMOBJS) $(APPL_COBJS) $(APPL_CXXOBJS) 370 SYSSVC_OBJS = $(SYSSVC_ASMOBJS) $(SYSSVC_COBJS) 334 371 KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS) 335 SYSSVC_OBJS = $(SYSSVC_ASMOBJS) $(SYSSVC_COBJS) 336 APPL_OBJS = $(APPL_ASMOBJS) $(APPL_COBJS) $(APPL_CXXOBJS) 372 CFG_OBJS = $(CFG_ASMOBJS) $(CFG_COBJS) 337 373 ALL_OBJS = $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \ 338 374 $(END_OBJS) $(HIDDEN_OBJS) … … 368 404 tecs $(TECSGEN_SRCS) $(TECS_HEADERS): $(TECSGEN_TIMESTAMP) ; 369 405 $(TECSGEN_TIMESTAMP): $(APPL_CDL) $(TECS_IMPORTS) 370 $(TECSGEN) $< -R $(INCLUDES) --cpp "$( TECS_CPP)" -g $(TECSGENDIR)406 $(TECSGEN) $< -R $(INCLUDES) --cpp "$(subst ", \", $(TECS_CPP))" -g $(TECSGENDIR) 371 407 372 408 # … … 375 411 cfg1_out.c cfg1_out.db: cfg1_out.timestamp ; 376 412 cfg1_out.timestamp: $(APPL_CFG) $(TECSGEN_TIMESTAMP) 377 $(CFG) --pass 1 --kernel asp$(INCLUDES) $(CFG_TABS) \413 $(CFG) --pass 1 $(CFG_KERNEL) $(INCLUDES) $(CFG_TABS) \ 378 414 -M $(DEPDIR)/cfg1_out_c.d $(TARGET_KERNEL_CFG) $< 379 415 380 $(CFG1_OUT): $(START_OBJS) cfg1_out.o $(CFG_DMY) $(END_OBJS) $(HIDDEN_OBJS)416 $(CFG1_OUT): $(START_OBJS) $(OBJDIR)/cfg1_out.o $(CFG_DMY) $(END_OBJS) $(HIDDEN_OBJS) 381 417 $(LINK) $(CFLAGS) $(LDFLAGS) $(CFG1_OUT_LDFLAGS) -o $(CFG1_OUT) \ 382 $(START_OBJS) cfg1_out.o $(CFG_DMY) $(END_OBJS)418 $(START_OBJS) $(OBJDIR)/cfg1_out.o $(CFG_DMY) $(LIBS) $(END_OBJS) 383 419 384 420 cfg1_out.syms: $(CFG1_OUT) … … 390 426 $(CFG2_OUT_SRCS) cfg2_out.db: kernel_cfg.timestamp ; 391 427 kernel_cfg.timestamp: cfg1_out.db cfg1_out.syms cfg1_out.srec 392 $(CFG) --pass 2 --kernel asp $(INCLUDES) -T $(TARGET_TCPIP_TRB):tcpip -T $(TARGET_KERNEL_TRB):kernel428 $(CFG) --pass 2 $(CFG_KERNEL) $(INCLUDES) $(CFG_TRB) 393 429 394 430 # … … 397 433 $(OFFSET_H): offset.timestamp ; 398 434 offset.timestamp: cfg1_out.db cfg1_out.syms cfg1_out.srec 399 $(CFG) --pass 2 -O --kernel asp$(INCLUDES) -T $(TARGET_OFFSET_TRB) \435 $(CFG) --pass 2 -O $(CFG_KERNEL) $(INCLUDES) -T $(TARGET_OFFSET_TRB) \ 400 436 --rom-symbol cfg1_out.syms --rom-image cfg1_out.srec 401 437 … … 409 445 410 446 # 447 # 並列makeのための依存関係の定義 448 # 449 $(APPL_OBJS) $(SYSSVC_OBJS): | kernel_cfg.timestamp 450 $(APPL_ASMOBJS) $(SYSSVC_ASMOBJS) $(KERNEL_ASMOBJS) $(CFG_ASMOBJS): \ 451 | offset.timestamp 452 453 # 411 454 # 特別な依存関係の定義 412 455 # 413 tBannerMain.o: $(filter-out tBannerMain.o,$(ALL_OBJS)) $(LIBS_DEP) 456 $(OBJDIR)/@(BANNEROBJ): $(filter-out $(OBJDIR)/@(BANNEROBJ),$(ALL_OBJS)) \ 457 $(LIBS_DEP) 414 458 415 459 # … … 417 461 # 418 462 $(OBJFILE): $(ALL_OBJS) $(LIBS_DEP) 419 $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) \463 $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) -Wl,-Map=$(OBJNAME).map,--cref \ 420 464 $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \ 421 465 $(ALL_LIBS) $(END_OBJS) 466 467 # 468 # 依存関係フォルダの作成 469 # 470 $(DEPDIR): 471 mkdir $@ 422 472 423 473 # … … 445 495 check: check.timestamp ; 446 496 check.timestamp: cfg2_out.db $(OBJNAME).syms $(OBJNAME).srec 447 $(CFG) --pass 3 --kernel asp-O $(INCLUDES) -T $(TARGET_CHECK_TRB) \497 $(CFG) --pass 3 $(CFG_KERNEL) -O $(INCLUDES) -T $(TARGET_CHECK_TRB) \ 448 498 --rom-symbol $(OBJNAME).syms --rom-image $(OBJNAME).srec 449 499 @echo "configuration check passed" … … 454 504 .PHONY: clean 455 505 clean: 456 rm -f \#* *~ *.o $(DEPDIR)/*.d $(CLEAN_FILES) check.timestamp506 rm -f \#* *~ $(OBJDIR)/*.o $(DEPDIR)/*.d $(CLEAN_FILES) check.timestamp 457 507 rm -f $(OBJFILE) $(OBJNAME).syms $(OBJNAME).srec $(OBJNAME).bin 458 508 rm -f kernel_cfg.timestamp $(CFG2_OUT_SRCS) cfg2_out.db … … 468 518 cleankernel: 469 519 rm -f $(OFFSET_H) $(KERNEL_LIB_OBJS) 470 rm -f $(KERNEL_LIB_OBJS: %.o=$(DEPDIR)/%.d)520 rm -f $(KERNEL_LIB_OBJS:$(OBJDIR)/%.o=$(DEPDIR)/%.d) 471 521 472 522 .PHONY: realclean … … 480 530 # のみを付けてコンパイルする. 481 531 # 482 ALL_CFG_COBJS = $(CFG_COBJS) cfg1_out.o532 ALL_CFG_COBJS = $(CFG_COBJS) $(OBJDIR)/cfg1_out.o 483 533 ALL_CFG_ASMOBJS = $(CFG_ASMOBJS) 484 534 485 $(ALL_CFG_COBJS): %.o: %.c486 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<487 488 $(ALL_CFG_COBJS: .o=.s): %.s: %.c489 $(CC) -S $(CFLAGS) $(CFG_CFLAGS) $<490 491 $(ALL_CFG_ASMOBJS): %.o: %.S492 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<535 $(ALL_CFG_COBJS): $(OBJDIR)/%.o: %.c 536 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $< 537 538 $(ALL_CFG_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c 539 $(CC) -S -o $@ $(CFLAGS) $(CFG_CFLAGS) $< 540 541 $(ALL_CFG_ASMOBJS): $(OBJDIR)/%.o: %.S 542 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $< 493 543 494 544 # … … 541 591 # コンパイルルールの定義 542 592 # 543 $(KERNEL_COBJS): %.o: %.c544 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<545 546 $(KERNEL_COBJS: .o=.s): %.s: %.c547 $(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $<548 549 $(KERNEL_LCOBJS): %.o:550 $(CC) - DTOPPERS_$(*F) -o $@ -c-MD -MP -MF $(DEPDIR)/$*.d \593 $(KERNEL_COBJS): $(OBJDIR)/%.o: %.c 594 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $< 595 596 $(KERNEL_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c 597 $(CC) -S -o $@ $(CFLAGS) $(KERNEL_CFLAGS) $< 598 599 $(KERNEL_LCOBJS): $(OBJDIR)/%.o: 600 $(CC) -c -o $@ -DTOPPERS_$(*F) -MD -MP -MF $(DEPDIR)/$*.d \ 551 601 $(CFLAGS) $(KERNEL_CFLAGS) $< 552 602 553 $(KERNEL_LCOBJS: .o=.s): %.s:554 $(CC) - DTOPPERS_$(*F) -o $@ -S$(CFLAGS) $(KERNEL_CFLAGS) $<555 556 $(KERNEL_ASMOBJS): %.o: %.S557 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<558 559 $(SYSSVC_COBJS): %.o: %.c560 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<561 562 $(SYSSVC_COBJS: .o=.s): %.s: %.c563 $(CC) -S $(CFLAGS) $(SYSSVC_CFLAGS) $<564 565 $(SYSSVC_ASMOBJS): %.o: %.S566 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<567 568 $(APPL_COBJS): %.o: %.c569 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<570 571 $(APPL_COBJS: .o=.s): %.s: %.c572 $(CC) -S $(CFLAGS) $(APPL_CFLAGS) $<573 574 $(APPL_CXXOBJS): %.o: %.cpp575 $(CXX) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<576 577 $(APPL_CXXOBJS: .o=.s): %.s: %.cpp578 $(CXX) -S $(CFLAGS) $(APPL_CFLAGS) $<579 580 $(APPL_ASMOBJS): %.o: %.S581 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<603 $(KERNEL_LCOBJS:$(OBJDIR)/%.o=%.s): %.s: 604 $(CC) -S -o $@ -DTOPPERS_$(*F) $(CFLAGS) $(KERNEL_CFLAGS) $< 605 606 $(KERNEL_ASMOBJS): $(OBJDIR)/%.o: %.S 607 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $< 608 609 $(SYSSVC_COBJS): $(OBJDIR)/%.o: %.c 610 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $< 611 612 $(SYSSVC_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c 613 $(CC) -S -o $@ $(CFLAGS) $(SYSSVC_CFLAGS) $< 614 615 $(SYSSVC_ASMOBJS): $(OBJDIR)/%.o: %.S 616 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $< 617 618 $(APPL_COBJS): $(OBJDIR)/%.o: %.c 619 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $< 620 621 $(APPL_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c 622 $(CC) -S -o $@ $(CFLAGS) $(APPL_CFLAGS) $< 623 624 $(APPL_CXXOBJS): $(OBJDIR)/%.o: %.cpp 625 $(CXX) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $< 626 627 $(APPL_CXXOBJS:$(OBJDIR)/%.o=%.s): %.s: %.cpp 628 $(CXX) -S -o $@ $(CFLAGS) $(APPL_CFLAGS) $< 629 630 $(APPL_ASMOBJS): $(OBJDIR)/%.o: %.S 631 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $< 582 632 583 633 # 584 634 # デフォルトコンパイルルールを上書き 585 635 # 586 %.o: %.c636 $(OBJDIR)/%.o: %.c 587 637 @echo "*** Default compile rules should not be used." 588 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<638 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $< 589 639 590 640 %.s: %.c 591 641 @echo "*** Default compile rules should not be used." 592 $(CC) -S $(CFLAGS) $<593 594 %.o: %.cpp642 $(CC) -S -o $@ $(CFLAGS) $< 643 644 $(OBJDIR)/%.o: %.cpp 595 645 @echo "*** Default compile rules should not be used." 596 $(CXX) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<646 $(CXX) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $< 597 647 598 648 %.s: %.cpp 599 649 @echo "*** Default compile rules should not be used." 600 $(CXX) -S $(CFLAGS) $<601 602 %.o: %.S650 $(CXX) -S -o $@ $(CFLAGS) $< 651 652 $(OBJDIR)/%.o: %.S 603 653 @echo "*** Default compile rules should not be used." 604 $(CC) -c - MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<654 $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
Note:
See TracChangeset
for help on using the changeset viewer.