Ignore:
Timestamp:
Jul 3, 2020, 7:19:17 PM (4 years ago)
Author:
coas-nagasima
Message:

ASP3, TINET, mbed を更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/Debug/Makefile

    r424 r429  
    66#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    77#                              Toyohashi Univ. of Technology, JAPAN
    8 #  Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory
     8#  Copyright (C) 2006-2019 by Embedded and Real-Time Systems Laboratory
    99#              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010#
     
    8181
    8282#
     83#  システムサービスコールライブラリ(libsyssvc.a)のディレクトリ名
     84#  (システムサービスコールライブラリもmake対象にする時は,空に定義する)
     85#
     86SYSSVC_LIB =
     87
     88#
    8389#  カーネルを関数単位でコンパイルするかどうかの定義
    8490#
     
    8995#
    9096OMIT_TECS =
     97
     98#
     99#  TECS関係ファイルのディレクトリの定義
     100#
     101TECSDIR =
    91102
    92103#
     
    119130
    120131#
    121 #  依存関係ファイルを置くディレクトリの定義
    122 #
    123 DEPDIR = deps
     132#  中間オブジェクトファイルと依存関係ファイルを置くディレクトリの定義
     133#
     134OBJDIR = obj
     135DEPDIR = obj
    124136
    125137#
     
    150162endif
    151163
     164TINETDIR = tinet
     165
    152166#
    153167#  mbedサービスの定義
     
    159173#  共通コンパイルオプションの定義
    160174#
    161 COPTS := -g -std=gnu99 $(COPTS)
     175COPTS := -g -std=gnu99 -ffunction-sections -fdata-sections $(COPTS)
    162176ifndef OMIT_WARNING_ALL
    163177        COPTS := -Wall $(COPTS)
     
    171185CDEFS := $(CDEFS)
    172186INCLUDES := -I. -I$(SRCDIR)/include $(INCLUDES) -I$(SRCDIR)
    173 LDFLAGS := $(LDFLAGS) -Wl,-Map=$(OBJNAME).map,--cref
     187LDFLAGS := $(LDFLAGS) -L.
    174188LIBS := $(LIBS) $(CXXLIBS)
    175189CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
     
    191205        APPL_COBJS := sample1n.o sample1.o
    192206endif
    193 APPL_COBJS := $(APPL_COBJS) log_output.o vasyslog.o t_perror.o strerror.o
     207APPL_COBJS := $(APPL_COBJS) log_output.o vasyslog.o t_perror.o strerror.o mbed_stub.o
    194208APPL_CFLAGS := $(APPL_CFLAGS)
    195209ifdef APPLDIRS
     
    197211endif
    198212
    199 TINETDIR = tinet
    200213ifdef TINETDIR
    201214        #
     
    221234        SUPPORT_UDP = true
    222235
     236        # IGMPを有効に設定
     237        #SUPPORT_IGMP = true
     238
    223239        #
    224240        #  ネットワークサービスの Makefile のインクルード
     
    230246#  システムサービスに関する定義
    231247#
     248ifdef TCINSTALL
     249GCC_PATH = $(TCINSTALL)
     250else
     251GCC_PATH = $(shell which $(CC))/../../
     252endif
     253MALLOC_LIB = "${GCC_PATH}arm-none-eabi/lib/thumb/v7-ar/fpv3/hard/libc.a"
     254MALLOC_OBJS = lib_a-reent.o lib_a-impure.o lib_a-malloc.o lib_a-mallocr.o lib_a-calloc.o lib_a-callocr.o lib_a-realloc.o lib_a-reallocr.o lib_a-sbrkr.o lib_a-freer.o
     255
    232256SYSSVC_DIRS := $(TECSGENDIR) $(SRCDIR)/tecs_kernel \
    233257                                $(SYSSVC_DIRS) $(SRCDIR)/syssvc
    234258SYSSVC_ASMOBJS := $(SYSSVC_ASMOBJS)
    235 SYSSVC_COBJS := $(INIT_TECS_COBJ) $(TECS_COBJS) $(SYSSVC_COBJS) \
    236                                 $(CXXRTS)
     259SYSSVC_COBJS := $(SYSSVC_COBJS) $(TECS_COBJS) \
     260                                $(INIT_TECS_COBJ) $(CXXRTS)
    237261SYSSVC_CFLAGS := $(SYSSVC_CFLAGS)
    238262INCLUDES := $(INCLUDES) -I$(TECSGENDIR) -I$(SRCDIR)/tecs_kernel -I../../musl-1.1.18/include
    239263
    240264#
     265#  トレースログ記録のサンプルコードに関する定義
     266#
     267ifdef ENABLE_TRACE
     268        COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
     269        SYSSVC_DIRS := $(SYSSVC_DIRS) $(SRCDIR)/arch/tracelog
     270endif
     271
     272#
    241273#  ターゲットファイル
    242274#
    243275.PHONY: all
    244276ifndef OMIT_TECS
    245 all: tecs
     277all: tecs | $(DEPDIR)
    246278#       @$(MAKE) check
    247279        @$(MAKE) check $(OBJNAME).bin
     
    258290#  コンフィギュレータに関する定義
    259291#
     292CFG_KERNEL := --kernel asp
    260293ifndef TINETDIR
    261294  CFG_TRB := -T $(TARGETDIR)/target_kernel.trb
     
    266299  CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \
    267300                        --api-table $(SRCDIR)/kernel/kernel_api.def:kernel \
    268                         --symval-table $(SRCDIR)/tinet/tcpip_sym.def \
     301                        --symval-table $(TINET_ROOT)/tcpip_sym.def \
    269302                        --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS)
    270303endif
     
    272305CFG_COBJS := kernel_cfg.o $(CFG_COBJS)
    273306CFG_OBJS := $(CFG_ASMOBJS) $(CFG_COBJS)
     307CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(CFG_CFLAGS)
     308
    274309CFG2_OUT_SRCS := kernel_cfg.h kernel_cfg.c $(CFG2_OUT_SRCS)
    275 CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(CFG_CFLAGS)
    276310
    277311#
     
    304338                                        $(foreach file,$(KERNEL_FCSRCS),$(file:.c=.o))
    305339endif
    306 ifdef OMIT_OFFSET_H
    307         OFFSET_H =
    308 else
     340ifdef TARGET_OFFSET_TRB
    309341        OFFSET_H = offset.h
    310342endif
     
    322354endif
    323355ifndef TARGET_TCPIP_TRB
    324         TARGET_TCPIP_TRB := $(SRCDIR)/tinet/tinet.trb
     356        TARGET_TCPIP_TRB := $(SRCDIR)/$(TINETDIR)/tinet.trb
    325357endif
    326358
     
    332364vpath %.cfg $(APPL_DIRS)
    333365vpath %.cdl $(APPL_DIRS)
     366vpath %.bin $(APPL_DIRS)
     367
     368#
     369#  中間オブジェクトファイルを置くディレクトリの処理
     370#
     371APPL_ASMOBJS   := $(addprefix $(OBJDIR)/, $(APPL_ASMOBJS))
     372APPL_CXXOBJS   := $(addprefix $(OBJDIR)/, $(APPL_CXXOBJS))
     373APPL_COBJS     := $(addprefix $(OBJDIR)/, $(APPL_COBJS))
     374SYSSVC_ASMOBJS := $(addprefix $(OBJDIR)/, $(SYSSVC_ASMOBJS))
     375SYSSVC_COBJS   := $(addprefix $(OBJDIR)/, $(SYSSVC_COBJS))
     376KERNEL_ASMOBJS := $(addprefix $(OBJDIR)/, $(KERNEL_ASMOBJS))
     377KERNEL_COBJS   := $(addprefix $(OBJDIR)/, $(KERNEL_COBJS))
     378KERNEL_LCOBJS  := $(addprefix $(OBJDIR)/, $(KERNEL_LCOBJS))
     379CFG_ASMOBJS    := $(addprefix $(OBJDIR)/, $(CFG_ASMOBJS))
     380CFG_COBJS      := $(addprefix $(OBJDIR)/, $(CFG_COBJS))
     381CFG_DMY        := $(addprefix $(OBJDIR)/, $(CFG_DMY))
     382MALLOC_OBJS    := $(addprefix $(OBJDIR)/, $(MALLOC_OBJS))
    334383
    335384#
    336385#  コンパイルのための変数の定義
    337386#
    338 KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
     387APPL_OBJS = $(APPL_ASMOBJS) $(APPL_COBJS) $(APPL_CXXOBJS)
    339388SYSSVC_OBJS = $(SYSSVC_ASMOBJS) $(SYSSVC_COBJS) $(HIDDEN_OBJS)
    340 APPL_OBJS = $(APPL_ASMOBJS) $(APPL_COBJS) $(APPL_CXXOBJS)
     389KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS) $(MALLOC_OBJS)
     390CFG_OBJS = $(CFG_ASMOBJS) $(CFG_COBJS)
    341391ALL_OBJS = $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \
    342392                                                                                        $(END_OBJS) $(HIDDEN_OBJS)
     
    350400        OBJ_LDFLAGS := $(OBJ_LDFLAGS) -L.
    351401endif
     402ifdef SYSSVC_LIB
     403        LIBS_DEP := $(LIBS_DEP) $(SYSSVC_LIB)/libsyssvc.a
     404        OBJ_LDFLAGS := $(OBJ_LDFLAGS) -L$(SYSSVC_LIB)
     405        REALCLEAN_FILES := $(REALCLEAN_FILES) libsyssvc.a
     406else
     407        LIBS_DEP := $(LIBS_DEP) libsyssvc.a
     408        OBJ_LDFLAGS := $(OBJ_LDFLAGS) -L.
     409endif
    352410
    353411ifdef TEXT_START_ADDRESS
     
    372430tecs $(TECSGEN_SRCS) $(TECS_HEADERS): $(TECSGEN_TIMESTAMP) ;
    373431$(TECSGEN_TIMESTAMP): $(APPL_CDL) $(TECS_IMPORTS)
    374         $(TECSGEN) $< -R $(INCLUDES) --cpp "$(TECS_CPP)" -g $(TECSGENDIR)
     432        $(TECSGEN) $< -R $(INCLUDES) --cpp "$(subst ", \", $(TECS_CPP))" -g $(TECSGENDIR)
    375433
    376434#
     
    379437cfg1_out.c cfg1_out.db: cfg1_out.timestamp ;
    380438cfg1_out.timestamp: $(APPL_CFG) $(TECSGEN_TIMESTAMP)
    381         echo $(CFG_TABS)
    382         $(CFG) --pass 1 --kernel asp $(INCLUDES) $(CFG_TABS) \
     439        $(CFG) --pass 1 $(CFG_KERNEL) $(INCLUDES) $(CFG_TABS) \
    383440                                                -M $(DEPDIR)/cfg1_out_c.d $(TARGET_KERNEL_CFG) $<
    384441
    385 $(CFG1_OUT): $(START_OBJS) cfg1_out.o $(CFG_DMY) $(END_OBJS) $(HIDDEN_OBJS)
     442$(CFG1_OUT): $(START_OBJS) $(OBJDIR)/cfg1_out.o $(CFG_DMY) $(END_OBJS) $(HIDDEN_OBJS)
    386443        $(LINK) $(CFLAGS) $(LDFLAGS) $(CFG1_OUT_LDFLAGS) -o $(CFG1_OUT) \
    387                                                 $(START_OBJS) cfg1_out.o $(CFG_DMY) $(END_OBJS)
     444                                                $(START_OBJS) $(OBJDIR)/cfg1_out.o $(CFG_DMY) $(LIBS) $(END_OBJS) $(HIDDEN_OBJS)
    388445
    389446cfg1_out.syms: $(CFG1_OUT)
     
    395452$(CFG2_OUT_SRCS) cfg2_out.db: kernel_cfg.timestamp ;
    396453kernel_cfg.timestamp: cfg1_out.db cfg1_out.syms cfg1_out.srec
    397         $(CFG) --pass 2 --kernel asp $(INCLUDES) $(CFG_TRB)
     454        $(CFG) --pass 2 $(CFG_KERNEL) $(INCLUDES) $(CFG_TRB)
    398455
    399456#
     
    402459$(OFFSET_H): offset.timestamp ;
    403460offset.timestamp: cfg1_out.db cfg1_out.syms cfg1_out.srec
    404         $(CFG) --pass 2 -O --kernel asp $(INCLUDES) -T $(TARGET_OFFSET_TRB) \
     461        $(CFG) --pass 2 -O $(CFG_KERNEL) $(INCLUDES) -T $(TARGET_OFFSET_TRB) \
    405462                                --rom-symbol cfg1_out.syms --rom-image cfg1_out.srec
    406463
     
    414471
    415472#
     473#  システムサービスコールライブラリファイルの生成
     474#
     475libsyssvc.a: $(filter-out $(OBJDIR)/tBannerMain.o, $(SYSSVC_OBJS))
     476        rm -f libsyssvc.a
     477        $(AR) -rcs libsyssvc.a $(filter-out $(OBJDIR)/tBannerMain.o, $(SYSSVC_OBJS))
     478        $(RANLIB) libsyssvc.a
     479
     480#
     481#  並列makeのための依存関係の定義
     482#
     483$(APPL_OBJS) $(filter-out $(CFG_DMY), $(SYSSVC_OBJS)): | kernel_cfg.timestamp
     484$(APPL_ASMOBJS) $(filter-out $(CFG_DMY), $(SYSSVC_ASMOBJS)) $(KERNEL_ASMOBJS) $(CFG_ASMOBJS): \
     485                                                                                                                | offset.timestamp
     486
     487#
    416488#  特別な依存関係の定義
    417489#
    418 tBannerMain.o: $(filter-out tBannerMain.o,$(ALL_OBJS)) $(LIBS_DEP)
     490$(OBJDIR)/tBannerMain.o: $(filter-out $(OBJDIR)/tBannerMain.o,$(ALL_OBJS)) \
     491                                                                                                                                $(LIBS_DEP)
    419492
    420493#
     
    423496$(OBJFILE): $(ALL_OBJS) $(LIBS_DEP)
    424497        $(LINK) $(CFLAGS) $(LDFLAGS) $(OBJ_LDFLAGS) -o $(OBJFILE) \
     498                        -Wl,-Map=$(OBJNAME).map,--cref -Wl,--gc-sections -Wl,-e_kernel__start,--gc-keep-exported=_kernel_istk \
    425499                        $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \
    426                         $(ALL_LIBS) $(END_OBJS)
     500                        -Wl,--start-group $(ALL_LIBS) -Wl,--end-group $(END_OBJS)
     501
     502#
     503#  依存関係フォルダの作成
     504#
     505$(DEPDIR):
     506        mkdir $@
    427507
    428508#
     
    452532check: check.timestamp ;
    453533check.timestamp: cfg2_out.db $(OBJNAME).syms $(OBJNAME).srec
    454         $(CFG) --pass 3 --kernel asp -O $(INCLUDES) -T $(TARGET_CHECK_TRB) \
     534        $(CFG) --pass 3 $(CFG_KERNEL) -O $(INCLUDES) -T $(TARGET_CHECK_TRB) \
    455535                                --rom-symbol $(OBJNAME).syms --rom-image $(OBJNAME).srec
    456536        @echo "configuration check passed"
     
    461541.PHONY: clean
    462542clean:
    463         rm -f \#* *~ *.o $(DEPDIR)/*.d $(CLEAN_FILES) check.timestamp
     543        rm -f \#* *~ $(OBJDIR)/*.o $(DEPDIR)/*.d $(CLEAN_FILES) check.timestamp
    464544        rm -f $(OBJFILE) $(OBJNAME).syms $(OBJNAME).srec $(OBJNAME).bin
    465545        rm -f kernel_cfg.timestamp $(CFG2_OUT_SRCS) cfg2_out.db
     
    471551        rm -f libkernel.a
    472552endif
     553ifndef SYSSVC_LIB
     554        rm -f libsyssvc.a
     555endif
     556        rm -f $(MALLOC_OBJS)
    473557
    474558.PHONY: cleankernel
    475559cleankernel:
    476560        rm -f $(OFFSET_H) $(KERNEL_LIB_OBJS)
    477         rm -f $(KERNEL_LIB_OBJS:%.o=$(DEPDIR)/%.d)
     561        rm -f $(KERNEL_LIB_OBJS:$(OBJDIR)/%.o=$(DEPDIR)/%.d)
     562
     563.PHONY: cleansyssvc
     564cleansyssvc:
     565        rm -f $(SYSSVC_OBJS)
     566        rm -f $(SYSSVC_OBJS:$(OBJDIR)/%.o=$(DEPDIR)/%.d)
    478567
    479568.PHONY: realclean
     
    487576#  のみを付けてコンパイルする.
    488577#
    489 ALL_CFG_COBJS = $(CFG_COBJS) cfg1_out.o
     578ALL_CFG_COBJS = $(CFG_COBJS) $(OBJDIR)/cfg1_out.o
    490579ALL_CFG_ASMOBJS = $(CFG_ASMOBJS)
    491580
    492 $(ALL_CFG_COBJS): %.o: %.c
    493         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<
    494 
    495 $(ALL_CFG_COBJS:.o=.s): %.s: %.c
    496         $(CC) -S $(CFLAGS) $(CFG_CFLAGS) $<
    497 
    498 $(ALL_CFG_ASMOBJS): %.o: %.S
    499         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<
     581$(ALL_CFG_COBJS): $(OBJDIR)/%.o: %.c
     582        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<
     583
     584$(ALL_CFG_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c
     585        $(CC) -S -o $@ $(CFLAGS) $(CFG_CFLAGS) $<
     586
     587$(ALL_CFG_ASMOBJS): $(OBJDIR)/%.o: %.S
     588        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<
    500589
    501590#
     
    549638#  コンパイルルールの定義
    550639#
    551 $(KERNEL_COBJS): %.o: %.c
    552         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<
    553 
    554 $(KERNEL_COBJS:.o=.s): %.s: %.c
    555         $(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $<
    556 
    557 $(KERNEL_LCOBJS): %.o:
    558         $(CC) -DTOPPERS_$(*F) -o $@ -c -MD -MP -MF $(DEPDIR)/$*.d \
     640$(KERNEL_COBJS): $(OBJDIR)/%.o: %.c
     641        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<
     642
     643$(KERNEL_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c
     644        $(CC) -S -o $@ $(CFLAGS) $(KERNEL_CFLAGS) $<
     645
     646$(KERNEL_LCOBJS): $(OBJDIR)/%.o:
     647        $(CC) -c -o $@ -DTOPPERS_$(*F) -MD -MP -MF $(DEPDIR)/$*.d \
    559648                                                                        $(CFLAGS) $(KERNEL_CFLAGS) $<
    560649
    561 $(KERNEL_LCOBJS:.o=.s): %.s:
    562         $(CC) -DTOPPERS_$(*F) -o $@ -S $(CFLAGS) $(KERNEL_CFLAGS) $<
    563 
    564 $(KERNEL_ASMOBJS): %.o: %.S
    565         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<
    566 
    567 $(SYSSVC_COBJS): %.o: %.c
    568         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<
    569 
    570 $(SYSSVC_COBJS:.o=.s): %.s: %.c
    571         $(CC) -S $(CFLAGS) $(SYSSVC_CFLAGS) $<
    572 
    573 $(SYSSVC_ASMOBJS): %.o: %.S
    574         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<
    575 
    576 $(APPL_COBJS): %.o: %.c
    577         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
    578 
    579 $(APPL_COBJS:.o=.s): %.s: %.c
    580         $(CC) -S $(CFLAGS) $(APPL_CFLAGS) $<
    581 
    582 $(APPL_CXXOBJS): %.o: %.cpp
    583         $(CXX) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
    584 
    585 $(APPL_CXXOBJS:.o=.s): %.s: %.cpp
    586         $(CXX) -S $(CFLAGS) $(APPL_CFLAGS) $<
    587 
    588 $(APPL_ASMOBJS): %.o: %.S
    589         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
     650$(KERNEL_LCOBJS:$(OBJDIR)/%.o=%.s): %.s:
     651        $(CC) -S -o $@ -DTOPPERS_$(*F) $(CFLAGS) $(KERNEL_CFLAGS) $<
     652
     653$(KERNEL_ASMOBJS): $(OBJDIR)/%.o: %.S
     654        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<
     655
     656$(SYSSVC_COBJS): $(OBJDIR)/%.o: %.c
     657        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<
     658
     659$(SYSSVC_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c
     660        $(CC) -S -o $@ $(CFLAGS) $(SYSSVC_CFLAGS) $<
     661
     662$(SYSSVC_ASMOBJS): $(OBJDIR)/%.o: %.S
     663        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<
     664
     665$(APPL_COBJS): $(OBJDIR)/%.o: %.c
     666        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
     667
     668$(APPL_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c
     669        $(CC) -S -o $@ $(CFLAGS) $(APPL_CFLAGS) $<
     670
     671$(APPL_CXXOBJS): $(OBJDIR)/%.o: %.cpp
     672        $(CXX) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
     673
     674$(APPL_CXXOBJS:$(OBJDIR)/%.o=%.s): %.s: %.cpp
     675        $(CXX) -S -o $@ $(CFLAGS) $(APPL_CFLAGS) $<
     676
     677$(APPL_ASMOBJS): $(OBJDIR)/%.o: %.S
     678        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
     679
     680$(MALLOC_OBJS): $(OBJDIR)/%.o:
     681        $(AR) x $(MALLOC_LIB) $(notdir $@)
     682        mv $(notdir $@) $@
    590683
    591684#
    592685#  デフォルトコンパイルルールを上書き
    593686#
    594 %.o: %.c
     687$(OBJDIR)/%.o: %.c
    595688        @echo "*** Default compile rules should not be used."
    596         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
     689        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
    597690
    598691%.s: %.c
    599692        @echo "*** Default compile rules should not be used."
    600         $(CC) -S $(CFLAGS) $<
    601 
    602 %.o: %.cpp
     693        $(CC) -S -o $@ $(CFLAGS) $<
     694
     695$(OBJDIR)/%.o: %.cpp
    603696        @echo "*** Default compile rules should not be used."
    604         $(CXX) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
     697        $(CXX) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
    605698
    606699%.s: %.cpp
    607700        @echo "*** Default compile rules should not be used."
    608         $(CXX) -S $(CFLAGS) $<
    609 
    610 %.o: %.S
     701        $(CXX) -S -o $@ $(CFLAGS) $<
     702
     703$(OBJDIR)/%.o: %.S
    611704        @echo "*** Default compile rules should not be used."
    612         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
     705        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
Note: See TracChangeset for help on using the changeset viewer.