⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile.mak

📁 符合日本著名的ITRON规范的开源操作系统。 TOPPERS/JSP内核就是TOPPERS工程按μITRON4.0研发的第一个 软件
💻 MAK
📖 第 1 页 / 共 2 页
字号:
#
#  TOPPERS/JSP Kernel
#      Toyohashi Open Platform for Embedded Real-Time Systems/
#      Just Standard Profile Kernel
# 
#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
#                              Toyohashi Univ. of Technology, JAPAN
#  Copyright (C) 2005 by Industrial Technology Institute,
#                              Miyagi Prefectural Government, JAPAN
# 
#  忋婰挊嶌尃幰偼丆埲壓偺 (1)乣(4) 偺忦審偐丆Free Software Foundation 
#  偵傛偭偰岞昞偝傟偰偄傞 GNU General Public License 偺 Version 2 偵婰
#  弎偝傟偰偄傞忦審傪枮偨偡応崌偵尷傝丆杮僜僼僩僂僃傾乮杮僜僼僩僂僃傾
#  傪夵曄偟偨傕偺傪娷傓丏埲壓摨偠乯傪巊梡丒暋惢丒夵曄丒嵞攝晍乮埲壓丆
#  棙梡偲屇傇乯偡傞偙偲傪柍彏偱嫋戻偡傞丏
#  (1) 杮僜僼僩僂僃傾傪僜乕僗僐乕僪偺宍偱棙梡偡傞応崌偵偼丆忋婰偺挊嶌
#      尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕偑丆偦偺傑傑偺宍偱僜乕
#      僗僐乕僪拞偵娷傑傟偰偄傞偙偲丏
#  (2) 杮僜僼僩僂僃傾傪丆儔僀僽儔儕宍幃側偳丆懠偺僜僼僩僂僃傾奐敪偵巊
#      梡偱偒傞宍偱嵞攝晍偡傞応崌偵偼丆嵞攝晍偵敽偆僪僉儏儊儞僩乮棙梡
#      幰儅僯儏傾儖側偳乯偵丆忋婰偺挊嶌尃昞帵丆偙偺棙梡忦審偍傛傃壓婰
#      偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
#  (3) 杮僜僼僩僂僃傾傪丆婡婍偵慻傒崬傓側偳丆懠偺僜僼僩僂僃傾奐敪偵巊
#      梡偱偒側偄宍偱嵞攝晍偡傞応崌偵偼丆師偺偄偢傟偐偺忦審傪枮偨偡偙
#      偲丏
#    (a) 嵞攝晍偵敽偆僪僉儏儊儞僩乮棙梡幰儅僯儏傾儖側偳乯偵丆忋婰偺挊
#        嶌尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
#    (b) 嵞攝晍偺宍懺傪丆暿偵掕傔傞曽朄偵傛偭偰丆TOPPERS僾儘僕僃僋僩偵
#        曬崘偡傞偙偲丏
#  (4) 杮僜僼僩僂僃傾偺棙梡偵傛傝捈愙揑傑偨偼娫愙揑偵惗偠傞偄偐側傞懝
#      奞偐傜傕丆忋婰挊嶌尃幰偍傛傃TOPPERS僾儘僕僃僋僩傪柶愑偡傞偙偲丏
# 
#  杮僜僼僩僂僃傾偼丆柍曐徹偱採嫙偝傟偰偄傞傕偺偱偁傞丏忋婰挊嶌尃幰偍
#  傛傃TOPPERS僾儘僕僃僋僩偼丆杮僜僼僩僂僃傾偵娭偟偰丆偦偺揔梡壜擻惈傕
#  娷傔偰丆偄偐側傞曐徹傕峴傢側偄丏傑偨丆杮僜僼僩僂僃傾偺棙梡偵傛傝捈
#  愙揑傑偨偼娫愙揑偵惗偠偨偄偐側傞懝奞偵娭偟偰傕丆偦偺愑擟傪晧傢側偄丏
#

