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/ntshell/Debug/Makefile

    r427 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#
     
    9696
    9797#
     98#  システムサービスコールライブラリ(libsyssvc.a)のディレクトリ名
     99#  (システムサービスコールライブラリもmake対象にする時は,空に定義する)
     100#
     101SYSSVC_LIB = ../../asp3_dcre/Debug
     102
     103#
    98104#  カーネルを関数単位でコンパイルするかどうかの定義
    99105#
     
    104110#
    105111OMIT_TECS =
     112
     113#
     114#  TECS関係ファイルのディレクトリの定義
     115#
     116TECSDIR =
    106117
    107118#
     
    134145
    135146#
    136 #  依存関係ファイルを置くディレクトリの定義
    137 #
    138 DEPDIR = deps
     147#  中間オブジェクトファイルと依存関係ファイルを置くディレクトリの定義
     148#
     149OBJDIR = obj
     150DEPDIR = obj
    139151
    140152#
     
    165177endif
    166178
     179TINETDIR = tinet
     180
    167181#
    168182#  mbedサービスの定義
     
    175189±é€šã‚³ãƒ³ãƒ‘イルオプションの定義
    176190#
    177 COPTS := -g -std=gnu99 $(COPTS)
     191COPTS := -g -std=gnu99 -ffunction-sections -fdata-sections $(COPTS)
    178192ifndef OMIT_WARNING_ALL
    179193        COPTS := -Wall $(COPTS)
     
    207221        APPL_COBJS := main.o fdtable.o io_stub.o socket_stub.o ffarch.o fftime.o tlsf.o diskio.o ff.o sdfs.o ccsbcs.o base64.o http-strings.o http_parser.o httpd.o httpd-fs.o sha1.o websocket.o websocket_fbs.o ntshell.o text_editor.o text_history.o usrcmd.o vtrecv.o vtsend.o ntlibc.o ntstdio.o ntopt.o syscall.o mbedcall.o
    208222endif
    209 APPL_COBJS := $(APPL_COBJS) log_output.o vasyslog.o t_perror.o strerror.o
     223APPL_COBJS := $(APPL_COBJS) log_output.o vasyslog.o t_perror.o strerror.o mbed_stub.o
    210224APPL_BINOBJS := httpd_fs.o
    211225APPL_CFLAGS := $(APPL_CFLAGS)
     
    214228endif
    215229
    216 TINETDIR = tinet
    217230ifdef TINETDIR
    218231        #
     
    250263#  システムサービスに関する定義
    251264#
     265ifdef TCINSTALL
     266GCC_PATH = $(TCINSTALL)
     267else
     268GCC_PATH = $(shell which $(CC))/../../
     269endif
     270MALLOC_LIB = "${GCC_PATH}arm-none-eabi/lib/thumb/v7-ar/fpv3/hard/libc.a"
     271MALLOC_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
     272
    252273SYSSVC_DIRS := $(TECSGENDIR) $(SRCDIR)/tecs_kernel \
    253274                                $(SYSSVC_DIRS) $(SRCDIR)/syssvc
    254275SYSSVC_ASMOBJS := $(SYSSVC_ASMOBJS)
    255 SYSSVC_COBJS := $(INIT_TECS_COBJ) $(TECS_COBJS) $(SYSSVC_COBJS) \
    256                                 $(CXXRTS)
     276SYSSVC_COBJS := $(SYSSVC_COBJS) $(TECS_COBJS) \
     277                                $(INIT_TECS_COBJ) $(CXXRTS)
    257278SYSSVC_CFLAGS := $(SYSSVC_CFLAGS)
    258 INCLUDES := $(INCLUDES) -I$(TECSGENDIR) -I$(SRCDIR)/tecs_kernel
     279INCLUDES := $(INCLUDES) -I$(TECSGENDIR) -I$(SRCDIR)/tecs_kernel -I../../musl-1.1.18/include
     280
     281#
     282#  トレースログ記録のサンプルコードに関する定義
     283#
     284ifdef ENABLE_TRACE
     285        COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
     286        SYSSVC_DIRS := $(SYSSVC_DIRS) $(SRCDIR)/arch/tracelog
     287endif
    259288
    260289#
     
    263292.PHONY: all
    264293ifndef OMIT_TECS
    265 all: tecs
     294all: tecs | $(DEPDIR)
    266295#       @$(MAKE) check
    267296        @$(MAKE) check $(OBJNAME).bin
     
    279308#  コンフィギュレータに関する定義
    280309#
     310CFG_KERNEL := --kernel asp
    281311ifndef TINETDIR
    282312  CFG_TRB := -T $(TARGETDIR)/target_kernel.trb
     
    287317  CFG_TABS := --api-table $(TINET_ROOT)/tcpip_api.def:tcpip \
    288318                        --api-table $(SRCDIR)/kernel/kernel_api.def:kernel \
    289                         --symval-table $(SRCDIR)/tinet/tcpip_sym.def \
     319                        --symval-table $(TINET_ROOT)/tcpip_sym.def \
    290320                        --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS)
    291321endif
    292322CFG_ASMOBJS := $(CFG_ASMOBJS)
    293323CFG_COBJS := kernel_cfg.o $(CFG_COBJS)
    294 CFG_OBJS := $(CFG_ASMOBJS) $(CFG_COBJS)
     324CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(CFG_CFLAGS)
     325
    295326CFG2_OUT_SRCS := kernel_cfg.h kernel_cfg.c $(CFG2_OUT_SRCS)
    296 CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(CFG_CFLAGS)
    297327
    298328#
     
    325355                                        $(foreach file,$(KERNEL_FCSRCS),$(file:.c=.o))
    326356endif
    327 ifdef OMIT_OFFSET_H
    328         OFFSET_H =
    329 else
     357ifdef TARGET_OFFSET_TRB
    330358        OFFSET_H = offset.h
    331359endif
     
    343371endif
    344372ifndef TARGET_TCPIP_TRB
    345         TARGET_TCPIP_TRB := $(SRCDIR)/tinet/tinet.trb
     373        TARGET_TCPIP_TRB := $(SRCDIR)/$(TINETDIR)/tinet.trb
    346374endif
    347375
     
    356384
    357385#
     386#  中間オブジェクトファイルを置くディレクトリの処理
     387#
     388APPL_ASMOBJS   := $(addprefix $(OBJDIR)/, $(APPL_ASMOBJS))
     389APPL_CXXOBJS   := $(addprefix $(OBJDIR)/, $(APPL_CXXOBJS))
     390APPL_COBJS     := $(addprefix $(OBJDIR)/, $(APPL_COBJS))
     391APPL_BINOBJS   := $(addprefix $(OBJDIR)/, $(APPL_BINOBJS))
     392SYSSVC_ASMOBJS := $(addprefix $(OBJDIR)/, $(SYSSVC_ASMOBJS))
     393SYSSVC_COBJS   := $(addprefix $(OBJDIR)/, $(SYSSVC_COBJS))
     394KERNEL_ASMOBJS := $(addprefix $(OBJDIR)/, $(KERNEL_ASMOBJS))
     395KERNEL_COBJS   := $(addprefix $(OBJDIR)/, $(KERNEL_COBJS))
     396KERNEL_LCOBJS  := $(addprefix $(OBJDIR)/, $(KERNEL_LCOBJS))
     397CFG_ASMOBJS    := $(addprefix $(OBJDIR)/, $(CFG_ASMOBJS))
     398CFG_COBJS      := $(addprefix $(OBJDIR)/, $(CFG_COBJS))
     399CFG_DMY        := $(addprefix $(OBJDIR)/, $(CFG_DMY))
     400MALLOC_OBJS    := $(addprefix $(OBJDIR)/, $(MALLOC_OBJS))
     401
     402#
    358403#  コンパイルのための変数の定義
    359404#
    360 KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
     405APPL_OBJS = $(APPL_ASMOBJS) $(APPL_COBJS) $(APPL_CXXOBJS) $(APPL_BINOBJS)
    361406SYSSVC_OBJS = $(SYSSVC_ASMOBJS) $(SYSSVC_COBJS) $(HIDDEN_OBJS)
    362 APPL_OBJS = $(APPL_ASMOBJS) $(APPL_COBJS) $(APPL_CXXOBJS) $(APPL_BINOBJS)
     407KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS) $(MALLOC_OBJS)
     408CFG_OBJS = $(CFG_ASMOBJS) $(CFG_COBJS)
    363409ALL_OBJS = $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \
    364410                                                                                        $(END_OBJS) $(HIDDEN_OBJS)
     
    372418        OBJ_LDFLAGS := $(OBJ_LDFLAGS) -L.
    373419endif
     420ifdef SYSSVC_LIB
     421        LIBS_DEP := $(LIBS_DEP) $(SYSSVC_LIB)/libsyssvc.a
     422        OBJ_LDFLAGS := $(OBJ_LDFLAGS) -L$(SYSSVC_LIB)
     423        REALCLEAN_FILES := $(REALCLEAN_FILES) libsyssvc.a
     424else
     425        LIBS_DEP := $(LIBS_DEP) libsyssvc.a
     426        OBJ_LDFLAGS := $(OBJ_LDFLAGS) -L.
     427endif
    374428
    375429ifdef TEXT_START_ADDRESS
     
    394448tecs $(TECSGEN_SRCS) $(TECS_HEADERS): $(TECSGEN_TIMESTAMP) ;
    395449$(TECSGEN_TIMESTAMP): $(APPL_CDL) $(TECS_IMPORTS)
    396         $(TECSGEN) $< -R $(INCLUDES) --cpp "$(TECS_CPP)" -g $(TECSGENDIR)
     450        $(TECSGEN) $< -R $(INCLUDES) --cpp "$(subst ", \", $(TECS_CPP))" -g $(TECSGENDIR)
    397451
    398452#
     
    401455cfg1_out.c cfg1_out.db: cfg1_out.timestamp ;
    402456cfg1_out.timestamp: $(APPL_CFG) $(TECSGEN_TIMESTAMP)
    403         echo $(CFG_TABS)
    404         $(CFG) --pass 1 --kernel asp $(INCLUDES) $(CFG_TABS) \
     457        $(CFG) --pass 1 $(CFG_KERNEL) $(INCLUDES) $(CFG_TABS) \
    405458                                                -M $(DEPDIR)/cfg1_out_c.d $(TARGET_KERNEL_CFG) $<
    406459
    407 $(CFG1_OUT): $(START_OBJS) cfg1_out.o $(CFG_DMY) $(END_OBJS) $(HIDDEN_OBJS)
     460$(CFG1_OUT): $(START_OBJS) $(OBJDIR)/cfg1_out.o $(CFG_DMY) $(END_OBJS) $(HIDDEN_OBJS)
    408461        $(LINK) $(CFLAGS) $(LDFLAGS) $(CFG1_OUT_LDFLAGS) -o $(CFG1_OUT) \
    409                                                 $(START_OBJS) cfg1_out.o $(CFG_DMY) $(END_OBJS)
     462                                                $(START_OBJS) $(OBJDIR)/cfg1_out.o $(CFG_DMY) $(LIBS) $(END_OBJS) $(HIDDEN_OBJS)
    410463
    411464cfg1_out.syms: $(CFG1_OUT)
     
    417470$(CFG2_OUT_SRCS) cfg2_out.db: kernel_cfg.timestamp ;
    418471kernel_cfg.timestamp: cfg1_out.db cfg1_out.syms cfg1_out.srec
    419         $(CFG) --pass 2 --kernel asp $(INCLUDES) $(CFG_TRB)
     472        $(CFG) --pass 2 $(CFG_KERNEL) $(INCLUDES) $(CFG_TRB)
    420473
    421474#
     
    424477$(OFFSET_H): offset.timestamp ;
    425478offset.timestamp: cfg1_out.db cfg1_out.syms cfg1_out.srec
    426         $(CFG) --pass 2 -O --kernel asp $(INCLUDES) -T $(TARGET_OFFSET_TRB) \
     479        $(CFG) --pass 2 -O $(CFG_KERNEL) $(INCLUDES) -T $(TARGET_OFFSET_TRB) \
    427480                                --rom-symbol cfg1_out.syms --rom-image cfg1_out.srec
    428481
     
    436489
    437490#
     491#  システムサービスコールライブラリファイルの生成
     492#
     493libsyssvc.a: $(filter-out $(OBJDIR)/tBannerMain.o, $(SYSSVC_OBJS))
     494        rm -f libsyssvc.a
     495        $(AR) -rcs libsyssvc.a $(filter-out $(OBJDIR)/tBannerMain.o, $(SYSSVC_OBJS))
     496        $(RANLIB) libsyssvc.a
     497
     498#
     499#  並列makeのための依存関係の定義
     500#
     501$(APPL_OBJS) $(filter-out $(CFG_DMY), $(SYSSVC_OBJS)): | kernel_cfg.timestamp
     502$(APPL_ASMOBJS) $(filter-out $(CFG_DMY), $(SYSSVC_ASMOBJS)) $(KERNEL_ASMOBJS) $(CFG_ASMOBJS): \
     503                                                                                                                | offset.timestamp
     504
     505#
    438506#  特別な依存関係の定義
    439507#
    440 tBannerMain.o: $(filter-out tBannerMain.o,$(ALL_OBJS)) $(LIBS_DEP)
     508$(OBJDIR)/tBannerMain.o: $(filter-out $(OBJDIR)/tBannerMain.o,$(ALL_OBJS)) \
     509                                                                                                                                $(LIBS_DEP)
    441510
    442511#
     
    448517                        -Wl,-Map=$(OBJNAME).map,--cref -Wl,--gc-sections -Wl,-e_kernel__start,--gc-keep-exported=_kernel_istk \
    449518                        $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \
    450                         $(ALL_LIBS) $(END_OBJS)
     519                        -Wl,--start-group $(ALL_LIBS) -Wl,--end-group $(END_OBJS)
     520
     521#
     522#  依存関係フォルダの作成
     523#
     524$(DEPDIR):
     525        mkdir $@
    451526
    452527#
     
    476551check: check.timestamp ;
    477552check.timestamp: cfg2_out.db $(OBJNAME).syms $(OBJNAME).srec
    478         $(CFG) --pass 3 --kernel asp -O $(INCLUDES) -T $(TARGET_CHECK_TRB) \
     553        $(CFG) --pass 3 $(CFG_KERNEL) -O $(INCLUDES) -T $(TARGET_CHECK_TRB) \
    479554                                --rom-symbol $(OBJNAME).syms --rom-image $(OBJNAME).srec
    480555        @echo "configuration check passed"
     
    485560.PHONY: clean
    486561clean:
    487         rm -f \#* *~ *.o $(DEPDIR)/*.d $(CLEAN_FILES) check.timestamp
     562        rm -f \#* *~ $(OBJDIR)/*.o $(DEPDIR)/*.d $(CLEAN_FILES) check.timestamp
    488563        rm -f $(OBJFILE) $(OBJNAME).syms $(OBJNAME).srec $(OBJNAME).bin
    489564        rm -f kernel_cfg.timestamp $(CFG2_OUT_SRCS) cfg2_out.db
     
    495570        rm -f libkernel.a
    496571endif
     572ifndef SYSSVC_LIB
     573        rm -f libsyssvc.a
     574endif
     575        rm -f $(MALLOC_OBJS)
    497576
    498577.PHONY: cleankernel
    499578cleankernel:
    500579        rm -f $(OFFSET_H) $(KERNEL_LIB_OBJS)
    501         rm -f $(KERNEL_LIB_OBJS:%.o=$(DEPDIR)/%.d)
     580        rm -f $(KERNEL_LIB_OBJS:$(OBJDIR)/%.o=$(DEPDIR)/%.d)
     581
     582.PHONY: cleansyssvc
     583cleansyssvc:
     584        rm -f $(SYSSVC_OBJS)
     585        rm -f $(SYSSVC_OBJS:$(OBJDIR)/%.o=$(DEPDIR)/%.d)
    502586
    503587.PHONY: realclean
     
    512596#  のみを付けてコンパイルする.
    513597#
    514 ALL_CFG_COBJS = $(CFG_COBJS) cfg1_out.o
     598ALL_CFG_COBJS = $(CFG_COBJS) $(OBJDIR)/cfg1_out.o
    515599ALL_CFG_ASMOBJS = $(CFG_ASMOBJS)
    516600
    517 $(ALL_CFG_COBJS): %.o: %.c
    518         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<
    519 
    520 $(ALL_CFG_COBJS:.o=.s): %.s: %.c
    521         $(CC) -S $(CFLAGS) $(CFG_CFLAGS) $<
    522 
    523 $(ALL_CFG_ASMOBJS): %.o: %.S
    524         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<
     601$(ALL_CFG_COBJS): $(OBJDIR)/%.o: %.c
     602        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<
     603
     604$(ALL_CFG_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c
     605        $(CC) -S -o $@ $(CFLAGS) $(CFG_CFLAGS) $<
     606
     607$(ALL_CFG_ASMOBJS): $(OBJDIR)/%.o: %.S
     608        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(CFG_CFLAGS) $<
    525609
    526610#
     
    574658#  コンパイルルールの定義
    575659#
    576 $(KERNEL_COBJS): %.o: %.c
    577         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<
    578 
    579 $(KERNEL_COBJS:.o=.s): %.s: %.c
    580         $(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $<
    581 
    582 $(KERNEL_LCOBJS): %.o:
    583         $(CC) -DTOPPERS_$(*F) -o $@ -c -MD -MP -MF $(DEPDIR)/$*.d \
     660$(KERNEL_COBJS): $(OBJDIR)/%.o: %.c
     661        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<
     662
     663$(KERNEL_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c
     664        $(CC) -S -o $@ $(CFLAGS) $(KERNEL_CFLAGS) $<
     665
     666$(KERNEL_LCOBJS): $(OBJDIR)/%.o:
     667        $(CC) -c -o $@ -DTOPPERS_$(*F) -MD -MP -MF $(DEPDIR)/$*.d \
    584668                                                                        $(CFLAGS) $(KERNEL_CFLAGS) $<
    585669
    586 $(KERNEL_LCOBJS:.o=.s): %.s:
    587         $(CC) -DTOPPERS_$(*F) -o $@ -S $(CFLAGS) $(KERNEL_CFLAGS) $<
    588 
    589 $(KERNEL_ASMOBJS): %.o: %.S
    590         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<
    591 
    592 $(SYSSVC_COBJS): %.o: %.c
    593         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<
    594 
    595 $(SYSSVC_COBJS:.o=.s): %.s: %.c
    596         $(CC) -S $(CFLAGS) $(SYSSVC_CFLAGS) $<
    597 
    598 $(SYSSVC_ASMOBJS): %.o: %.S
    599         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<
    600 
    601 $(APPL_COBJS): %.o: %.c
    602         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
    603 
    604 $(APPL_COBJS:.o=.s): %.s: %.c
    605         $(CC) -S $(CFLAGS) $(APPL_CFLAGS) $<
    606 
    607 $(APPL_CXXOBJS): %.o: %.cpp
    608         $(CXX) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
    609 
    610 $(APPL_CXXOBJS:.o=.s): %.s: %.cpp
    611         $(CXX) -S $(CFLAGS) $(APPL_CFLAGS) $<
    612 
    613 $(APPL_ASMOBJS): %.o: %.S
    614         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
    615 
    616 $(APPL_BINOBJS): %.o: %.bin
    617         $(OBJCOPY) -B arm -I binary -O elf32-littlearm --rename-section .data=.rodata $< $*.o
     670$(KERNEL_LCOBJS:$(OBJDIR)/%.o=%.s): %.s:
     671        $(CC) -S -o $@ -DTOPPERS_$(*F) $(CFLAGS) $(KERNEL_CFLAGS) $<
     672
     673$(KERNEL_ASMOBJS): $(OBJDIR)/%.o: %.S
     674        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(KERNEL_CFLAGS) $<
     675
     676$(SYSSVC_COBJS): $(OBJDIR)/%.o: %.c
     677        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<
     678
     679$(SYSSVC_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c
     680        $(CC) -S -o $@ $(CFLAGS) $(SYSSVC_CFLAGS) $<
     681
     682$(SYSSVC_ASMOBJS): $(OBJDIR)/%.o: %.S
     683        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(SYSSVC_CFLAGS) $<
     684
     685$(APPL_COBJS): $(OBJDIR)/%.o: %.c
     686        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
     687
     688$(APPL_COBJS:$(OBJDIR)/%.o=%.s): %.s: %.c
     689        $(CC) -S -o $@ $(CFLAGS) $(APPL_CFLAGS) $<
     690
     691$(APPL_CXXOBJS): $(OBJDIR)/%.o: %.cpp
     692        $(CXX) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
     693
     694$(APPL_CXXOBJS:$(OBJDIR)/%.o=%.s): %.s: %.cpp
     695        $(CXX) -S -o $@ $(CFLAGS) $(APPL_CFLAGS) $<
     696
     697$(APPL_ASMOBJS): $(OBJDIR)/%.o: %.S
     698        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $(APPL_CFLAGS) $<
     699
     700$(APPL_BINOBJS): $(OBJDIR)/%.o: %.bin
     701        $(OBJCOPY) -B arm -I binary -O elf32-littlearm --rename-section .data=.rodata $< $(OBJDIR)/$*.o
     702
     703$(MALLOC_OBJS): $(OBJDIR)/%.o:
     704        $(AR) x $(MALLOC_LIB) $(notdir $@)
     705        mv $(notdir $@) $@
    618706
    619707#
    620708#  デフォルトコンパイルルールを上書き
    621709#
    622 %.o: %.c
     710$(OBJDIR)/%.o: %.c
    623711        @echo "*** Default compile rules should not be used."
    624         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
     712        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
    625713
    626714%.s: %.c
    627715        @echo "*** Default compile rules should not be used."
    628         $(CC) -S $(CFLAGS) $<
    629 
    630 %.o: %.cpp
     716        $(CC) -S -o $@ $(CFLAGS) $<
     717
     718$(OBJDIR)/%.o: %.cpp
    631719        @echo "*** Default compile rules should not be used."
    632         $(CXX) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
     720        $(CXX) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
    633721
    634722%.s: %.cpp
    635723        @echo "*** Default compile rules should not be used."
    636         $(CXX) -S $(CFLAGS) $<
    637 
    638 %.o: %.S
     724        $(CXX) -S -o $@ $(CFLAGS) $<
     725
     726$(OBJDIR)/%.o: %.S
    639727        @echo "*** Default compile rules should not be used."
    640         $(CC) -c -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
     728        $(CC) -c -o $@ -MD -MP -MF $(DEPDIR)/$*.d $(CFLAGS) $<
Note: See TracChangeset for help on using the changeset viewer.