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