Skip to content
Snippets Groups Projects
Makefile 2.81 KiB
Newer Older
# 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


Tom Feng's avatar
Tom Feng committed
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

Tom Feng's avatar
Tom Feng committed
hash-table.o: hash-table.s
	$(AS) $(ASFLAGS) -o hash-table.o hash-table.s


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

Tom Feng's avatar
Tom Feng committed
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 timer.a libtimer.a
Tom Feng's avatar
Tom Feng committed
	mv hash-table.a libht.a
	#mv test.a libtest.a
clean:
	mv context-switch.s ct
	-rm -f *s *.o *.a *~
	mv ct context-switch.s