Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 1 | #! /usr/bin/make |
| 2 | |
Harald Welte | 2aa84a4 | 2003-01-12 20:30:46 +0000 | [diff] [blame] | 3 | # WARNING: |
| 4 | # only add extensions here that are either present in the kernel, or whose |
| 5 | # header files are present in the include/linux directory of this iptables |
| 6 | # package (HW) |
| 7 | # |
Patrick McHardy | 9fc3b5e | 2007-09-05 13:52:15 +0000 | [diff] [blame] | 8 | PF_EXT_SLIB:=ah addrtype conntrack ecn icmp iprange owner policy realm recent tos ttl unclean CLUSTERIP DNAT ECN LOG MASQUERADE MIRROR NETMAP REDIRECT REJECT SAME SNAT TOS TTL ULOG |
Patrick McHardy | 1d1ad90 | 2007-09-05 13:58:58 +0000 | [diff] [blame^] | 9 | PF6_EXT_SLIB:=ah eui64 frag hl icmp6 ipv6header mh owner policy HL LOG REJECT |
Patrick McHardy | 9e90225 | 2007-09-05 13:48:50 +0000 | [diff] [blame] | 10 | PFX_EXT_SLIB:=connbytes connmark connlimit comment dccp dscp esp hashlimit helper length limit mac mark multiport physdev pkttype quota sctp state statistic standard string tcp tcpmss udp CLASSIFY CONNMARK DSCP MARK NFLOG NFQUEUE NOTRACK TCPMSS TRACE |
Rusty Russell | 008a83f | 2001-02-28 11:21:53 +0000 | [diff] [blame] | 11 | |
James Morris | c81a3f3 | 2006-05-24 16:11:58 +0000 | [diff] [blame] | 12 | ifeq ($(DO_SELINUX), 1) |
Yasuyuki KOZAKAI | 5679958 | 2007-08-04 08:05:46 +0000 | [diff] [blame] | 13 | PF_EXT_SE_SLIB:= |
| 14 | PF6_EXT_SE_SLIB:= |
| 15 | PFX_EXT_SE_SLIB:=CONNSECMARK SECMARK |
James Morris | c81a3f3 | 2006-05-24 16:11:58 +0000 | [diff] [blame] | 16 | endif |
| 17 | |
Rusty Russell | 5245182 | 2000-08-27 07:47:46 +0000 | [diff] [blame] | 18 | # Optionals |
| 19 | PF_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-test),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T))) |
| 20 | PF6_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-test6),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T))) |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 21 | PFX_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-testx),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T))) |
Rusty Russell | 5245182 | 2000-08-27 07:47:46 +0000 | [diff] [blame] | 22 | |
Henrik Nordstrom | c279413 | 2004-01-22 15:04:24 +0000 | [diff] [blame] | 23 | PF_EXT_ALL_SLIB:=$(patsubst extensions/libipt_%.c, %, $(wildcard extensions/libipt_*.c)) |
Martin Josefsson | c9dd71a | 2004-04-07 13:00:43 +0000 | [diff] [blame] | 24 | PF6_EXT_ALL_SLIB:=$(patsubst extensions/libip6t_%.c, %, $(wildcard extensions/libip6t_*.c)) |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 25 | PFX_EXT_ALL_SLIB:=$(patsubst extensions/libxt_%.c, %, $(wildcard extensions/libxt_*.c)) |
Henrik Nordstrom | c279413 | 2004-01-22 15:04:24 +0000 | [diff] [blame] | 26 | |
| 27 | PF_EXT_MAN_ALL_MATCHES:=$(foreach T,$(PF_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_match extensions/libipt_$(T).c && echo $(T))) |
| 28 | PF_EXT_MAN_ALL_TARGETS:=$(foreach T,$(PF_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_target extensions/libipt_$(T).c && echo $(T))) |
| 29 | PF6_EXT_MAN_ALL_MATCHES:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_match6 extensions/libip6t_$(T).c && echo $(T))) |
| 30 | PF6_EXT_MAN_ALL_TARGETS:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_target6 extensions/libip6t_$(T).c && echo $(T))) |
| 31 | |
| 32 | PF_EXT_MAN_MATCHES:=$(filter $(PF_EXT_ALL_SLIB), $(PF_EXT_MAN_ALL_MATCHES)) |
| 33 | PF_EXT_MAN_TARGETS:=$(filter $(PF_EXT_ALL_SLIB), $(PF_EXT_MAN_ALL_TARGETS)) |
| 34 | PF_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PF_EXT_MAN_MATCHES), $(PF_EXT_MAN_ALL_MATCHES)) |
| 35 | PF_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PF_EXT_MAN_TARGETS), $(PF_EXT_MAN_ALL_TARGETS)) |
| 36 | PF6_EXT_MAN_MATCHES:=$(filter $(PF6_EXT_ALL_SLIB), $(PF6_EXT_MAN_ALL_MATCHES)) |
| 37 | PF6_EXT_MAN_TARGETS:=$(filter $(PF6_EXT_ALL_SLIB), $(PF6_EXT_MAN_ALL_TARGETS)) |
| 38 | PF6_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PF6_EXT_MAN_MATCHES), $(PF6_EXT_MAN_ALL_MATCHES)) |
| 39 | PF6_EXT_MAN_EXTRA_TARGETS:=$(filter-out $(PF6_EXT_MAN_TARGETS), $(PF6_EXT_MAN_ALL_TARGETS)) |
| 40 | |
| 41 | |
| 42 | allman: |
| 43 | @echo ALL_SLIB: $(PF_EXT_ALL_SLIB) |
| 44 | @echo ALL_MATCH: $(PF_EXT_MAN_ALL_MATCHES) |
| 45 | @echo ALL_TARGET: $(PF_EXT_MAN_ALL_TARGETS) |
| 46 | |
Rusty Russell | 5245182 | 2000-08-27 07:47:46 +0000 | [diff] [blame] | 47 | PF_EXT_SLIB+=$(PF_EXT_SLIB_OPTS) |
| 48 | PF6_EXT_SLIB+=$(PF6_EXT_SLIB_OPTS) |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 49 | PFX_EXT_SLIB+=$(PFX_EXT_SLIB_OPTS) |
Rusty Russell | 5245182 | 2000-08-27 07:47:46 +0000 | [diff] [blame] | 50 | |
| 51 | OPTIONALS+=$(patsubst %,IPv4:%,$(PF_EXT_SLIB_OPTS)) |
| 52 | OPTIONALS+=$(patsubst %,IPv6:%,$(PF6_EXT_SLIB_OPTS)) |
| 53 | |
Harald Welte | 3efb6ea | 2001-08-06 18:50:21 +0000 | [diff] [blame] | 54 | ifndef NO_SHARED_LIBS |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 55 | SHARED_LIBS+=$(foreach T,$(PF_EXT_SLIB),extensions/libipt_$(T).so) |
James Morris | c81a3f3 | 2006-05-24 16:11:58 +0000 | [diff] [blame] | 56 | SHARED_SE_LIBS+=$(foreach T,$(PF_EXT_SE_SLIB),extensions/libipt_$(T).so) |
Yasuyuki KOZAKAI | dbda07b | 2007-07-24 06:08:05 +0000 | [diff] [blame] | 57 | EXTRA_INSTALLS+=$(foreach T, $(PF_EXT_SLIB), $(DEST_IPT_LIBDIR)/libipt_$(T).so) |
| 58 | EXTRA_INSTALLS+=$(foreach T, $(PF_EXT_SE_SLIB), $(DEST_IPT_LIBDIR)/libipt_$(T).so) |
Rusty Russell | a138ba4 | 2001-06-05 11:56:17 +0000 | [diff] [blame] | 59 | |
Harald Welte | 2354d92 | 2003-03-04 23:15:42 +0000 | [diff] [blame] | 60 | ifeq ($(DO_IPV6), 1) |
Rusty Russell | a138ba4 | 2001-06-05 11:56:17 +0000 | [diff] [blame] | 61 | SHARED_LIBS+=$(foreach T,$(PF6_EXT_SLIB),extensions/libip6t_$(T).so) |
James Morris | c81a3f3 | 2006-05-24 16:11:58 +0000 | [diff] [blame] | 62 | SHARED_SE_LIBS+=$(foreach T,$(PF6_EXT_SE_SLIB),extensions/libip6t_$(T).so) |
Yasuyuki KOZAKAI | dbda07b | 2007-07-24 06:08:05 +0000 | [diff] [blame] | 63 | EXTRA_INSTALLS+=$(foreach T, $(PF6_EXT_SLIB), $(DEST_IPT_LIBDIR)/libip6t_$(T).so) |
| 64 | EXTRA_INSTALLS+=$(foreach T, $(PF6_EXT_SE_SLIB), $(DEST_IPT_LIBDIR)/libip6t_$(T).so) |
Rusty Russell | a138ba4 | 2001-06-05 11:56:17 +0000 | [diff] [blame] | 65 | endif |
Yasuyuki KOZAKAI | dbda07b | 2007-07-24 06:08:05 +0000 | [diff] [blame] | 66 | |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 67 | SHARED_LIBS+=$(foreach T,$(PFX_EXT_SLIB),extensions/libxt_$(T).so) |
Yasuyuki KOZAKAI | fa00a73 | 2007-07-24 07:27:02 +0000 | [diff] [blame] | 68 | SHARED_SE_LIBS+=$(foreach T,$(PFX_EXT_SE_SLIB),extensions/libxt_$(T).so) |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 69 | EXTRA_INSTALLS+=$(foreach T, $(PFX_EXT_SLIB), $(DEST_IPT_LIBDIR)/libxt_$(T).so) |
Yasuyuki KOZAKAI | fa00a73 | 2007-07-24 07:27:02 +0000 | [diff] [blame] | 70 | EXTRA_INSTALLS+=$(foreach T, $(PFX_EXT_SE_SLIB), $(DEST_IPT_LIBDIR)/libxt_$(T).so) |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 71 | |
Harald Welte | 3efb6ea | 2001-08-06 18:50:21 +0000 | [diff] [blame] | 72 | else # NO_SHARED_LIBS |
| 73 | EXT_OBJS+=$(foreach T,$(PF_EXT_SLIB),extensions/libipt_$(T).o) |
James Morris | c81a3f3 | 2006-05-24 16:11:58 +0000 | [diff] [blame] | 74 | EXT_OBJS+=$(foreach T,$(PF_EXT_SE_SLIB),extensions/libipt_$(T).o) |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 75 | EXT_OBJS+=$(foreach T,$(PFX_EXT_SLIB),extensions/libxt_$(T).o) |
Yasuyuki KOZAKAI | fa00a73 | 2007-07-24 07:27:02 +0000 | [diff] [blame] | 76 | EXT_OBJS+=$(foreach T,$(PFX_EXT_SE_SLIB),extensions/libxt_$(T).o) |
Harald Welte | 3efb6ea | 2001-08-06 18:50:21 +0000 | [diff] [blame] | 77 | EXT_FUNC+=$(foreach T,$(PF_EXT_SLIB),ipt_$(T)) |
James Morris | c81a3f3 | 2006-05-24 16:11:58 +0000 | [diff] [blame] | 78 | EXT_FUNC+=$(foreach T,$(PF_EXT_SE_SLIB),ipt_$(T)) |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 79 | EXT_FUNC+=$(foreach T,$(PFX_EXT_SLIB),xt_$(T)) |
Yasuyuki KOZAKAI | fa00a73 | 2007-07-24 07:27:02 +0000 | [diff] [blame] | 80 | EXT_FUNC+=$(foreach T,$(PFX_EXT_SE_SLIB),xt_$(T)) |
Harald Welte | 3efb6ea | 2001-08-06 18:50:21 +0000 | [diff] [blame] | 81 | EXT_OBJS+= extensions/initext.o |
Harald Welte | 9c8cdd4 | 2003-03-05 11:39:31 +0000 | [diff] [blame] | 82 | ifeq ($(DO_IPV6), 1) |
Harald Welte | 3efb6ea | 2001-08-06 18:50:21 +0000 | [diff] [blame] | 83 | EXT6_OBJS+=$(foreach T,$(PF6_EXT_SLIB),extensions/libip6t_$(T).o) |
James Morris | c81a3f3 | 2006-05-24 16:11:58 +0000 | [diff] [blame] | 84 | EXT6_OBJS+=$(foreach T,$(PF6_EXT_SE_SLIB),extensions/libip6t_$(T).o) |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 85 | EXT6_OBJS+=$(foreach T,$(PFX_EXT_SLIB),extensions/libxt_$(T).o) |
Harald Welte | 3efb6ea | 2001-08-06 18:50:21 +0000 | [diff] [blame] | 86 | EXT6_FUNC+=$(foreach T,$(PF6_EXT_SLIB),ip6t_$(T)) |
James Morris | c81a3f3 | 2006-05-24 16:11:58 +0000 | [diff] [blame] | 87 | EXT6_FUNC+=$(foreach T,$(PF6_EXT_SE_SLIB),ip6t_$(T)) |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 88 | EXT6_FUNC+=$(foreach T,$(PFX_EXT_SLIB),xt_$(T)) |
Yasuyuki KOZAKAI | fa00a73 | 2007-07-24 07:27:02 +0000 | [diff] [blame] | 89 | EXT6_OBJS+=$(foreach T,$(PFX_EXT_SE_SLIB),extensions/libxt_$(T).o) |
| 90 | EXT6_FUNC+=$(foreach T,$(PFX_EXT_SE_SLIB),xt_$(T)) |
Harald Welte | 3efb6ea | 2001-08-06 18:50:21 +0000 | [diff] [blame] | 91 | EXT6_OBJS+= extensions/initext6.o |
Harald Welte | 9c8cdd4 | 2003-03-05 11:39:31 +0000 | [diff] [blame] | 92 | endif # DO_IPV6 |
| 93 | endif # NO_SHARED_LIBS |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 94 | |
| 95 | ifndef TOPLEVEL_INCLUDED |
| 96 | local: |
James Morris | c81a3f3 | 2006-05-24 16:11:58 +0000 | [diff] [blame] | 97 | cd .. && $(MAKE) $(SHARED_LIBS) $(SHARED_SE_LIBS) |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 98 | endif |
| 99 | |
Harald Welte | 3efb6ea | 2001-08-06 18:50:21 +0000 | [diff] [blame] | 100 | ifdef NO_SHARED_LIBS |
| 101 | extensions/libext.a: $(EXT_OBJS) |
| 102 | rm -f $@; ar crv $@ $(EXT_OBJS) |
| 103 | |
| 104 | extensions/libext6.a: $(EXT6_OBJS) |
| 105 | rm -f $@; ar crv $@ $(EXT6_OBJS) |
| 106 | |
| 107 | extensions/initext.o: extensions/initext.c |
| 108 | extensions/initext6.o: extensions/initext6.c |
| 109 | |
| 110 | extensions/initext.c: extensions/Makefile |
| 111 | echo "" > $@ |
| 112 | for i in $(EXT_FUNC); do \ |
| 113 | echo "extern void $${i}_init(void);" >> $@; \ |
| 114 | done |
| 115 | echo "void init_extensions(void) {" >> $@ |
| 116 | for i in $(EXT_FUNC); do \ |
| 117 | echo " $${i}_init();" >> $@; \ |
| 118 | done |
| 119 | echo "}" >> $@ |
| 120 | |
| 121 | extensions/initext6.c: extensions/Makefile |
| 122 | echo "" > $@ |
| 123 | for i in $(EXT6_FUNC); do \ |
| 124 | echo "extern void $${i}_init(void);" >> $@; \ |
| 125 | done |
| 126 | echo "void init_extensions(void) {" >> $@ |
| 127 | for i in $(EXT6_FUNC); do \ |
| 128 | echo " $${i}_init();" >> $@; \ |
| 129 | done |
| 130 | echo "}" >> $@ |
| 131 | |
| 132 | extensions/lib%.o: extensions/lib%.c |
| 133 | $(CC) $(CFLAGS) -D_INIT=$*_init -c -o $@ $< |
| 134 | |
| 135 | endif |
| 136 | |
Henrik Nordstrom | c279413 | 2004-01-22 15:04:24 +0000 | [diff] [blame] | 137 | EXTRAS += extensions/libipt_targets.man |
| 138 | extensions/libipt_targets.man: $(patsubst %,extensions/libipt_%.man,$(PF_EXT_MAN_ALL_TARGETS)) |
| 139 | @for ext in $(PF_EXT_MAN_TARGETS); do \ |
| 140 | echo ".SS $$ext" ;\ |
| 141 | cat extensions/libipt_$$ext.man ;\ |
| 142 | done >extensions/libipt_targets.man |
| 143 | @if [ -n "$(PF_EXT_MAN_EXTRA_TARGETS)" ]; then \ |
Joszef Kadlecsik | e4077d0 | 2004-06-17 09:02:35 +0000 | [diff] [blame] | 144 | extra=$(PF_EXT_MAN_EXTRA_TARGETS) ;\ |
Joszef Kadlecsik | d566c9b | 2004-06-17 08:48:30 +0000 | [diff] [blame] | 145 | for ext in $${extra:-""}; do \ |
Henrik Nordstrom | c279413 | 2004-01-22 15:04:24 +0000 | [diff] [blame] | 146 | echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\ |
| 147 | cat extensions/libipt_$$ext.man ;\ |
| 148 | done ;\ |
| 149 | fi >>extensions/libipt_targets.man |
| 150 | |
| 151 | EXTRAS += extensions/libipt_matches.man |
| 152 | extensions/libipt_matches.man: $(patsubst %,extensions/libipt_%.man,$(PF_EXT_MAN_ALL_MATCHES)) |
| 153 | @for ext in $(PF_EXT_MAN_MATCHES); do \ |
| 154 | echo ".SS $$ext" ;\ |
| 155 | cat extensions/libipt_$$ext.man ;\ |
| 156 | done >extensions/libipt_matches.man |
| 157 | @if [ -n "$(PF_EXT_MAN_EXTRA_MATCHES)" ]; then \ |
Joszef Kadlecsik | e4077d0 | 2004-06-17 09:02:35 +0000 | [diff] [blame] | 158 | extra=$(PF_EXT_MAN_EXTRA_MATCHES) ;\ |
Joszef Kadlecsik | d566c9b | 2004-06-17 08:48:30 +0000 | [diff] [blame] | 159 | for ext in $${extra:-""}; do \ |
Henrik Nordstrom | c279413 | 2004-01-22 15:04:24 +0000 | [diff] [blame] | 160 | echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\ |
| 161 | cat extensions/libipt_$$ext.man ;\ |
| 162 | done ;\ |
| 163 | fi >>extensions/libipt_matches.man |
| 164 | |
| 165 | EXTRAS += extensions/libip6t_targets.man |
| 166 | extensions/libip6t_targets.man: $(patsubst %, extensions/libip6t_%.man, $(PF6_EXT_MAN_ALL_TARGETS)) |
| 167 | @for ext in $(PF6_EXT_MAN_TARGETS); do \ |
| 168 | echo ".SS $$ext" ;\ |
| 169 | cat extensions/libip6t_$$ext.man ;\ |
| 170 | done >extensions/libip6t_targets.man |
| 171 | @if [ -n "$(PF6_EXT_MAN_EXTRA_TARGETS)" ]; then \ |
Joszef Kadlecsik | e4077d0 | 2004-06-17 09:02:35 +0000 | [diff] [blame] | 172 | extra=$(PF6_EXT_MAN_EXTRA_TARGETS) ;\ |
Joszef Kadlecsik | d566c9b | 2004-06-17 08:48:30 +0000 | [diff] [blame] | 173 | for ext in $${extra:-""}; do \ |
Henrik Nordstrom | c279413 | 2004-01-22 15:04:24 +0000 | [diff] [blame] | 174 | echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\ |
| 175 | cat extensions/libip6t_$$ext.man ;\ |
| 176 | done ;\ |
| 177 | fi >>extensions/libip6t_targets.man |
| 178 | |
| 179 | EXTRAS += extensions/libip6t_matches.man |
| 180 | extensions/libip6t_matches.man: $(patsubst %, extensions/libip6t_%.man, $(PF6_EXT_MAN_ALL_MATCHES)) |
| 181 | @for ext in $(PF6_EXT_MAN_MATCHES); do \ |
| 182 | echo ".SS $$ext" ;\ |
| 183 | cat extensions/libip6t_$$ext.man ;\ |
| 184 | done >extensions/libip6t_matches.man |
| 185 | @if [ -n "$(PF6_EXT_MAN_EXTRA_MATCHES)" ]; then \ |
Joszef Kadlecsik | e4077d0 | 2004-06-17 09:02:35 +0000 | [diff] [blame] | 186 | extra=$(PF6_EXT_MAN_EXTRA_MATCHES) ;\ |
Joszef Kadlecsik | d566c9b | 2004-06-17 08:48:30 +0000 | [diff] [blame] | 187 | for ext in $${extra:-""}; do \ |
Henrik Nordstrom | c279413 | 2004-01-22 15:04:24 +0000 | [diff] [blame] | 188 | echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\ |
| 189 | cat extensions/libip6t_$$ext.man ;\ |
| 190 | done ;\ |
| 191 | fi >>extensions/libip6t_matches.man |
| 192 | |
Yasuyuki KOZAKAI | dbda07b | 2007-07-24 06:08:05 +0000 | [diff] [blame] | 193 | $(DEST_IPT_LIBDIR)/libipt_%.so: extensions/libipt_%.so |
| 194 | @[ -d $(DEST_IPT_LIBDIR)/ ] || mkdir -p $(DEST_IPT_LIBDIR)/ |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 195 | cp $< $@ |
Philip Blundell | 57e07af | 2000-06-04 17:25:33 +0000 | [diff] [blame] | 196 | |
Yasuyuki KOZAKAI | dbda07b | 2007-07-24 06:08:05 +0000 | [diff] [blame] | 197 | $(DEST_IPT_LIBDIR)/libip6t_%.so: extensions/libip6t_%.so |
| 198 | @[ -d $(DEST_IPT_LIBDIR)/ ] || mkdir -p $(DEST_IPT_LIBDIR)/ |
Philip Blundell | 57e07af | 2000-06-04 17:25:33 +0000 | [diff] [blame] | 199 | cp $< $@ |
Yasuyuki KOZAKAI | 68c7915 | 2007-07-24 06:09:15 +0000 | [diff] [blame] | 200 | |
| 201 | $(DEST_IPT_LIBDIR)/libxt_%.so: extensions/libxt_%.so |
| 202 | @[ -d $(DEST_IPT_LIBDIR)/ ] || mkdir -p $(DEST_IPT_LIBDIR)/ |
| 203 | cp $< $@ |