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# H.323 support 35obj-$(CONFIG_IP_NF_H323) += ip_conntrack_h323.o 36obj-$(CONFIG_IP_NF_NAT_H323) += ip_nat_h323.o 37ifdef CONFIG_IP_NF_NAT_H323 38 export-objs += ip_conntrack_h323.o 39endif 40 41 42# connection tracking protocol helpers 43obj-$(CONFIG_IP_NF_CT_PROTO_GRE) += ip_conntrack_proto_gre.o 44ifdef CONFIG_IP_NF_CT_PROTO_GRE 45 export-objs += ip_conntrack_proto_gre.o 46endif 47 48# NAT protocol helpers 49obj-$(CONFIG_IP_NF_NAT_PROTO_GRE) += ip_nat_proto_gre.o 50 51# connection tracking helpers 52obj-$(CONFIG_IP_NF_MMS) += ip_conntrack_mms.o 53ifdef CONFIG_IP_NF_NAT_MMS 54 export-objs += ip_conntrack_mms.o 55endif 56obj-$(CONFIG_IP_NF_PPTP) += ip_conntrack_pptp.o 57ifdef CONFIG_IP_NF_NAT_PPTP 58 export-objs += ip_conntrack_pptp.o 59endif 60obj-$(CONFIG_IP_NF_TFTP) += ip_conntrack_tftp.o 61obj-$(CONFIG_IP_NF_FTP) += ip_conntrack_ftp.o 62ifdef CONFIG_IP_NF_NAT_FTP 63 export-objs += ip_conntrack_ftp.o 64endif 65obj-$(CONFIG_IP_NF_IRC) += ip_conntrack_irc.o 66ifdef CONFIG_IP_NF_NAT_IRC 67 export-objs += ip_conntrack_irc.o 68endif 69 70# NAT helpers 71obj-$(CONFIG_IP_NF_NAT_PPTP) += ip_nat_pptp.o 72obj-$(CONFIG_IP_NF_NAT_TFTP) += ip_nat_tftp.o 73obj-$(CONFIG_IP_NF_NAT_FTP) += ip_nat_ftp.o 74obj-$(CONFIG_IP_NF_NAT_IRC) += ip_nat_irc.o 75obj-$(CONFIG_IP_NF_NAT_MMS) += ip_nat_mms.o 76 77# generic IP tables 78obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o 79 80# the three instances of ip_tables 81obj-$(CONFIG_IP_NF_FILTER) += iptable_filter.o 82obj-$(CONFIG_IP_NF_MANGLE) += iptable_mangle.o 83obj-$(CONFIG_IP_NF_NAT) += iptable_nat.o 84 85# matches 86obj-$(CONFIG_IP_NF_MATCH_HELPER) += ipt_helper.o 87obj-$(CONFIG_IP_NF_MATCH_LIMIT) += ipt_limit.o 88obj-$(CONFIG_IP_NF_MATCH_MARK) += ipt_mark.o 89obj-$(CONFIG_IP_NF_POOL) += ipt_pool.o ip_pool.o 90obj-$(CONFIG_IP_NF_MATCH_MAC) += ipt_mac.o 91 92obj-$(CONFIG_IP_NF_MATCH_PKTTYPE) += ipt_pkttype.o 93obj-$(CONFIG_IP_NF_MATCH_MULTIPORT) += ipt_multiport.o 94 95obj-$(CONFIG_IP_NF_MATCH_MPORT) += ipt_mport.o 96 97obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o 98obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o 99 100obj-$(CONFIG_IP_NF_MATCH_TIME) += ipt_time.o 101 102obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o 103obj-$(CONFIG_IP_NF_MATCH_DSCP) += ipt_dscp.o 104obj-$(CONFIG_IP_NF_MATCH_AH_ESP) += ipt_ah.o ipt_esp.o 105 106obj-$(CONFIG_IP_NF_MATCH_LENGTH) += ipt_length.o 107 108obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o 109obj-$(CONFIG_IP_NF_MATCH_STATE) += ipt_state.o 110obj-$(CONFIG_IP_NF_MATCH_CONNTRACK) += ipt_conntrack.o 111obj-$(CONFIG_IP_NF_MATCH_UNCLEAN) += ipt_unclean.o 112obj-$(CONFIG_IP_NF_MATCH_TCPMSS) += ipt_tcpmss.o 113 114# targets 115obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o 116obj-$(CONFIG_IP_NF_TARGET_MIRROR) += ipt_MIRROR.o 117obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o 118obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o 119obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o 120obj-$(CONFIG_IP_NF_TARGET_MARK) += ipt_MARK.o 121obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o 122obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o 123obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o 124obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o 125obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o 126obj-$(CONFIG_IP_NF_TARGET_TCPMSS) += ipt_TCPMSS.o 127obj-$(CONFIG_IP_NF_AUTOFW) += ip_autofw.o 128 129# generic ARP tables 130obj-$(CONFIG_IP_NF_ARPTABLES) += arp_tables.o 131 132# just filtering instance of ARP tables for now 133obj-$(CONFIG_IP_NF_ARPFILTER) += arptable_filter.o 134 135# backwards compatibility 136obj-$(CONFIG_IP_NF_COMPAT_IPCHAINS) += ipchains.o 137obj-$(CONFIG_IP_NF_COMPAT_IPFWADM) += ipfwadm.o 138 139obj-$(CONFIG_IP_NF_QUEUE) += ip_queue.o 140 141include $(TOPDIR)/Rules.make 142 143ip_conntrack.o: $(ip_conntrack-objs) 144 $(LD) -r -o $@ $(ip_conntrack-objs) 145 146iptable_nat.o: $(iptable_nat-objs) 147 $(LD) -r -o $@ $(iptable_nat-objs) 148 149ipfwadm.o: $(ipfwadm-objs) 150 $(LD) -r -o $@ $(ipfwadm-objs) 151 152ipchains.o: $(ipchains-objs) 153 $(LD) -r -o $@ $(ipchains-objs) 154