# Generated automatically from Makefile.in by configure.
## Click userlevel driver Makefile ##
SHELL = /bin/sh

top_srcdir = ..
srcdir = .
top_builddir = ..
subdir = userlevel
conf_auxdir = $(top_srcdir)

prefix = /usr/local
exec_prefix = ${prefix}
bindir = /usr/local/bin
sbindir = ${exec_prefix}/sbin
libdir = /usr/local/lib

VPATH = .:$(top_srcdir)/lib:$(top_srcdir)/$(subdir):$(top_srcdir)/elements/userlevel:$(top_srcdir)/elements/standard:$(top_srcdir)/elements/ethernet:$(top_srcdir)/elements/aqm:$(top_srcdir)/elements/ip:$(top_srcdir)/elements/icmp:$(top_srcdir)/elements/tcpudp:$(top_srcdir)/elements/app

CC = gcc -Wall
CPP = gcc -Wall -E
CXX = g++ -Wp,-w -W -Wall -fno-exceptions -fno-rtti -fvtable-thunks
CXXCPP = g++ -Wp,-w -W -Wall -fno-exceptions -fno-rtti -fvtable-thunks -E
AR_CREATE = ar cru
RANLIB = ranlib
INSTALL = /usr/bin/install -c
mkinstalldirs = $(conf_auxdir)/mkinstalldirs

.SUFFIXES:
.SUFFIXES: .S .c .cc .o .s .ii

.c.o:
	$(COMPILE) -c $<
.s.o:
	$(COMPILE) -c $<
.S.o:
	$(COMPILE) -c $<
.cc.o:
	$(CXXCOMPILE) -c $<
.cc.ii:
	$(CXXCOMPILE) -E $< > $@


ifndef INSTALLPROGS
INSTALLPROGS = click
endif

GENERIC_OBJS = string.o straccum.o \
	bitvector.o vectorv.o templatei.o bighashmap_arena.o \
	ipaddress.o ipaddressset.o ipflowid.o etheraddress.o \
	packet.o \
	error.o glue.o task.o timer.o atomic.o gaprate.o \
	element.o \
	confparse.o variableenv.o lexer.o elemfilter.o \
	routerthread.o router.o handlercall.o notifier.o \
	integers.o crc32.o in_cksum.o iptable.o ewma64.o \
	archive.o packageutils.o userutils.o \
	$(EXTRA_DRIVER_OBJS)

EXTRA_DRIVER_OBJS = 

-include elements.mk

LIBOBJS = $(GENERIC_OBJS) \
	addressinfo.o alignmentinfo.o errorelement.o scheduleinfo.o \
	drivermanager.o clp.o
OBJS = $(ELEMENT_OBJS) elements.o click.o

CPPFLAGS =  -MD -DCLICK_USERLEVEL
CFLAGS = -g -O2
CXXFLAGS = -g -O2

DEFS = -DHAVE_CONFIG_H
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
	-I$(srcdir) -I$(top_srcdir) -I/usr/include/pcap
LDFLAGS = 
LIBS =  `$(top_builddir)/click-compile --libs`

CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(CXXFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(CFLAGS) $(LDFLAGS) -o $@

all: $(INSTALLPROGS)

click: Makefile libclick.a $(OBJS)
	$(CXXLINK) -rdynamic $(OBJS) libclick.a $(LIBS)

libclick.a: Makefile $(LIBOBJS)
	$(AR_CREATE) libclick.a $(LIBOBJS)
	$(RANLIB) libclick.a

Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	cd $(top_builddir) \
	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

elemlist:
	@/bin/rm -f elements.conf
	@$(MAKE) elements.conf
elements.conf: $(top_builddir)/config.status $(top_srcdir)/click-buildtool
	echo "userlevel  standard ethernet aqm ip icmp tcpudp app" | (cd $(top_srcdir); ./click-buildtool findelem -r "int64 i686 i386 i586") > elements.conf
elements.mk: elements.conf $(top_srcdir)/click-buildtool
	$(top_srcdir)/click-buildtool elem2make -x addressinfo.o -x alignmentinfo.o -x errorelement.o -x scheduleinfo.o -x drivermanager.o < elements.conf > elements.mk
elements.cc: elements.conf $(top_srcdir)/click-buildtool
	$(top_srcdir)/click-buildtool elem2export < elements.conf > elements.cc
	@rm -f elements.d

DEPFILES := $(wildcard *.d)
ifneq ($(DEPFILES),)
include $(DEPFILES)
endif

install: $(INSTALLPROGS) install-lib
	$(mkinstalldirs) $(bindir)
	for i in $(INSTALLPROGS); do $(INSTALL) $$i $(bindir)/$$i; done
install-lib: libclick.a
	$(mkinstalldirs) $(libdir)
	$(INSTALL) libclick.a $(libdir)/libclick.a
install-man:

clean:
	rm -f *.d *.o $(INSTALLPROGS) elements.mk elements.cc elements.conf libclick.a
clean-lib:
	rm -f $(LIBOBJS) libclick.a
distclean: clean
	-rm -f Makefile

.PHONY: all clean clean-lib distclean elemlist install install-lib install-man
