@@ -43,6 +43,7 @@ LD = @LD@
43
43
RANLIB = @RANLIB@
44
44
45
45
UART_CFLAGS = @UART_CFLAGS@
46
+ HL_CFLAGS = @HL_CFLAGS@
46
47
47
48
OBJDUMP = ` if [ -f ${objroot} /../binutils/objdump ] ; \
48
49
then echo ${objroot} /../binutils/objdump ; \
@@ -51,7 +52,7 @@ OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
51
52
then echo ${objroot} /../binutils/objcopy ; \
52
53
else t=' $(program_transform_name)' ; echo objcopy | sed -e $$ t ; fi `
53
54
54
- CRT0 = gcrt0.o crt0.o
55
+ CRT0 = gcrt0.o crt0.o arc-main-helper.o
55
56
CRT0_INSTALL = install-crt0
56
57
57
58
NSIM_BSP = libnsim.a
@@ -60,6 +61,7 @@ NSIM_OBJS = \
60
61
nsim-syscalls.o \
61
62
sbrk.o \
62
63
mcount.o
64
+
63
65
NSIM_INSTALL = install-nsim
64
66
NSIM_SCRIPTS = nsim.specs
65
67
@@ -74,6 +76,18 @@ QEMU_OBJS = \
74
76
QEMU_INSTALL = install-qemu
75
77
QEMU_SCRIPTS = qemu.specs
76
78
79
+ HL_BSP = libhl.a
80
+ HL_OBJS = \
81
+ arc-timer.o \
82
+ hl-stub.o \
83
+ hl-setup.o \
84
+ libcfunc.o \
85
+ sbrk.o \
86
+ mcount.o
87
+
88
+ HL_INSTALL = install-hl
89
+ HL_SCRIPTS = hl.specs
90
+
77
91
UART_LIB = libdw_uart.a
78
92
UART_OBJS = write.o \
79
93
read.o \
@@ -88,17 +102,18 @@ MEMORY_MAPS = emsk_em9d.x \
88
102
MEMORY_MAP_INSTALL = install-map
89
103
90
104
UART_DIR = uart-dir
105
+ HL_DIR = hl-dir
91
106
92
107
CFLAGS = -g
93
- override CFLAGS += $(UART_CFLAGS )
108
+ override CFLAGS += $(UART_CFLAGS ) $( HL_CFLAGS )
94
109
95
110
CPU_FAMILY = $(findstring em,${MULTISUBDIR})
96
111
ifeq ($(CPU_FAMILY ) , em)
97
- ALL = $(CRT0 ) $(NSIM_BSP ) $(UART_LIB ) $(QEMU_BSP )
112
+ ALL = $(CRT0 ) $(NSIM_BSP ) $(UART_LIB ) $(QEMU_BSP ) $( HL_BSP )
98
113
else
99
- ALL = $(CRT0 ) $(NSIM_BSP ) $(QEMU_BSP )
114
+ ALL = $(CRT0 ) $(NSIM_BSP ) $(QEMU_BSP ) $( HL_BSP )
100
115
endif
101
- ALL_INSTALL = $(CRT0_INSTALL ) $(NSIM_INSTALL ) $(NANO_INSTALL ) $(UART_INSTALL ) $(MEMORY_MAP_INSTALL ) $(QEMU_INSTALL )
116
+ ALL_INSTALL = $(CRT0_INSTALL ) $(NSIM_INSTALL ) $(NANO_INSTALL ) $(UART_INSTALL ) $(MEMORY_MAP_INSTALL ) $(QEMU_INSTALL ) $( HL_INSTALL )
102
117
103
118
# These are roughly topologically sorted in order to make porting more
104
119
# streamlined.
@@ -139,8 +154,11 @@ $(UART_LIB): $(UART_OBJS) $(UART_DIR)
139
154
$(AR ) $(ARFLAGS ) $@ $(UART_OBJS ) dw_uart/* .o
140
155
$(RANLIB ) $@
141
156
157
+ $(HL_DIR ) : hl
142
158
$(UART_DIR ) : dw_uart
143
- for dir in .. ${SUBDIRS} ; do \
159
+
160
+ $(HL_DIR ) $(UART_DIR ) :
161
+ for dir in .. $^; do \
144
162
if [ x$$ dir != x.. ]; then \
145
163
if [ -d $$ dir ]; then \
146
164
(cd $$ dir; $( MAKE) $( FLAGS_TO_PASS) all) || exit $$? ; \
@@ -152,6 +170,10 @@ $(QEMU_BSP): $(QEMU_OBJS)
152
170
$(AR ) $(ARFLAGS ) $@ $?
153
171
$(RANLIB ) $@
154
172
173
+ $(HL_BSP ) : $(HL_OBJS ) $(HL_DIR )
174
+ $(AR ) $(ARFLAGS ) $@ $(HL_OBJS ) hl/* .o
175
+ $(RANLIB ) $@
176
+
155
177
libcfunc.o : libcfunc.c
156
178
nsim-syscalls.o : nsim-syscalls.c
157
179
sbrk.o : sbrk.c
@@ -163,6 +185,11 @@ qemu-write.o: qemu-write.c
163
185
read.o : read.c
164
186
stub.o : stub.c
165
187
qemu-stub.o : qemu-stub.c
188
+ hl-stub.o : hl-stub.c
189
+ hl-setup.o : hl-setup.c
190
+ arc-timer.o : arc-timer.c
191
+ arc-main-helper.o : arc-main-helper.c
192
+
166
193
$(UART_OBJS ) :
167
194
$(CC ) $(CFLAGS_FOR_TARGET ) $(INCLUDES ) -c $(CFLAGS ) $<
168
195
@@ -211,6 +238,11 @@ $(QEMU_INSTALL):
211
238
for x in $( QEMU_SCRIPTS) ; do \
212
239
$(INSTALL_DATA ) $(srcdir ) /$$ x $(DESTDIR )$(tooldir ) /lib$(MULTISUBDIR ) /$$ x; done
213
240
241
+ $(HL_INSTALL ) :
242
+ $(mkinstalldirs ) $(DESTDIR ) ${tooldir} /lib${MULTISUBDIR}
243
+ $(INSTALL_DATA ) $(HL_BSP ) $(DESTDIR )$(tooldir ) /lib$(MULTISUBDIR ) /$(HL_BSP )
244
+ for x in $( HL_SCRIPTS) ; do \
245
+ $(INSTALL_DATA ) $(srcdir ) /$$ x $(DESTDIR )$(tooldir ) /lib$(MULTISUBDIR ) /$$ x; done
214
246
215
247
$(MEMORY_MAP_INSTALL ) :
216
248
$(mkinstalldirs ) $(DESTDIR ) ${tooldir} /lib${MULTISUBDIR}
0 commit comments