1TARGETS = fsh tstfs
2
3all : $(TARGETS)
4
5zip:
6	zip -y obfs-fskit-`date +%Y-%m-%d`.zip *.[ch]* makefile
7
8#
9# change the -O7 to -O3 if your compiler doesn't grok -O7
10#
11DEFINES = -DUSER=1 -DDEBUG=1
12CFLAGS = -D_NO_INLINE_ASM -O0 -g -fno-exceptions -fno-rtti -I. -fcheck-memory-usage 
13LDFLAGS = #-p
14
15SUPPORT_OBJS = rootfs.o initfs.o kernel.o cache.o sl.o stub.o
16MISC_OBJS    = sysdep.o hexdump.o argv.o
17
18FS_OBJS = Volume.o BPlusTree.o Inode.o Index.o Query.o Journal.o \
19	BlockAllocator.o kernel_interface.o Utility.o Debug.o BufferPool.o cpp.o
20
21
22fsh : fsh.o $(FS_OBJS) $(SUPPORT_OBJS) $(MISC_OBJS)
23	cc $(LDFLAGS) -o $@ fsh.o $(FS_OBJS) $(SUPPORT_OBJS) $(MISC_OBJS)
24
25tstfs : tstfs.o $(FS_OBJS) $(SUPPORT_OBJS) $(MISC_OBJS)
26	cc $(LDFLAGS) -o $@ tstfs.o $(FS_OBJS) $(SUPPORT_OBJS) $(MISC_OBJS)
27
28makefs : makefs.o $(FS_OBJS) $(SUPPORT_OBJS) $(MISC_OBJS)
29	cc $(LDFLAGS) -o $@ makefs.o $(FS_OBJS) $(SUPPORT_OBJS) $(MISC_OBJS)
30
31
32.c.o:
33	$(CC) -c $(DEFINES) $(CFLAGS) -o $@ $<
34
35.cpp.o:
36	$(CC) -c $(DEFINES) $(CFLAGS) -o $@ $<
37
38
39#makefs.o : makefs.c bfs.h
40fsh.o    : fsh.c bfs.h
41tstfs.o  : tstfs.c bfs.h
42
43
44# mount.o     : mount.c myfs.h
45# journal.o   : journal.c myfs.h
46# bitmap.o    : bitmap.c myfs.h
47# inode.o     : inode.c myfs.h
48# dstream.o   : dstream.c myfs.h
49# dir.o       : dir.c myfs.h
50# file.o      : file.c myfs.h 
51# bitvector.o : bitvector.c bitvector.h 
52# util.o      : util.c myfs.h
53# 
54bfs.h : compat.h cache.h lock.h fsproto.h
55
56sysdep.o : sysdep.c compat.h 
57kernel.o : kernel.c compat.h fsproto.h kprotos.h
58rootfs.o : compat.h fsproto.h
59initfs.o : initfs.c compat.h fsproto.h
60sl.o     : sl.c skiplist.h
61cache.o  : cache.c cache.h compat.h
62stub.o   : stub.c compat.h
63
64clean:
65	rm -f *.o $(TARGETS)
66