1# 2# Makefile for the netfilter modules on top of IPv4. 3# 4# Note! Dependencies are done automagically by 'make dep', which also 5# removes any old dependencies. DON'T put your own dependencies here 6# unless it's something special (ie not a .c file). 7# 8# Note 2! The CFLAGS definition is now in the main makefile... 9 10O_TARGET := netfilter.o 11 12export-objs = ip_conntrack_standalone.o ip_fw_compat.o ip_nat_standalone.o ip_tables.o arp_tables.o 13 14# Multipart objects. 15list-multi := ip_conntrack.o iptable_nat.o ipfwadm.o ipchains.o 16 17# objects for the conntrack and NAT core (used by standalone and backw. compat) 18ip_nf_conntrack-objs := ip_conntrack_core.o ip_conntrack_proto_generic.o ip_conntrack_proto_tcp.o ip_conntrack_proto_udp.o ip_conntrack_proto_icmp.o 19ip_nf_nat-objs := ip_nat_core.o ip_nat_helper.o ip_nat_proto_unknown.o ip_nat_proto_tcp.o ip_nat_proto_udp.o ip_nat_proto_icmp.o 20 21# objects for the standalone - connection tracking / NAT 22ip_conntrack-objs := ip_conntrack_standalone.o $(ip_nf_conntrack-objs) 23iptable_nat-objs := ip_nat_standalone.o ip_nat_rule.o $(ip_nf_nat-objs) 24 25# objects for backwards compatibility mode 26ip_nf_compat-objs := ip_fw_compat.o ip_fw_compat_redir.o ip_fw_compat_masq.o $(ip_nf_conntrack-objs) $(ip_nf_nat-objs) 27 28ipfwadm-objs := $(ip_nf_compat-objs) ipfwadm_core.o 29ipchains-objs := $(ip_nf_compat-objs) ipchains_core.o 30 31# connection tracking 32obj-$(CONFIG_IP_NF_CONNTRACK) += ip_conntrack.o 33 34# connection tracking helpers 35obj-$(CONFIG_IP_NF_AMANDA) += ip_conntrack_amanda.o 36ifdef CONFIG_IP_NF_AMANDA 37 export-objs += ip_conntrack_amanda.o 38endif 39 40obj-$(CONFIG_IP_NF_TFTP) += ip_conntrack_tftp.o 41obj-$(CONFIG_IP_NF_FTP) += ip_conntrack_ftp.o 42ifdef CONFIG_IP_NF_FTP 43 export-objs += ip_conntrack_ftp.o 44endif 45 46obj-$(CONFIG_IP_NF_IRC) += ip_conntrack_irc.o 47ifdef CONFIG_IP_NF_IRC 48 export-objs += ip_conntrack_irc.o 49endif 50 51# NAT helpers 52obj-$(CONFIG_IP_NF_NAT_AMANDA) += ip_nat_amanda.o 53obj-$(CONFIG_IP_NF_NAT_TFTP) += ip_nat_tftp.o 54obj-$(CONFIG_IP_NF_NAT_FTP) += ip_nat_ftp.o 55obj-$(CONFIG_IP_NF_NAT_IRC) += ip_nat_irc.o 56 57# generic IP tables 58obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o 59 60# the three instances of ip_tables 61obj-$(CONFIG_IP_NF_FILTER) += iptable_filter.o 62obj-$(CONFIG_IP_NF_MANGLE) += iptable_mangle.o 63obj-$(CONFIG_IP_NF_NAT) += iptable_nat.o 64 65# matches 66obj-$(CONFIG_IP_NF_MATCH_HELPER) += ipt_helper.o 67obj-$(CONFIG_IP_NF_MATCH_LIMIT) += ipt_limit.o 68obj-$(CONFIG_IP_NF_MATCH_MARK) += ipt_mark.o 69obj-$(CONFIG_IP_NF_MATCH_MAC) += ipt_mac.o 70 71obj-$(CONFIG_IP_NF_MATCH_PKTTYPE) += ipt_pkttype.o 72obj-$(CONFIG_IP_NF_MATCH_MULTIPORT) += ipt_multiport.o 73obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o 74obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o 75 76obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o 77 78obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o 79obj-$(CONFIG_IP_NF_MATCH_DSCP) += ipt_dscp.o 80obj-$(CONFIG_IP_NF_MATCH_AH_ESP) += ipt_ah.o ipt_esp.o 81 82obj-$(CONFIG_IP_NF_MATCH_LENGTH) += ipt_length.o 83 84obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o 85obj-$(CONFIG_IP_NF_MATCH_STATE) += ipt_state.o 86obj-$(CONFIG_IP_NF_MATCH_CONNTRACK) += ipt_conntrack.o 87obj-$(CONFIG_IP_NF_MATCH_UNCLEAN) += ipt_unclean.o 88obj-$(CONFIG_IP_NF_MATCH_TCPMSS) += ipt_tcpmss.o 89 90# targets 91obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o 92obj-$(CONFIG_IP_NF_TARGET_CLASSIFY) += ipt_CLASSIFY.o 93obj-$(CONFIG_IP_NF_TARGET_MIRROR) += ipt_MIRROR.o 94obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o 95obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o 96obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o 97obj-$(CONFIG_IP_NF_TARGET_MARK) += ipt_MARK.o 98obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o 99obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o 100obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o 101obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o 102obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o 103obj-$(CONFIG_IP_NF_TARGET_TCPMSS) += ipt_TCPMSS.o 104 105# generic ARP tables 106obj-$(CONFIG_IP_NF_ARPTABLES) += arp_tables.o 107obj-$(CONFIG_IP_NF_ARP_MANGLE) += arpt_mangle.o 108 109# just filtering instance of ARP tables for now 110obj-$(CONFIG_IP_NF_ARPFILTER) += arptable_filter.o 111 112# backwards compatibility 113obj-$(CONFIG_IP_NF_COMPAT_IPCHAINS) += ipchains.o 114obj-$(CONFIG_IP_NF_COMPAT_IPFWADM) += ipfwadm.o 115 116obj-$(CONFIG_IP_NF_QUEUE) += ip_queue.o 117 118include $(TOPDIR)/Rules.make 119 120ip_conntrack.o: $(ip_conntrack-objs) 121 $(LD) -r -o $@ $(ip_conntrack-objs) 122 123iptable_nat.o: $(iptable_nat-objs) 124 $(LD) -r -o $@ $(iptable_nat-objs) 125 126ipfwadm.o: $(ipfwadm-objs) 127 $(LD) -r -o $@ $(ipfwadm-objs) 128 129ipchains.o: $(ipchains-objs) 130 $(LD) -r -o $@ $(ipchains-objs) 131