#CC=cgcc    # More healthy warnings.
#CC=gcc-4.9 # Needed to cross-compile Jool for an older machine.

ccflags-y := -I$(src)/../.. $(JOOL_FLAGS)
#ccflags-y += -Wfatal-errors -Werror

obj-m += jool.o

jool_common += ../common/rfc7915/4to6.o
jool_common += ../common/rfc7915/6to4.o
jool_common += ../common/rfc7915/common.o
jool_common += ../common/rfc7915/core.o

jool_common += ../common/kernel_hook_netfilter.o
jool_common += ../common/kernel_hook_iptables.o
jool_common += ../common/address.o
jool_common += ../common/atomic_config.o
jool_common += ../common/global-impl.o
jool_common += ../common/types.o
jool_common += ../common/packet.o
jool_common += ../common/stats.o
jool_common += ../common/icmp_wrapper.o
jool_common += ../common/ipv6_hdr_iterator.o
jool_common += ../common/rfc6052.o
jool_common += ../common/translation_state.o
jool_common += ../common/rbtree.o
jool_common += ../common/config.o
jool_common += ../common/route_in.o
jool_common += ../common/route_out.o
jool_common += ../common/send_packet.o
#jool_common += ../common/skbuff.o
jool_common += ../common/core.o
jool_common += ../common/error_pool.o
jool_common += ../common/wkmalloc.o
jool_common += ../common/wrapper-config.o
jool_common += ../common/wrapper-globals.o
jool_common += ../common/wrapper-types.o
jool_common += ../common/xlator.o

jool_common += ../common/nl/atomic_config.o
jool_common += ../common/nl/nl_handler.o
jool_common += ../common/nl/nl_core.o
jool_common += ../common/nl/bib.o
jool_common += ../common/nl/blacklist4.o
jool_common += ../common/nl/eam.o
jool_common += ../common/nl/global.o
jool_common += ../common/nl/instance.o
jool_common += ../common/nl/joold.o
jool_common += ../common/nl/nl_common.o
jool_common += ../common/nl/pool4.o
jool_common += ../common/nl/session.o
jool_common += ../common/nl/stats.o

jool += defrag.o
jool += timer.o
jool += determine_incoming_tuple.o
jool += filtering_and_updating.o
jool += compute_outgoing_tuple.o
jool += handling_hairpinning.o
jool += kernel_hook.o
jool += impersonator.o
jool += joold.o

jool += pool4/empty.o
jool += pool4/db.o
jool += pool4/rfc6056.o

jool += bib/db.o
jool += bib/entry.o
jool += bib/pkt_queue.o

jool-objs += ${jool} ${jool_common}