#
#  奜晹僣乕儖屇傃弌偟梡Makefile
#丂丂偙偺Makefile偱偼埲壓偺嶌嬈傪峴偆偨傔偺愝掕傪婰弎偡傞丅
#丂丂丂丒僇乕僱儖丒儔僀僽儔儕峔抸偺偨傔偺僼傽僀儖暘妱
#丂丂丂丒TCB峔憿懱偺僆僼僙僢僩嶼弌
#


#######################################################################
#
#  儐乕僓乕偑愝掕偡傞曄悢
#
#######################################################################

#
#  儂僗僩儅僔儞偺娐嫬偵埶懚偡傞掕媊
#丂丂埲壓偺曄悢偼儂僗僩儅僔儞偺娐嫬偵崌傢偣偰丄掕媊偡傞丅

#
#  僣乕儖僠僃乕儞偑僀儞僩乕儖偝傟偰偄傞僨傿儗僋僩儕
#
TC=C:\Hew3\Tools\Renesas\H8\6_1_0

#
#  perl偺幚峴僼傽僀儖傪僼儖僷僗偱巜掕偡傞丅
#
PERL = C:\Perl\bin\perl.exe

#######################################################################


#
#  僞乕僎僢僩柤偺掕媊
#
CPU = h8
SYS = hsb8f3048bf25
TOOL = renesas

#
#  僜乕僗僼傽僀儖偺僨傿儗僋僩儕偺掕媊
#
SRCDIR = ..\..\..\..
KERNELDIR = $(SRCDIR)\kernel
INCLUDEDIR = $(SRCDIR)\include
CPUDIR = $(SRCDIR)\config\$(CPU)-$(TOOL)
SYSDIR = $(CPUDIR)\$(SYS)

#
#  僀儞僋儖乕僪僼傽僀儖偺僒乕僠僷僗偺掕媊
#
INCLUDE = .,$(INCLUDEDIR),$(SYSDIR),$(CPUDIR),$(KERNELDIR)

#
#  僐儞僷僀儔偵梌偊傞僆僾僔儑儞偺掕媊
#丂丂HEW偱巜掕偡傞僆僾僔儑儞偲偦傠偊側偄偲惓忢偵摦嶌偟側偄偺偱拲堄
#
CC_OPT = -cpu=300HA -nologo -nolist -op=0 -nomessage=0006,0008,0010,1400 \
 -debug  -def=LABEL_ASM -def=E10T -I=$(INCLUDE)

#
#  僣乕儖偺掕媊
#
CC = $(TC)\Bin\ch38.exe
COPY = copyfile.bat

#
#  埶懚僼傽僀儖偺掕媊
#
KERNEL_DEP_FILES = $(INCLUDEDIR)\itron.h $(INCLUDEDIR)\kernel.h \
 $(INCLUDEDIR)\kernel_cfg.h $(INCLUDEDIR)\kernel_debug.h \
 $(INCLUDEDIR)\logtask.h $(INCLUDEDIR)\s_services.h $(INCLUDEDIR)\serial.h \
 $(INCLUDEDIR)\sil.h $(INCLUDEDIR)\t_config.h $(INCLUDEDIR)\t_services.h \
 $(INCLUDEDIR)\t_stddef.h $(INCLUDEDIR)\t_syslog.h $(INCLUDEDIR)\timer.h \
 $(KERNELDIR)\check.h $(KERNELDIR)\cyclic.h $(KERNELDIR)\dataqueue.h \
 $(KERNELDIR)\eventflag.h $(KERNELDIR)\exception.h $(KERNELDIR)\interrupt.h \
 $(KERNELDIR)\jsp_kernel.h $(KERNELDIR)\jsp_rename.h $(KERNELDIR)\jsp_unrename.h \
 $(KERNELDIR)\mailbox.h $(KERNELDIR)\mempfix.h $(KERNELDIR)\queue.h \
 $(KERNELDIR)\semaphore.h $(KERNELDIR)\syslog.h $(KERNELDIR)\task.h \
 $(KERNELDIR)\time_event.h $(KERNELDIR)\wait.h

