#
#  epoll ( Efficent event polling implementation )
#  Copyright (C) 2001,...,2002	 Davide Libenzi
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  Davide Libenzi <davidel@xmailserver.org>
#
#

PREFIX=/usr

OUTDIR = lib
TARGET = $(OUTDIR)/libepoll.a
SRCDIR = ./src
INCLUDE = -I- -I./include -I/usr/src/linux/include

CC = gcc
LD = ld
AR = ar
MAKE = make

ifeq ($(EPOLLCFG), release)
CFLAGS = -O3 $(INCLUDE) -DUNIX
else
CFLAGS = -g $(INCLUDE) -DUNIX -D_DEBUG
endif

SOURCES = $(SRCDIR)/epoll.c

OBJECTS = $(OUTDIR)/epoll.o

MKDEP = mkdep -f .depend


$(OUTDIR)/%.o: $(SRCDIR)/%.c
	$(CC) $(CFLAGS) -o $(OUTDIR)/$*.o -c $(SRCDIR)/$*.c

all: .depend $(TARGET) epoll-example

.depend: $(SOURCES)
	$(MKDEP) $(CFLAGS) $(SOURCES)

$(TARGET): $(OBJECTS)
	$(AR) -cr $(TARGET) $(OBJECTS)

epoll-example:
	$(MAKE) -C examples

install: $(TARGET)
	@cp -f include/epoll.h $(PREFIX)/include/sys
	@cp -f lib/libepoll.a $(PREFIX)/lib
	@cp -f man/*.2 $(PREFIX)/man/man2

distclean: clean
	@rm -f .depend
	$(MAKE) -C examples distclean

clean:
	@rm -f $(TARGET)
	@rm -f $(OBJECTS) *~
	$(MAKE) -C examples clean

include .depend

