3 # Toyohashi Open Platform for Embedded Real-Time Systems/
4 # Just Standard Profile Kernel
6 # Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7 # Toyohashi Univ. of Technology, JAPAN
9 # Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
11 # 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation
12 # によって公表されている GNU General Public License の Version 2 に記
13 # 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
14 # を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
16 # (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17 # 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
19 # (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20 # 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
21 # 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
23 # (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24 # 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
26 # (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
27 # 作権表示,この利用条件および下記の無保証規定を掲載すること.
28 # (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
30 # (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
31 # 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
33 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
34 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
35 # 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
36 # 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
39 # make file made by GWB33
41 # Numbered sections can be customized by user.
42 # Not numbered sections don't need to customize usually.
45 ### 1. Specify target file name(except expantion), CPU, SYSTEM and development tool
51 # Defin target file and necessary path
54 CFG
= $(SRCDIR
)/cfg
/cfg
56 KER_DIR
= $(SRCDIR
)/kernel
57 INC_DIR
= $(SRCDIR
)/include
58 CPU_DIR
= $(SRCDIR
)/config
/$(CPU
)
59 SYS_DIR
= $(SRCDIR
)/config
/$(CPU
)/$(SYS
)
60 GUILIB_DIR
= ..
/..
/gui-lib
/
61 WIKILIB_DIR_GENERIC
= $(SRCDIR
)/..
/wiki-lib
/generic
62 WIKILIB_DIR_SPECIFIC
= $(SRCDIR
)/..
/wiki-lib
/specific
63 FATLIB_DIR
= $(SRCDIR
)/..
/fatfs
/src
64 INDEX_DIR
=$(SRCDIR
)/..
/host-tools
/indexing
/locate
65 MINILZO_DIR
=$(SRCDIR
)/..
/minilzo
67 ### 2. If there are source files and so on in other directory, add Definitions
68 STASK_DIR
= $(SRCDIR
)/systask
69 UTASK_DIR
= $(SRCDIR
)/library
70 vpath
%.c
$(CPU_DIR
):$(SYS_DIR
):$(KER_DIR
):$(STASK_DIR
):$(UTASK_DIR
):\
71 $(GUILIB_DIR
):$(WIKILIB_DIR_GENERIC
):$(WIKILIB_DIR_SPECIFIC
):\
72 $(FATLIB_DIR
):$(INDEX_DIR
):$(MINILZO_DIR
)
74 # Include CPU / target dependence definitions.
75 # following definitions are used later section.
76 # KERNEL_LCOBJS KERNEL_COBJS KERNEL_CFLAGS START_OBJS
78 include $(SRCDIR
)/config
/$(CPU
)-$(TOOL
)/$(SYS
)/Makefile.config
79 include $(SRCDIR
)/config
/$(CPU
)-$(TOOL
)/Makefile.config
80 include $(SRCDIR
)/kernel
/Makefile.kernel
83 ### 3. Regist object files of user program and necessary libraries.
84 KERNEL_COBJS
:= $(KERNEL_COBJS
) startup.o banner.o
86 APPLI_COBJS
= kernel_cfg.o sample1.o keyboard_hw.o gui.o input.o
87 STASK_COBJS
= logtask.o serial.o timer.o
88 UTASK_COBJS
= log_output.o strerror.o t_perror.o vasyslog.o
90 DBG_ASMOBJS
= dbg_mon_sub.o
91 GUILIB_COBJS
= guilib.o glyph.o fontfile.o
92 WIKILIB_COBJS
= msg-toppers.o file-io-libfat.o file-io-general.o time-toppers.o wikilib.o \
93 malloc-simple.o article.o search.o history.o decompress.o keyboard.o
94 FATLIB_COBJS
= tff.o mmc.o cache.o
95 SEARCH_COBJS
= lsearcher.o fast_search.o
96 MINILZO_COBJS
= minilzo.o
98 ALL_COBJS
= $(START_OBJS
) $(APPLI_COBJS
) $(STASK_COBJS
) $(UTASK_COBJS
) \
99 $(DBG_COBJS
) $(DBG_ASMOBJS
) $(KERNEL_COBJS
) $(WIKILIB_COBJS
) \
100 $(GUILIB_COBJS
) $(FATLIB_COBJS
) $(SEARCH_COBJS
) $(KERNEL_LCOBJS
) \
105 C_LIBDIR
= $(SRCDIR
)/..
/toolchain
/mini-libc
/lib
106 LIBS
= $(C_LIBDIR
)/libc.a
`$(CC) -print-libgcc-file-name`
109 ### 4. Define compiler options, compilation rules and so on.
110 ### Do not change the name about following 5 macros.
111 INCLUDES
:= $(INCLUDES
) -I.
-I
$(INC_DIR
) \
112 -I
$(SRCDIR
)/..
/toolchain
/mini-libc
/include \
113 -I
$(SRCDIR
)/..
/fatfs
/src \
114 -I
$(SRCDIR
)/..
/fatfs
/config
/c33 \
115 -I
$(SRCDIR
)/..
/gui-lib \
116 -I
$(SRCDIR
)/..
/wiki-lib
/include \
117 -I
$(SRCDIR
)/..
/common \
118 -I
$(SRCDIR
)/..
/host-tools
/indexing
/locate \
119 -I
$(SRCDIR
)/..
/minilzo
120 CDEFS
:= $(CDEFS
) -DTPS_ENA_LOGGING
121 CFLAGS
= $(COPTS
) $(CDEFS
) $(INCLUDES
)
122 #ASFLAGS= -B$(TOPDIR)/ -c -xassembler-with-cpp -Wa,--gstabs -mc33pe
124 LDFLAGS
= -T
$(SRCDIR
)/config
/$(LDSCRIPT
) -Map
$(TARGET
).map
-N
126 KERNEL_CFLAGS
:= $(KERNEL_CFLAGS
) -I
$(KER_DIR
)
128 $(STASK_COBJS
): %.o
: %.c
129 $(CC
) -c
$(CFLAGS
) $<
131 $(UTASK_COBJS
): %.o
: %.c
132 $(CC
) -c
$(CFLAGS
) $<
134 $(KERNEL_COBJS
): %.o
: %.c
135 $(CC
) -c
$(CFLAGS
) $(KERNEL_CFLAGS
) $<
137 # Generate kernel_cfg.c, kernel_id.h, kernel_chk.c(configurator generates)
138 kernel_cfg.c kernel_id.h kernel_chk.c
: $(TARGET
).cfg
139 $(CC
) -E
$(CFLAGS
) -x c-header
$(TARGET
).cfg
> tmpfile1
140 $(CFG
) -s tmpfile1
-c
-obj
-cpu
$(CPU
) -system
$(SYS
)
143 # Link all object files and libraries.
144 $(TARGET
).elf
: $(ALL_COBJS
)
145 $(LD
) $(LDFLAGS
) -o
$@
$(ALL_COBJS
) $(OBJLDS
) $(LIBS
)
149 $(RM
) -f kernel_
*.c kernel_id.h kernel_obj.dat
150 $(RM
) -f
$(TARGET
).elf
$(TARGET
).map