## Click bsdmodule driver Makefile ## SHELL = @SHELL@ srcdir := @srcdir@ top_srcdir := @top_srcdir@ top_builddir := .. subdir := bsdmodule prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libdir = @libdir@ freebsd_includedir = @freebsd_includedir@ freebsd_srcdir = @freebsd_srcdir@ VPATH = .:$(top_srcdir)/lib:$(top_srcdir)/$(subdir) CC = @CC@ CPP = @CPP@ CXX = @KERNEL_CXX@ CXXCPP = @CXXCPP@ LD = @LD@ STRIP = @STRIP@ PERL = @PERL@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL@ -m 644 mkinstalldirs = @top_srcdir@/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.ko endif GENERIC_OBJS = string.o straccum.o nameinfo.o \ bitvector.o vectorv.o templatei.o bighashmap_arena.o \ ipaddress.o ipaddresslist.o ipflowid.o etheraddress.o \ packet.o in_cksum.o \ error.o timestamp.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 master.o handlercall.o notifier.o \ integers.o crc32.o iptable.o ewma64.o \ driver.o \ $(EXTRA_DRIVER_OBJS) BSDMODULE_OBJS = config.o sched.o module.o \ clickfs.o clickfs_vnops.o clickfs_tree.o clickfs_element.o EXTRA_DRIVER_OBJS = @EXTRA_DRIVER_OBJS@ OBJS = setdef0.o $(GENERIC_OBJS) $(ELEMENT_OBJS) $(BSDMODULE_OBJS) elements.o setdef1.o CPPFLAGS = @CPPFLAGS@ -DCLICK_BSDMODULE -DBSD_NETISRSCHED CFLAGS = @CFLAGS_NDEBUG@ -g CXXFLAGS = @CXXFLAGS_NDEBUG@ -g DEFS = @DEFS@ INCLUDES = -nostdinc -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(srcdir) -I$(top_srcdir) -I. -I$(freebsd_includedir) LDFLAGS = @LDFLAGS@ LIBS = @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) ifneq ($(MAKECMDGOALS),clean) -include elements.mk endif click.ko: Makefile vnode_if.h $(OBJS) $(LD) -Bshareable -o click.ko $(OBJS) 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_builddir)/click-buildtool echo "bsdmodule @element_groups@" | $(top_builddir)/click-buildtool findelem -r bsdmodule -p $(top_srcdir) > elements.conf elements.mk: elements.conf $(top_builddir)/click-buildtool $(top_builddir)/click-buildtool elem2make < elements.conf > elements.mk elements.cc: elements.conf $(top_builddir)/click-buildtool $(top_builddir)/click-buildtool elem2export < elements.conf > elements.cc @rm -f elements.d setdef0.c setdef1.c: module.o gensetdefs module.o vnode_if.h: $(freebsd_srcdir)/kern/vnode_if.pl $(freebsd_srcdir)/kern/vnode_if.src $(srcdir)/massage-vnode_if.pl $(PERL) $(freebsd_srcdir)/kern/vnode_if.pl -h $(freebsd_srcdir)/kern/vnode_if.src $(PERL) $(srcdir)/massage-vnode_if.pl vnode_if.h DEPFILES := $(wildcard *.d) ifneq ($(DEPFILES),) include $(DEPFILES) endif install: $(INSTALLOBJS) $(mkinstalldirs) $(DESTDIR)$(libdir) for i in $(INSTALLOBJS); do $(INSTALL_DATA) $$i $(DESTDIR)$(libdir)/$$i; done install-man: : uninstall: for i in $(INSTALLOBJS); do /bin/rm -f $(DESTDIR)$(libdir)/$$i; done clean: -rm -f *.d *.o click.ko elements.mk elements.cc elements.conf \ vnode_if.h vnode_if.h~ setdef0.c setdef1.c setdefs.h distclean: clean -rm -f Makefile .PHONY: all clean distclean elemlist install uninstall