#
# Makefile for the linux vs3-filesystem routines.
#

O_TARGET := vs3.o
O_OBJS   := vs3fs.o 3way.o idea.o diskio.o dir.o namei.o \
	    rand.o inode.o file.o truncate.o fsync.o
ALL      := vs3_fs.h vs3_fs_i.h vs3_fs_sb.h
OPTS     := -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strength-reduce -mpentium
all: vs3

clean:
	rm *.o

vs3: $(O_OBJS)
	ld -m elf_i386 -r -o vs3.o $(O_OBJS)

vs3fs.o: vs3fs.c $(ALL)
	gcc -o vs3fs.o -c vs3fs.c $(OPTS)

3way.o: 3way.c $(ALL)
	gcc -o 3way.o -c 3way.c $(OPTS)

idea.o: idea.c $(ALL)
	gcc -o idea.o -c idea.c $(OPTS)

diskio.o: diskio.c $(ALL)
	gcc -o diskio.o -c diskio.c $(OPTS)

dir.o: dir.c $(ALL)
	gcc -o dir.o -c dir.c $(OPTS)

namei.o: namei.c $(ALL)
	gcc -o namei.o -c namei.c $(OPTS)

rand.o: rand.c $(ALL)
	gcc -o rand.o -c rand.c $(OPTS)

inode.o: inode.c $(ALL)
	gcc -o inode.o -c inode.c $(OPTS)

file.o: file.c $(ALL)
	gcc -o file.o -c file.c $(OPTS)

truncate.o: truncate.c $(ALL)
	gcc -o truncate.o -c truncate.c $(OPTS)

fsync.o: fsync.c $(ALL)
	gcc -o fsync.o -c fsync.c $(OPTS)