CPU_DEP_FILES = $(CPUDIR)\h8_3048f.h \
 $(CPUDIR)\cpu_config.h $(CPUDIR)\cpu_context.h \
 $(CPUDIR)\cpu_defs.h $(CPUDIR)\cpu_insn.h $(CPUDIR)\cpu_rename.h \
 $(CPUDIR)\cpu_unrename.h $(CPUDIR)\h8.h $(CPUDIR)\hw_serial.h \
 $(CPUDIR)\hw_timer.h $(CPUDIR)\tool_config.h $(CPUDIR)\tool_defs.h \
 $(CPUDIR)\util.h

SYS_DEP_FILES = $(SYSDIR)\sys_config.h $(SYSDIR)\sys_defs.h \
 $(SYSDIR)\user_config.h $(SYSDIR)\sys_rename.h $(SYSDIR)\sys_unrename.h 

DEP_FILES = $(KERNEL_DEP_FILES) $(CPU_DEP_FILES) $(SYS_DEP_FILES)

#
#  奺僜乕僗僼傽僀儖偐傜惗惉偝傟傞僆僽僕僃僋僩僼傽僀儖偺掕媊
#
TASK = tskini.c tsksched.c tskrun.c tsknrun.c \
		tskdmt.c tskact.c tskext.c tskpri.c tskrot.c tsktex.c

WAIT = waimake.c waicmp.c waitmo.c waitmook.c \
		waican.c wairel.c wobjwai.c wobjwaitmo.c wobjpri.c

TIME_EVENT = tmeini.c tmeup.c tmedown.c tmeins.c tmedel.c isig_tim.c

SYSLOG = logini.c vwri_log.c vrea_log.c vmsk_log.c logter.c

TASK_MANAGE = act_tsk.c iact_tsk.c can_act.c ext_tsk.c ter_tsk.c \
		chg_pri.c get_pri.c

TASK_SYNC = slp_tsk.c tslp_tsk.c wup_tsk.c iwup_tsk.c can_wup.c \
		rel_wai.c irel_wai.c sus_tsk.c rsm_tsk.c frsm_tsk.c dly_tsk.c

TASK_EXCEPT = ras_tex.c iras_tex.c dis_tex.c ena_tex.c sns_tex.c

SEMAPHORE = semini.c sig_sem.c isig_sem.c wai_sem.c pol_sem.c twai_sem.c

EVENTFLAG = flgini.c flgcnd.c set_flg.c iset_flg.c clr_flg.c \
		wai_flg.c pol_flg.c twai_flg.c

DATAQUEUE = dtqini.c dtqenq.c dtqfenq.c dtqdeq.c dtqsnd.c dtqrcv.c \
		snd_dtq.c psnd_dtq.c ipsnd_dtq.c tsnd_dtq.c \
		fsnd_dtq.c ifsnd_dtq.c rcv_dtq.c prcv_dtq.c trcv_dtq.c

MAILBOX = mbxini.c snd_mbx.c rcv_mbx.c prcv_mbx.c trcv_mbx.c

MEMPFIX = mpfini.c mpfget.c get_mpf.c pget_mpf.c tget_mpf.c rel_mpf.c

TIME_MANAGE = set_tim.c get_tim.c vxget_tim.c

CYCLIC = cycini.c cycenq.c sta_cyc.c stp_cyc.c cyccal.c

SYS_MANAGE = rot_rdq.c irot_rdq.c get_tid.c iget_tid.c \
		loc_cpu.c iloc_cpu.c unl_cpu.c iunl_cpu.c \
		dis_dsp.c ena_dsp.c sns_ctx.c sns_loc.c sns_dsp.c \
		sns_dpn.c vsns_ini.c

INTERRUPT = inhini.c

EXCEPTION = excini.c vxsns_ctx.c vxsns_loc.c \
		vxsns_dsp.c vxsns_dpn.c vxsns_tex.c


