OSDN Git Service

(none)
[hos/hos-v4a.git] / aplfw / sample / sh / cq7144a / shc / gmake.mak
1
2
3 TARGET ?= sample
4
5 ifeq ($(ROM),Yes)
6 TARGET := $(TARGET)_rom
7 ADDR_VECT ?= 000000000
8 ADDR_ROM  ?= 000000400
9 ADDR_RAM  ?= 0FFFFE000
10 else
11 ADDR_VECT ?= 000400000
12 ADDR_ROM  ?= 000400400
13 ADDR_RAM  ?= 000410000
14 endif
15
16 # ディレクトリ
17 OS_DIR      = ../../../../..
18 KERNEL_DIR = $(OS_DIR)/kernel
19 APLFW_DIR  = $(OS_DIR)/aplfw
20
21 KERNEL_INC_DIR  = $(KERNEL_DIR)/include
22 APLFW_INC_DIR   = $(APLFW_DIR)
23
24 KERNEL_BUILD_DIR = $(KERNEL_DIR)/build/sh/sh2/shc
25 APLFW_BUILD_DIR  = $(APLFW_DIR)/build/sh/sh2/shc
26
27 KERNEL_CFG  = $(OS_DIR)/cfgrtr/build/gcc/h4acfg-sh2.exe
28 KERNEL_LIB  = $(KERNEL_BUILD_DIR)/libhosv4a.lib
29 APLFW_LIB   = $(APLFW_BUILD_DIR)/hosaplfw.lib
30
31
32 # Tools
33 CC     = shc
34 ASM    = asmsh
35 LINK   = optlnk
36
37 CFLAGS = -CP=sh2 -DEBug -NOLOGO -I=$(KERNEL_INC_DIR),$(APLFW_INC_DIR)
38 AFLAGS = -CP=sh2 -DEBug -NOLOGO
39 LFLAGS = 
40
41 OBJS_DIR = objs
42
43 OBJS = $(OBJS_DIR)/vcttbl.obj           \
44        $(OBJS_DIR)/startup.obj          \
45        $(OBJS_DIR)/main.obj                     \
46        $(OBJS_DIR)/sample.obj           \
47        $(OBJS_DIR)/ostimer.obj          \
48        $(OBJS_DIR)/kernel_cfg.obj       \
49        $(OBJS_DIR)/dbsct.obj \
50        $(OBJS_DIR)/sci1.obj
51
52
53 STD_LIBS = stdlib.lib
54
55 VPATH = .:..:$(SRC_DIR)/driver/renesas
56
57
58 all: mkdir_objs mk_kernel mk_aplfw $(TARGET).abs
59
60
61 $(TARGET).abs: $(OBJS) $(STD_LIBS) $(OS_LIBS)
62         echo rom D=R                                      > $(OBJS_DIR)/subcmd.txt
63         echo -OPtimize                                   >> $(OBJS_DIR)/subcmd.txt
64         echo list $(TARGET).map                          >> $(OBJS_DIR)/subcmd.txt
65         echo -Input=$(OBJS) | sed "s/ /,/g"              >> $(OBJS_DIR)/subcmd.txt
66         echo -LIB=$(KERNEL_LIB),$(APLFW_LIB),$(STD_LIBS) >> $(OBJS_DIR)/subcmd.txt
67         echo "-start=VECTTBL/$(ADDR_VECT),P,C,C\$$BSEC,C\$$DSEC,D/$(ADDR_ROM),B,R,S/$(ADDR_RAM)" >> $(OBJS_DIR)/subcmd.txt
68         echo -output=$(TARGET).abs                       >> $(OBJS_DIR)/subcmd.txt
69         echo end                                         >> $(OBJS_DIR)/subcmd.txt
70         echo -input=$(TARGET).abs                        >> $(OBJS_DIR)/subcmd.txt
71         echo form stype                                  >> $(OBJS_DIR)/subcmd.txt
72         echo output $(TARGET).mot                        >> $(OBJS_DIR)/subcmd.txt
73         echo -exit                                       >> $(OBJS_DIR)/subcmd.txt
74         $(LINK) -SU=$(OBJS_DIR)/subcmd.txt
75
76 $(STD_LIBS):
77         lbgsh -OUTPut=$(STD_LIBS) $(CFLAGS) -REent 
78
79 mk_kernel:
80         make -C $(KERNEL_BUILD_DIR) -f gmake.mak
81
82 mk_aplfw:
83         make -C $(APLFW_BUILD_DIR) -f gmake.mak
84
85 mkdir_objs:
86         @mkdir -p $(OBJS_DIR)
87
88 clean:
89         rm -f $(OBJS) $(TARGET) ../kernel_cfg.c ../kernel_id.h
90
91 clean-all: clean
92         make -C $(KERNEL_BUILD_DIR) -f gmake.mak clean
93         make -C $(APLFW_BUILD_DIR) -f gmake.mak clean
94
95
96 $(OBJS_DIR)/sample.obj: sample.c ../kernel_id.h
97
98 ../kernel_cfg.c ../kernel_id.h: ../system.cfg
99         cpp -E ../system.cfg ../system.i
100         $(KERNEL_CFG) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
101
102
103
104 $(OBJS_DIR)/%.obj :: %.c
105         $(CC) $(CFLAGS) $< -OB=$@ -List=$(@:%.obj=%.lst)
106
107 $(OBJS_DIR)/%.obj :: %.src
108         $(ASM) $(AFLAGS) $< -OB=$@
109
110