#
# $Id$
#
CC	= cc
CFLAGS	= -g -m64 -D_XOPEN_SOURCE=600 -DHAS_POSIX_ADVISORY_INFO \
	-W -Wall -Werror -Wstrict-prototypes -Wpointer-arith \
	-Wmissing-prototypes -Wsign-compare -std=c99 -pedantic -pipe
LDFLAGS	= -lm
#
RM	= /bin/rm
#
# On 32 bit systems:
##cc -Wall -std=c99 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 mmap-ent.c -o mmap-ent -lm

.SUFFIXES:	.c .o
.c.o:
	$(CC) -c $(CFLAGS) $<

all: aio-ent aio-lio-ent block-ent cstream-ent dio-block-ent drop-from-cache \
	mmap-cond-munmap-ent mmap-ent mmap-off-ent ra-block-ent

aio-ent: aio-ent.o errwarn.o
	@$(RM) -f $@
	$(CC) $^ $(LDFLAGS) -lrt -o $@

aio-lio-ent: aio-lio-ent.o errwarn.o
	@$(RM) -f $@
	$(CC) $^ $(LDFLAGS) -lrt -o $@

block-ent: block-ent.o errwarn.o
	@$(RM) -f $@
	$(CC) $^ $(LDFLAGS) -o $@

cstream-ent: cstream-ent.o errwarn.o
	@$(RM) -f $@
	$(CC) $^ $(LDFLAGS) -o $@

dio-block-ent: errwarn.o
	@$(RM) -f $@
	$(CC) -m64 -D_GNU_SOURCE -DHAS_POSIX_ADVISORY_INFO \
		-W -Wall -Werror -Wstrict-prototypes -Wpointer-arith \
		-Wmissing-prototypes -Wsign-compare -std=c99 -pedantic -pipe \
		dio-block-ent.c errwarn.o $(LDFLAGS) -o $@

ra-block-ent: errwarn.o
	@$(RM) -f $@
	$(CC) -m64 -D_GNU_SOURCE -DHAS_POSIX_ADVISORY_INFO \
		-W -Wall -Werror -Wstrict-prototypes -Wpointer-arith \
		-Wmissing-prototypes -Wsign-compare -std=c99 -pedantic -pipe \
		ra-block-ent.c errwarn.o $(LDFLAGS) -o $@

drop-from-cache: drop-from-cache.o errwarn.o
	@$(RM) -f $@
	$(CC) $^ $(LDFLAGS) -o $@

mmap-cond-munmap-ent: mmap-cond-munmap-ent.o errwarn.o
	@$(RM) -f $@
	$(CC) $^ $(LDFLAGS) -o $@

mmap-ent: mmap-ent.o errwarn.o
	@$(RM) -f $@
	$(CC) $^ $(LDFLAGS) -o $@

mmap-off-ent: mmap-off-ent.o errwarn.o
	@$(RM) -f $@
	$(CC) $^ $(LDFLAGS) -o $@

clean:
	@$(RM) -f *.o aio*-ent *block-ent cstream-ent drop-from-cache \
		errwarn.o mmap*-ent