#
#  慡懱偺惗惉婯懃
#
ALL: SETENV offset.inc TASK WAIT TIME_EVENT SYSLOG TASK_MANAGE TASK_SYNC \
 TASK_EXCEPT SEMAPHORE EVENTFLAG DATAQUEUE MAILBOX MEMPFIX TIME_MANAGE \
 CYCLIC SYS_MANAGE INTERRUPT EXCEPTION

#
#  娐嫬曄悢偺愝掕
#
SETENV:
	set CH38=$(TC)\Include
	set CH38TMP=$(TC)\Ctemp

#
#  offset.inc 偺惗惉婯懃乮峔憿懱撪偺僆僼僙僢僩抣偺嶼弌乯
#
MAKEOFFSET_C = $(CPUDIR)\makeoffset.c

offset.inc: $(MAKEOFFSET_C)
	$(CC) -code=asmcode $(CC_OPT) -I=$(INCLUDE) $(MAKEOFFSET_C)
	$(PERL) $(SRCDIR)\utils\h8-renesas\genoffset makeoffset.src > offset.inc

#
#  task.c暘妱偺儖乕儖
#
TASK_C = $(KERNELDIR)\task.c

tskini.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tskini -prep=tskini.p $(TASK_C)
	$(COPY) tskini.p tskini.c

tsksched.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tsksched -prep=tsksched.p $(TASK_C)
	$(COPY) tsksched.p tsksched.c

tskrun.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tskrun -prep=tskrun.p $(TASK_C)
	$(COPY) tskrun.p tskrun.c

tsknrun.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tsknrun -prep=tsknrun.p $(TASK_C)
	$(COPY) tsknrun.p tsknrun.c

tskdmt.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tskdmt -prep=tskdmt.p $(TASK_C)
	$(COPY) tskdmt.p tskdmt.c

tskact.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tskact -prep=tskact.p $(TASK_C)
	$(COPY) tskact.p tskact.c

tskext.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tskext -prep=tskext.p $(TASK_C)
	$(COPY) tskext.p tskext.c

tskpri.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tskpri -prep=tskpri.p $(TASK_C)
	$(COPY) tskpri.p tskpri.c

tskrot.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tskrot -prep=tskrot.p $(TASK_C)
	$(COPY) tskrot.p tskrot.c

