
#
# See the file config.h for a lot of configuration options.
#

# Use the -pg if you want profiling reports to be generated.
CFLAGS=-D__KERNEL__ -DUSER_MODE -Dprintk=printf -I./include/ -g -O2 #-pg

OBJS= memcpy.o bmark.o block_dev.o buffer.o ll_rw_blk.o sd.o scsi.o hosts.o \
	constants.o scsi_debug.o scsi_ioctl.o sd_ioctl.o

OBJS2= bmark.o file.c inode.c buffer.o ll_rw_blk.o sd.o scsi.o hosts.o \
	constants.o scsi_debug.o scsi_ioctl.o sd_ioctl.o memcpy.o

OBJS1= bmark.o block_dev.o buffer.o ll_rw_blk.o memcpy.o

.c.s:
	$(CC) $(CFLAGS) -S $<

bmark: $(OBJS)
#	ld -qmagic -o bmark /usr/lib/crt0.o $(OBJS) -lc -lgcc -lc
	$(CC) $(CFLAGS) -o bmark $(OBJS)

bmark2: $(OBJS2)
#	ld -qmagic -o bmark /usr/lib/crt0.o $(OBJS2) -lc -lgcc -lc
	$(CC) $(CFLAGS) -o bmark $(OBJS2)

bmark1: $(OBJS1)
#	ld -qmagic -o bmark /usr/lib/crt0.o $(OBJS1) -lc -lgcc -lc
	$(CC) $(CFLAGS) -o bmark $(OBJS1)

fun3a: fun3a.o memcpy.o

bmark.o: bmark.c config.h

block_dev.o: block_dev.c config.h

file.o: file.c

inode.o: inode.c

buffer.o: buffer.c
	$(CC) $(CFLAGS) -c -Dstatic= buffer.c

report.10Mb: bmark
	./bmark 10
	gprof bmark > report.10Mb

report.30Mb: bmark
	./bmark 30
	gprof bmark > report.30Mb

clean:
	rm -f *.s *.o *~ bmark report.* gmon.out bmark.tar.gz


dist:
	tar cf - * | gzip > bmark.tar.gz