Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Makefile for busy-wait IO tests
#
XCC = /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/gcc
AS = /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/as
AR = /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/ar
CFLAGS = -c -fPIC -Wall -I. -I../include -mcpu=arm920t -msoft-float
# -g: include hooks for gdb
# -c: only compile
# -mcpu=arm920t: generate code for the 920t architecture
# -fpic: emit position-independent code
# -Wall: report all warnings
ASFLAGS = -mcpu=arm920t -mapcs-32
# -mapcs: always generate a complete stack frame
ARFLAGS = rcs
all: bwio.a
bwio.s: bwio.c
$(XCC) -S $(CFLAGS) bwio.c
k1.s: k1.c
$(XCC) -S $(CFLAGS) k1.c
kernel.s: kernel.c
$(XCC) -S $(CFLAGS) kernel.c
priority-q.s: priority-q.c
$(XCC) -S $(CFLAGS) priority-q.c
scheduler.s: scheduler.c
$(XCC) -S $(CFLAGS) scheduler.c
syscall.s: syscall.c
$(XCC) -S $(CFLAGS) syscall.c
syscall-handler.s: syscall-handler.c
$(XCC) -S $(CFLAGS) syscall-handler.c
td.s: td.c
$(XCC) -S $(CFLAGS) td.c
timer.s: timer.c
$(XCC) -S $(CFLAGS) timer.c
hash-table.s: hash-table.c
$(XCC) -S $(CFLAGS) hash-table.c
bwio.o: bwio.s
$(AS) $(ASFLAGS) -o bwio.o bwio.s
context-switch.o: context-switch.s
$(AS) $(ASFLAGS) -o context-switch.o context-switch.s
k1.o: k1.s
$(AS) $(ASFLAGS) -o k1.o k1.s
kernel.o: kernel.s
$(AS) $(ASFLAGS) -o kernel.o kernel.s
priority-q.o: priority-q.s
$(AS) $(ASFLAGS) -o priority-q.o priority-q.s
scheduler.o: scheduler.s
$(AS) $(ASFLAGS) -o scheduler.o scheduler.s
syscall.o: syscall.s
$(AS) $(ASFLAGS) -o syscall.o syscall.s
syscall-handler.o: syscall-handler.s
$(AS) $(ASFLAGS) -o syscall-handler.o syscall-handler.s
td.o: td.s
$(AS) $(ASFLAGS) -o td.o td.s
timer.o: timer.s
$(AS) $(ASFLAGS) -o timer.o timer.s
hash-table.o: hash-table.s
$(AS) $(ASFLAGS) -o hash-table.o hash-table.s
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
bwio.a: bwio.o
$(AR) $(ARFLAGS) $@ bwio.o
context-switch.a: context-switch.o
$(AR) $(ARFLAGS) $@ context-switch.o
k1.a: k1.o
$(AR) $(ARFLAGS) $@ k1.o
kernel.a: kernel.o
$(AR) $(ARFLAGS) $@ kernel.o
priority-q.a: priority-q.o
$(AR) $(ARFLAGS) $@ priority-q.o
scheduler.a: scheduler.o
$(AR) $(ARFLAGS) $@ scheduler.o
syscall.a: syscall.o
$(AR) $(ARFLAGS) $@ syscall.o
syscall-handler.a: syscall-handler.o
$(AR) $(ARFLAGS) $@ syscall-handler.o
td.a: td.o
$(AR) $(ARFLAGS) $@ td.o
timer.a: timer.o
$(AR) $(ARFLAGS) $@ timer.o
hash-table.a: hash-table.o
$(AR) $(ARFLAGS) $@ hash-table.o
install: bwio.a timer.a context-switch.a kernel.a k1.a priority-q.a scheduler.a syscall.a syscall-handler.a td.a hash-table.a
mv bwio.a libbwio.a
mv context-switch.a libcs.a
mv k1.a libk1.a
mv kernel.a libkernel.a
mv priority-q.a libpq.a
mv scheduler.a libsche.a
mv syscall.a libsys.a
mv syscall-handler.a libsysh.a
mv td.a libtd.a
#mv test.a libtest.a
clean:
mv context-switch.s ct