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