OMakeでビルドできるように

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
This commit is contained in:
N2614 2011-06-22 10:56:33 +00:00
parent 575da59406
commit ba194aaac2
2 changed files with 159 additions and 0 deletions

155
trunk/OMakefile Normal file
View File

@ -0,0 +1,155 @@
############################################################
# 𣖕<>雁𠒑<E99B81>
############################################################
# 𤨎<>奶𤨎<E5A5B6>件湶<E4BBB6><E6B9B6>𣖕<EFBFBD>雁伃<E99B81>奶𤨎<E5A5B6>旦𤨎<E697A6>□𤨎<E296A1>燮伃<E787AE>棕𣺿<E6A395>庍𠒒<E5BA8D>匹凃<E58CB9>爛伃<E7889B>
NECEL_ROOT =
if $(defined-env NECEL_ROOT)
value $(absname $"$(getenv NECEL_ROOT)")
else
value "C:\Program Files (x86)\NEC Electronics Tools"
# cygwin伃<6E>奶𤨎<E5A5B6>旦𤨎<E697A6>□𤨎<E296A1>燮伃<E787AE>棕𣺿<E6A395>庍𠒒<E5BA8D>匹凃<E58CB9>爛伃<E7889B>
CYGWIN_ROOT =
if $(defined-env CYGWIN_ROOT)
value $(absname $"$(getenv CYGWIN_ROOT)")
else
value "C:\cygwin"
# GCC𤨎<43>□𤨎<E296A1>亦𤨎<E4BAA6>毛𣖕<E6AF9B>雁熌<E99B81>醒伃<E98692>隙剙<E99A99>允伃<E58581>
CYGWIN_GCC =
if $(defined-env CYGWIN_GCC)
value $(CYGWIN_ROOT)/bin/$"$(getenv CYGWIN_GCC)"
else
value $(CYGWIN_ROOT)/bin/gcc-4
#𤨎<>田𤨎<E794B0>旦𤨎<E697A6>央𤨎<E5A4AE>伙伃<E4BC99> NECEL_ROOT/dev 伃<>譆伃<E8AD86>仇伃<E4BB87>
#𠗠<>裘𤨎<E8A398>永𤨎<E6B0B8>犯働<E78AAF>玄𤦬<E78E84>仿𤨎<E4BBBF>皮𤨎<E79AAE>伉伃<E4BC89> CC_LIBS_ROOT/兛<>票伃<E7A5A8>譆伃<E8AD86>仇伃<E4BB87>
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
# 𤨎<>平𤨎<E5B9B3>伉𤨎<E4BC89>奴ID
GIVALUE = 1B339499E033F240BFAAh
# 𤨎<>□𤨎<E296A1>左𤨎<E5B7A6>扑𤨎<E68991>件𤨎<E4BBB6>奶𤨎<E5A5B6>
GBValue = 7EFBFFh
DEVICE_NAME = 9F0104
FSL_LIB = fsl.lib
TARGET_NAME = bsr
TARGET_LMF = $(TARGET_NAME).lmf
TARGET_HEX = $(TARGET_NAME).hex
# 伃<>仇伃<E4BB87>
############################################################
############################################################
# 𤨎<>□𤨎<E296A1>毛剙<E6AF9B>笛伃<E7AC9B>凶伃<E587B6>彸䓝<E5BDB8>允伃<E58581>組䓝<E7B584>
############################################################
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
# 伃<>仇伃<E4BB87>
############################################################
.PHONY: clean BeforeBuild
AddRel(files) =
file_names = $(addsuffix .rel, $(files))
return $(file_names)
# *.c伃<63>日inter_asm/*.asm伃<6D>綜伃<E7B69C>凶伃<E587B6>及𣖕<E58F8A>
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伃<6C>綜伃<E7B69C>凶伃<E587B6>及𣖕<E58F8A>
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:
# 𤨎<>伙𤨎<E4BC99>蟆伃<E89F86>优伃<E4BC98>撢𣺉<E692A2>仄伃<E4BB84>中䓝<E4B8AD>
# OMake伃<65>正𤨎<E6ADA3>丞𤨎<E4B89E>正𤨎<E6ADA3>皿伃<E79ABF>反伃<E58F8D>仁MD5伃<35>白𤨎<E799BD>奶𤨎<E5A5B6>及𠒣<E58F8A>謫伃<E8ACAB>棟𤦬<E6A39F>仄伃<E4BB84>中伃<E4B8AD>及伃<E58F8A>
# 凃<>ゴ伃<E382B4>互伃<E4BA92> clean伃<6E>化伃<E58C96>日𤨎<E697A5>伙𤨎<E4BC99>仄伃<E4BB84>云伃<E4BA91>优𤦬<E4BC98>互伃<E4BA92>
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

4
trunk/OMakeroot Normal file
View File

@ -0,0 +1,4 @@
#
# Include the OMakefile in this directory.
#
.SUBDIRS: .