mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-10-31 13:51:10 -04:00
omakeでビルド、omake cleanでクリーン、omake -Pはhoge.binが更新されないので注意 git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@347 013db118-44a6-b54f-8bf7-843cb86687b1
156 lines
4.8 KiB
Plaintext
156 lines
4.8 KiB
Plaintext
############################################################
|
||
# 挻膾董捓邟年
|
||
############################################################
|
||
|
||
# 挜迴イ挜硳ン挸珤券挻膾董挙螔イ挜髵ス挜葤〖挜霋黎挙驋茨挾瓛恃捒魭で捇貟年挙箳る
|
||
NECEL_ROOT =
|
||
if $(defined-env NECEL_ROOT)
|
||
value $(absname $"$(getenv NECEL_ROOT)")
|
||
else
|
||
value "C:\Program Files (x86)\NEC Electronics Tools"
|
||
|
||
# cygwin挙螔イ挜髵ス挜葤〖挜霋黎挙驋茨挾瓛恃捒魭で捇貟年挙箳る
|
||
CYGWIN_ROOT =
|
||
if $(defined-env CYGWIN_ROOT)
|
||
value $(absname $"$(getenv CYGWIN_ROOT)")
|
||
else
|
||
value "C:\cygwin"
|
||
|
||
# GCC挜袙〖挜笒ョ挜髵を挻膾董捠褣眶挙菕回捘陹す挙<E38199>
|
||
CYGWIN_GCC =
|
||
if $(defined-env CYGWIN_GCC)
|
||
value $(CYGWIN_ROOT)/bin/$"$(getenv CYGWIN_GCC)"
|
||
else
|
||
value $(CYGWIN_ROOT)/bin/gcc-4
|
||
|
||
#挜菕バ挜<E38390>ス挜諕ァ挜<E382A1>ル挙<E383AB> NECEL_ROOT/dev 挙藪弥挙瘨こ挙<E38193>
|
||
#捈珤甘挜<E79498>ッ挜讙デ挕紥ト捦褣ラ挜<E383A9>ブ挜閽リ挙<E383AA> CC_LIBS_ROOT/挵蕭布挙藪弥挙瘨こ挙<E38193>
|
||
|
||
SUBDIR_INTER_ASM = $(dir inter_asm)
|
||
|
||
CC_ROOT = $(NECEL_ROOT)/CC78K0R
|
||
CC_VER = W2.13
|
||
CC = $(CC_ROOT)/$(CC_VER)/bin/cc78k0r.exe
|
||
RA = $(NECEL_ROOT)/RA78K0R/W1.33/bin/ra78k0r.exe
|
||
LK = $(NECEL_ROOT)/RA78K0R/W1.33/bin/lk78k0r.exe
|
||
OC = $(NECEL_ROOT)/RA78K0R/W1.33/bin/oc78k0r.exe
|
||
LCNV = $(NECEL_ROOT)/RA78K0R/W1.33/bin/lc78k0r.exe
|
||
DEVFILE_ROOT = $(NECEL_ROOT)/dev
|
||
|
||
CC_LIBS_ROOT = $(CC_ROOT)/$(CC_VER)/lib78k0r
|
||
CC_INCLUDES_ROOT = $(CC_ROOT)/$(CC_VER)/inc78k0r
|
||
S0RM = s0rm.rel
|
||
|
||
# 挜粧キ挜鍜リ挜茠ィID
|
||
GIVALUE = 1B339499E033F240BFAAh
|
||
|
||
# 挜鎾〖挜稈オ挜讙シ挜鐠ン挜袙イ挜<E382A4>
|
||
GBValue = 7EFBFFh
|
||
|
||
DEVICE_NAME = 9F0104
|
||
|
||
FSL_LIB = fsl.lib
|
||
|
||
TARGET_NAME = bsr
|
||
TARGET_LMF = $(TARGET_NAME).lmf
|
||
TARGET_HEX = $(TARGET_NAME).hex
|
||
|
||
# 挙硳こ挙迴で
|
||
############################################################
|
||
|
||
############################################################
|
||
# 挜綊〖挜箳を捘蓲裁挙窉た挙閽试捊笒す挙霋舱捊<E888B1>
|
||
############################################################
|
||
|
||
SRC_FILES[] =
|
||
loader
|
||
pm
|
||
i2c_ctr
|
||
main
|
||
magic
|
||
WDT
|
||
i2c_mcu
|
||
i2c_twl
|
||
led
|
||
rtc
|
||
vreg_ctr
|
||
vreg_twl
|
||
adc
|
||
renge\renge
|
||
accero
|
||
self_flash
|
||
sw
|
||
task_debug
|
||
task_misc
|
||
task_sys
|
||
pedo_alg_thre_det2
|
||
ini_VECT
|
||
task_status
|
||
led_cam
|
||
led_pow
|
||
|
||
INCLUDES[] =
|
||
./
|
||
renge
|
||
|
||
# 挙硳こ挙迴で
|
||
############################################################
|
||
|
||
.PHONY: clean BeforeBuild
|
||
|
||
AddRel(files) =
|
||
file_names = $(addsuffix .rel, $(files))
|
||
return $(file_names)
|
||
|
||
# *.c挙珤らinter_asm/*.asm挙驋侯挙霋た挙釖の挻貟眶
|
||
AsmProgram(files) =
|
||
foreach(filename, $(files))
|
||
asm_name = $(addprefix $(SUBDIR_INTER_ASM)/, $(addsuffix .asm, $(basename $(filename))))
|
||
c_name = $(addsuffix .c, $(filename))
|
||
|
||
.SCANNER: $(asm_name): $(c_name)
|
||
$(CYGWIN_GCC) -MM -w -I$(CC_INCLUDES_ROOT) $(c_name) | sed 's/$(filename)\.o/$(SUBDIR_INTER_ASM)\/$(filename)\.asm/g'
|
||
|
||
$(asm_name): $(c_name)
|
||
$(CC) -c$(DEVICE_NAME) -y$(DEVFILE_ROOT) -_msgoff -irenge -i$(CC_INCLUDES_ROOT) -ms -qvjl2w -sa$(SUBDIR_INTER_ASM) -zpb -no $(c_name)
|
||
|
||
return $(addsuffix .c, $(files))
|
||
|
||
# inter_asm/*.asm 挙珤ら *.rel挙驋侯挙霋た挙釖の挻貟眶
|
||
RelProgram(files) =
|
||
foreach(filename, $(files))
|
||
rel_name = $(addsuffix .rel, $(basename $(filename)))
|
||
asm_name = $(addprefix $(SUBDIR_INTER_ASM)/, $(addsuffix .asm, $(basename $(filename))))
|
||
asm_win_name = $(addprefix $(SUBDIR_INTER_ASM)\\, $(addsuffix .asm, $(basename $(filename))))
|
||
c_name = $(addsuffix .c, $(filename))
|
||
|
||
.SCANNER: $(rel_name): $(asm_win_name)
|
||
$(CYGWIN_GCC) -MM -w -I$(CC_INCLUDES_ROOT) $(c_name) | sed 's/\.o/\.rel/g'
|
||
|
||
$(rel_name): $(asm_name)
|
||
$(RA) -c$(DEVICE_NAME) -y$(DEVFILE_ROOT) -_msgoff $(asm_win_name)
|
||
|
||
return $(addsuffix .rel, $(basename $(files)))
|
||
|
||
$(TARGET_LMF): $(RelProgram $(SRC_FILES)) $(AsmProgram $(SRC_FILES))
|
||
$(LK) -y$(DEVFILE_ROOT) -_msgoff -o$(TARGET_LMF) $(CC_LIBS_ROOT)/$(S0RM) -gi$(GIVALUE) -pbsr_k0r.map -nkd -gb$(GBValue) -b$(CC_LIBS_ROOT)/$(FSL_LIB) -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i$(CC_LIBS_ROOT) -dbsr_mcu.dr -s -w0 $(AddRel $(basename $(SRC_FILES)))
|
||
|
||
$(TARGET_HEX) : $(TARGET_LMF)
|
||
$(OC) -y$(DEVFILE_ROOT) -_msgoff -o.\\$(TARGET_HEX) -nu -ki $(TARGET_LMF)
|
||
|
||
BeforeBuild:
|
||
# 挜訏ル挜蓲涟挙藪涩挙簰悸捁話し挙繏い捊钂妄
|
||
# OMake挙瑨タ挜<E382BF>ム挜箳タ挜髵プ挙菕は挙蕭くMD5挙菕フ挜<E38395>イ挜霋の捑鯍轮挙驋瓷捦龗し挙茠い挙霋の挙<E381AE>
|
||
# 捇膾前挙蕭が挙<E3818C> clean挙窉て挙珤ら挜訏ル挜蓲し挙蕭お挙箳涩捦讙が挙<E3818C>る
|
||
C:\Windows\system32\cmd.exe /c $(CYGWIN_ROOT)\bin\touch magic.c
|
||
if $(not $(file-exists $(SUBDIR_INTER_ASM)))
|
||
mkdir $(SUBDIR_INTER_ASM)
|
||
|
||
hoge.bin: BeforeBuild $(TARGET_HEX)
|
||
C:\Windows\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb $(TARGET_HEX)
|
||
|
||
clean:
|
||
rm -rf *.prn *.rel $(SUBDIR_INTER_ASM)/*.asm *.omc .omakedb .omakedb.lock
|
||
|
||
.DEFAULT: hoge.bin
|