📄 makefile.h8s
字号:
## TOPPERS/JSP Kernel# Toyohashi Open Platform for Embedded Real-Time Systems/# Just Standard Profile Kernel## Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory# Toyohashi Univ. of Technology, JAPAN# Copyright (C) 2001,2002 by Dep. of Computer Science and Engineering# Tomakomai National College of Technology, JAPAN# Copyright (C) 2001,2002 by Industrial Technology Institute,# Miyagi Prefectural Government, JAPAN## 惧淡螟侯涪荚は·Free Software Foundation によって给山されている# GNU General Public License の Version 2 に淡揭されている掘凤か·笆# 布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ# アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布·# 网脱と钙ぶ∷することを痰浸で钓满するˉ# (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯# 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖# スコ〖ド面に崔まれていることˉ# (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ# ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱# に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩·# この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ# (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥# み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ# (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯# 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ# (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する# ことˉ# (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄# 巢からも·惧淡螟侯涪荚を倘勒することˉ## 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は·# 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ# ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい# かなる禄巢に簇しても·その勒扦を砷わないˉ## @(#) $Id: Makefile.h8s,v 1.2 2002/04/13 13:24:03 imai Exp $### タ〖ゲット叹の年盗#CPU = @(CPU)SYS = @(SYS)## ソ〖スファイルのディレクトリの年盗#JSPDIR = @(JSPDIR)## H8S巴赂婶のディレクトリの年盗#H8SDIR = $(JSPDIR)/config/$(CPU)## Cygwin惧でコンパイルするかどうかの肋年##CYGWIN = true## 悸乖茨董の年盗∈剩眶の悸乖茨董を票箕に联买してはならない∷# ∈どれにも澈碰しない眷圭は·すべてコメントアウトする∷##GDB_STUB = true#PARTNER_J = true## タ〖ゲット巴赂の年盗のインクル〖ド#-include $(H8SDIR)/Makefile.configifdef SYS -include $(H8SDIR)/$(SYS)/Makefile.configendif## 鼎奶コンパイルオプションの年盗#INCLUDES = .,$(JSPDIR)/include,$(H8SDIR),$(H8SDIR)/$(SYS)CDEFS = $(CPU_CDEFS) $(SYS_CDEFS) $(ENV_CDEFS)CFLAGS = $(CPU_CFLAGS) $(SYS_CFLAGS) $(CDEFS)ASMDEFS = $(CPU_ASMDEFS) $(SYS_ASMDEFS)ASMFLAGS =$(CPU_ASMFLAGS) $(SYS_ASMFLAGS)LDFLAGS = $(CPU_LDFLAGS) $(SYS_LDFLAGS)LIBS = $(CPU_LIBS) $(SYS_LIBS)## アプリケ〖ションプログラムに簇する年盗#UNAME = sample1UTASK_CFG = $(UNAME).cfgUTASK_DIR = $(JSPDIR)/libjspUTASK_ASMOBJS =UTASK_COBJS = $(UNAME).objUTASK_CFLAGS =UTASK_CFLAGS_INC =UTASK_ASMFLAGS =UTASK_ASMFLAGS_INC =UTASK_LIBS =## システムサ〖ビスに簇する年盗#STASK_DIR = $(JSPDIR)/systask:$(JSPDIR)/libjspSTASK_ASMOBJS =STASK_COBJS = timer.obj serial.obj logtask.obj \ vasyslog.obj jsp_perror.obj strerror.objSTASK_CFLAGS_INC =,$(JSPDIR)/systaskSTASK_CFLAGS =STASK_ASMFLAGS_INC =,$(JSPDIR)/systaskSTASK_ASMFLAGS =STASK_LIBS =## カ〖ネルに簇する年盗## KERNEL_ASMOBJS: カ〖ネルライブラリに崔める·ソ〖スがアセンブリ咐胳の# オブジェクトファイルˉ# KERNEL_COBJS: カ〖ネルのライブラリに崔める·ソ〖スがC咐胳のオブジェク# トファイルˉ# KERNEL_ADD_COBJS: カ〖ネルのライブラリに崔めず·ロ〖ドモジュ〖ルに木# 儡リンクするソ〖スがC咐胳のオブジェクトファイルˉ# KERNEL_AUX_COBJS: ロ〖ドモジュ〖ルに崔めないが·カ〖ネルのソ〖スファ# イルと票じオプションを努脱してコンパイルすべきファ# イルˉ#KERNEL = $(JSPDIR)/kernelKERNEL_DIR = $(H8SDIR):$(H8SDIR)/$(SYS):$(KERNEL)KERNEL_ASMOBJS = cpu_support.obj sys_support.objKERNEL_COBJS = startup.obj cpu_config.obj sys_config.obj \ task.obj wait.obj time_event.obj syslog.obj \ task_manage.obj task_sync.obj task_except.obj \ semaphore.obj eventflag.obj dataqueue.obj mailbox.obj mempfix.obj \ time_manage.obj cyclic.obj sys_manage.obj interrupt.obj # exception.objKERNEL_ADD_COBJS = banner.obj kernel_cfg.obj KERNEL_AUX_COBJS = makeoffset.obj kernel_chk.objKERNEL_CFLAGS_INC =,$(KERNEL)KERNEL_CFLAGS =KERNEL_ASMFLAGS_INC =,$(KERNEL)KERNEL_ASMFLAGS =INT_HDLER_OBJ = int_hdler.obj## スタ〖トアップモジュ〖ルに簇する年盗#ifndef START_OBJS START_OBJS = start.objendif## オブジェクトファイル叹の年盗∈Cygwin では .exe が烧く∷##ifneq ($(CYGWIN),true)# JSPOBJ = jsp#else# JSPOBJ = jsp.exe#endif JSPOBJ = jsp.abs## タ〖ゲットファイル∈剩眶を票箕に联买してはならない∷#all: $(JSPOBJ)#all: jsp.out#all: jsp.bin#all: jsp.src## カ〖ネルのコンフィギュレ〖ションファイルの栏喇(饯赖)#kernel_cfg.c kernel_id.h kernel_chk.c : $(UTASK_CFG) echo -i=$(INCLUDES) $(CDEFS) $(UTASK_CFG) > subcommand.sub $(CPP)=kernel_cfg.tmp -euc -sub=subcommand.sub grep -v "#line" kernel_cfg.tmp | $(JSPDIR)/cfg/cfg -s -c -z## 充哈みの叫掐り庚借妄のファイル栏喇(纳裁)#int_hdler.obj : kernel_cfg.c echo rule int_hdler.obj grep ^CFG_INTHDR_ENTRY kernel_cfg.c | \ perl $(H8SDIR)/gen_int.pl > int_hdler.src echo $(ASMFLAGS) $(KERNEL_ASMFLAGS) | perl $(H8SDIR)/make_sub.pl > tmp.sub echo -i=$(INCLUDES)$(KERNEL_ASMFLAGS_INC) >> tmp.sub perl -i.bak $(H8SDIR)/make_asm_path.pl tmp.sub echo $(AS) int_hdler.src -O=$@ -sub=tmp.sub > tmp.sh perl -i.bak $(H8SDIR)/make_asm_path.pl tmp.sh sh tmp.sh##### 笆布は试礁しないこと ####### 茨董に巴赂するコンパイルオプションの年盗##ifeq ($(GDB_STUB),true)# ENV_CDEFS = -DGDB_STUB#else#ifeq ($(PARTNER_J),true)# ENV_CDEFS = -DPARTNER_J#endif#endif### jsp.chk の栏喇惮搂∈琅弄APIのパラメ〖タチェック∷##jsp.chk: kernel_chk.src $(JSPDIR)/utils/gencheck# $(JSPDIR)/utils/gencheck kernel_chk.src > jsp.chk### offset.h の栏喇惮搂∈菇陇挛柒のオフセット猛の换叫∷#offset.h: makeoffset.c $(H8SDIR)/offset_of.pl $(H8SDIR)/bit_of.pl echo $(CFLAGS) $(KERNEL_CFLAGS) | perl $(H8SDIR)/make_sub.pl > tmp.sub echo -i=$(INCLUDES)$(KERNEL_CFLAGS_INC) >> tmp.sub $(CC) -c=asmcode -sub=tmp.sub $< perl $(H8SDIR)/offset_of.pl makeoffset.src > offset.h perl $(H8SDIR)/bit_of.pl makeoffset.src >> offset.h## ソ〖スファイルのあるディレクトリに簇する年盗#vpath %.c $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)vpath %.src $(KERNEL_DIR):$(STASK_DIR):$(UTASK_DIR)## コンパイルのための恃眶の年盗#KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS)STASK_OBJS = $(STASK_ASMOBJS) $(STASK_COBJS)UTASK_OBJS = $(UTASK_ASMOBJS) $(UTASK_COBJS)ALL_OBJS = $(START_OBJS) $(KERNEL_ADD_COBJS) $(STASK_OBJS) $(UTASK_OBJS) $(INT_HDLER_OBJ)ALL_LIBS = $(STASK_LIBS) $(UTASK_LIBS) libkernel.lib $(LIBS)ifdef TEXT_START_ADDRESS LDFLAGS := $(LDFLAGS) -Wl,-Ttext,$(TEXT_START_ADDRESS)endififdef DATA_START_ADDRESS LDFLAGS := $(LDFLAGS) -Wl,-Tdata,$(DATA_START_ADDRESS)endififdef LDSCRIPT LDFLAGS := $(LDFLAGS) -T $(JSPDIR)/config/$(LDSCRIPT)endif## 泼侍な巴赂簇犯の年盗#banner.obj: Makefile $(filter-out banner.obj,$(ALL_OBJS)) libkernel.lib## カ〖ネルライブラリファイルの栏喇#libkernel.lib: $(KERNEL_LIB_OBJS) $(REMOVE) libkernel.lib echo create libkernel.lib > lib.sub echo add $(KERNEL_LIB_OBJS) >> lib.sub echo exit >> lib.sub $(AR) -sub=lib.sub## 链挛のリンク#$(JSPOBJ): $(ALL_OBJS) libkernel.lib echo INPUT $(ALL_OBJS) > link.sub echo LIBRARY $(ALL_LIBS) >> link.sub cat $(JSPDIR)/config/$(LDSCRIPT) >> link.sub $(LD) -EXCLUDE -output=jsp.abs -sub=link.sub## PARTNER-J のためのファイル#jsp.out: $(JSPOBJ) cp $(JSPOBJ) jsp.out## バイナリファイルの栏喇#jsp.bin: $(JSPOBJ) $(OBJCOPY) -O binary -S $(JSPOBJ) jsp.bin## Sレコ〖ドファイルの栏喇#jsp.src: $(JSPOBJ) $(OBJCOPY) -O srec -S $(JSPOBJ) jsp.src## コンパイル冯蔡の久殿#clean: $(REMOVE) \#* *~ *.o *.obj *.OBJ *.tmp *.lst *.sub err.txt *.bak $(REMOVE) makeoffset.src offset.h kernel_cfg.c kernel_chk.c kernel_chk.src kernel_id.h $(REMOVE) libkernel.lib jsp jsp.chk jsp.exe jsp.bin jsp.out jsp.src jsp.abs $(REMOVE) int_hdler.src tmp.sh libkernel.LCT makeoffset.p
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -