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

top_srcdir := ..
srcdir := .
top_builddir := ..
subdir := linuxmodule
conf_auxdir = $(top_srcdir)

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

VPATH = .:$(top_srcdir)/lib:$(top_srcdir)/$(subdir):$(top_srcdir)/elements/linuxmodule:$(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++ -w -Wall -fno-exceptions -fno-rtti -fvtable-thunks
CXXCPP = g++ -Wp,-w -W -Wall -fno-exceptions -fno-rtti -fvtable-thunks -E
LD = ld
STRIP = strip
INSTALL = /usr/bin/install -c
INSTALL_DATA = /usr/bin/install -c -m 644
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.s:
	$(CXXCOMPILE) -S $<
.cc.ii:
	$(CXXCOMPILE) -E $< > $@


ifndef INSTALLOBJS
INSTALLOBJS = click.o
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 iptable.o ewma64.o \
	packageutils.o skbmgr.o \
	$(EXTRA_DRIVER_OBJS)

HAVE_CLICKFS = 0
ifeq ($(HAVE_CLICKFS),1)
CLICKFS_OBJS = clickfs.o
INSTALLOBJS += proclikefs.o
else
CLICKFS_OBJS = proc_click.o
endif

LINUXMODULE_OBJS = kernelversion.o config.o sched.o module.o \
	$(CLICKFS_OBJS) read-pmc.o

EXTRA_DRIVER_OBJS = 

-include elements.mk

OBJS = $(GENERIC_OBJS) $(ELEMENT_OBJS) $(LINUXMODULE_OBJS) elements.o

CPPFLAGS =  -MD -DCLICK_LINUXMODULE
CFLAGS =  -O2
CXXFLAGS =  -O2

DEFS = -DHAVE_CONFIG_H 
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
	-I$(srcdir) -I$(top_srcdir) -I$(linuxdir)/include
LDFLAGS = 
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: $(INSTALLOBJS)

click.o: Makefile $(OBJS)
	$(LD) -r -o click.o $(OBJS)
	$(STRIP) -g click.o

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

proclikefs.o: proclikefs.c Makefile
	$(COMPILE) -D__KERNEL__ -DMODULE -c $<

elemlist:
	@/bin/rm -f elements.conf
	@$(MAKE) elements.conf
elements.conf: $(top_builddir)/config.status $(top_srcdir)/click-buildtool
	echo "linuxmodule  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 < 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: $(INSTALLOBJS)
	$(mkinstalldirs) $(libdir)
	for i in $(INSTALLOBJS); do $(INSTALL_DATA) $$i $(libdir)/$$i; done
install-man:

clean:
	-rm -f *.d *.o elements.mk elements.cc elements.conf
distclean: clean
	-rm -f Makefile

.PHONY: all clean distclean elemlist install install-man