tsktex.c:$(TASK_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tsktex -prep=tsktex.p $(TASK_C)
	$(COPY) tsktex.p tsktex.c


#
#  wait.c暘妱偺儖乕儖
#
WAIT_C = $(KERNELDIR)\wait.c

waimake.c:$(WAIT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__waimake -prep=waimake.p $(WAIT_C)
	$(COPY) waimake.p waimake.c

waicmp.c:$(WAIT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__waicmp -prep=waicmp.p $(WAIT_C)
	$(COPY) waicmp.p waicmp.c

waitmo.c:$(WAIT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__waitmo -prep=waitmo.p $(WAIT_C)
	$(COPY) waitmo.p waitmo.c

waitmook.c:$(WAIT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__waitmook -prep=waitmook.p $(WAIT_C)
	$(COPY) waitmook.p waitmook.c

waican.c:$(WAIT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__waican -prep=waican.p $(WAIT_C)
	$(COPY) waican.p waican.c

wairel.c:$(WAIT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__wairel -prep=wairel.p $(WAIT_C)
	$(COPY) wairel.p wairel.c

wobjwai.c:$(WAIT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__wobjwai -prep=wobjwai.p $(WAIT_C)
	$(COPY) wobjwai.p wobjwai.c

wobjwaitmo.c:$(WAIT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__wobjwaitmo -prep=wobjwaitmo.p $(WAIT_C)
	$(COPY) wobjwaitmo.p wobjwaitmo.c

wobjpri.c:$(WAIT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__wobjpri -prep=wobjpri.p $(WAIT_C)
	$(COPY) wobjpri.p wobjpri.c


#
#  time_event.c暘妱偺儖乕儖
#
TIME_EVENT_C = $(KERNELDIR)\time_event.c

tmeini.c:$(TIME_EVENT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tmeini -prep=tmeini.p $(TIME_EVENT_C)
	$(COPY) tmeini.p tmeini.c

tmeup.c:$(TIME_EVENT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tmeup -prep=tmeup.p $(TIME_EVENT_C)
	$(COPY) tmeup.p tmeup.c

tmedown.c:$(TIME_EVENT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tmedown -prep=tmedown.p $(TIME_EVENT_C)
	$(COPY) tmedown.p tmedown.c

tmeins.c:$(TIME_EVENT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tmeins -prep=tmeins.p $(TIME_EVENT_C)
	$(COPY) tmeins.p tmeins.c

tmedel.c:$(TIME_EVENT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tmedel -prep=tmedel.p $(TIME_EVENT_C)
	$(COPY) tmedel.p tmedel.c

isig_tim.c:$(TIME_EVENT_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__isig_tim -prep=isig_tim.p $(TIME_EVENT_C)
	$(COPY) isig_tim.p isig_tim.c


#
#  syslog.c暘妱偺儖乕儖
#
SYSLOG_C = $(KERNELDIR)\syslog.c

logini.c:$(SYSLOG_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__logini -prep=logini.p $(SYSLOG_C)
	$(COPY) logini.p logini.c

vwri_log.c:$(SYSLOG_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__vwri_log -prep=vwri_log.p $(SYSLOG_C)
	$(COPY) vwri_log.p vwri_log.c

vrea_log.c:$(SYSLOG_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__vrea_log -prep=vrea_log.p $(SYSLOG_C)
	$(COPY) vrea_log.p vrea_log.c

vmsk_log.c:$(SYSLOG_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__vmsk_log -prep=vmsk_log.p $(SYSLOG_C)
	$(COPY) vmsk_log.p vmsk_log.c

logter.c:$(SYSLOG_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__logter -prep=logter.p $(SYSLOG_C)
	$(COPY) logter.p logter.c


#
#  task_manage.c暘妱偺儖乕儖
#
TASK_MANAGE_C = $(KERNELDIR)\task_manage.c

act_tsk.c:$(TASK_MANAGE_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__act_tsk -prep=act_tsk.p $(TASK_MANAGE_C)
	$(COPY) act_tsk.p act_tsk.c

iact_tsk.c:$(TASK_MANAGE_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__iact_tsk -prep=iact_tsk.p $(TASK_MANAGE_C)
	$(COPY) iact_tsk.p iact_tsk.c

can_act.c:$(TASK_MANAGE_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__can_act -prep=can_act.p $(TASK_MANAGE_C)
	$(COPY) can_act.p can_act.c

ext_tsk.c:$(TASK_MANAGE_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__ext_tsk -prep=ext_tsk.p $(TASK_MANAGE_C)
	$(COPY) ext_tsk.p ext_tsk.c

ter_tsk.c:$(TASK_MANAGE_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__ter_tsk -prep=ter_tsk.p $(TASK_MANAGE_C)
	$(COPY) ter_tsk.p ter_tsk.c

chg_pri.c:$(TASK_MANAGE_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__chg_pri -prep=chg_pri.p $(TASK_MANAGE_C)
	$(COPY) chg_pri.p chg_pri.c

get_pri.c:$(TASK_MANAGE_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__get_pri -prep=get_pri.p $(TASK_MANAGE_C)
	$(COPY) get_pri.p get_pri.c


#
#  task_sync.c暘妱偺儖乕儖
#
TASK_SYNC_C = $(KERNELDIR)\task_sync.c

slp_tsk.c:$(TASK_SYNC_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__slp_tsk -prep=slp_tsk.p $(TASK_SYNC_C)
	$(COPY) slp_tsk.p slp_tsk.c

tslp_tsk.c:$(TASK_SYNC_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__tslp_tsk -prep=tslp_tsk.p $(TASK_SYNC_C)
	$(COPY) tslp_tsk.p tslp_tsk.c

wup_tsk.c:$(TASK_SYNC_C) $(DEP_FILES)
	$(CC) $(CC_OPT) -def=__wup_tsk -prep=wup_tsk.p $(TASK_SYNC_C)
	$(COPY) wup_tsk.p wup_tsk.c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -