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 | # |
Yasuyuki KOZAKAI | 1ff0b8d | 2007-08-04 08:09:51 +0000 | [diff] [blame] | 8 | PF_EXT_SLIB:=ah addrtype conntrack ecn helper icmp iprange owner policy realm tos ttl unclean CLASSIFY DNAT DSCP ECN LOG MASQUERADE MIRROR NETMAP REDIRECT REJECT SAME SNAT TOS TTL TRACE ULOG |
| 9 | PF6_EXT_SLIB:=eui64 hl icmp6 owner policy HL LOG TRACE |
| 10 | PFX_EXT_SLIB:=connmark connlimit comment dscp esp hashlimit length limit mac mark multiport physdev pkttype sctp state standard tcp tcpmss udp CONNMARK MARK NFQUEUE NOTRACK TCPMSS |
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 $< $@ |