iptables: fix per object LDFLAGS for aggragate object builds
authorJohn Crispin <john@phrozen.org>
Mon, 30 Apr 2018 13:18:57 +0000 (15:18 +0200)
committerJohn Crispin <john@phrozen.org>
Tue, 1 May 2018 09:12:15 +0000 (11:12 +0200)
Without this patch the extra LDFLAGS of objects were selected based on the
name of the extension being built, which breaks for aggregate so builds.

Signed-off-by: John Crispin <john@phrozen.org>
package/network/utils/iptables/patches/600-shared-libext.patch

index a906d40..6e08416 100644 (file)
 -libext.a: initext.o ${libext_objs}
 -      ${AM_VERBOSE_AR} ${AR} crs $@ $^;
 +libiptext.so: initext.o ${libext_objs}
-+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  
 -libext_ebt.a: initextb.o ${libext_ebt_objs}
 -      ${AM_VERBOSE_AR} ${AR} crs $@ $^;
 +libiptext_ebt.so: initextb.o ${libext_ebt_objs}
-+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  
 -libext_arpt.a: initexta.o ${libext_arpt_objs}
 -      ${AM_VERBOSE_AR} ${AR} crs $@ $^;
 +libiptext_arpt.so: initexta.o ${libext_arpt_objs}
-+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  
 -libext4.a: initext4.o ${libext4_objs}
 -      ${AM_VERBOSE_AR} ${AR} crs $@ $^;
 +libiptext4.so: initext4.o ${libext4_objs}
-+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  
 -libext6.a: initext6.o ${libext6_objs}
 -      ${AM_VERBOSE_AR} ${AR} crs $@ $^;
 +libiptext6.so: initext6.o ${libext6_objs}
-+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  
  initext_func  := $(addprefix xt_,${pfx_build_static})
  initextb_func := $(addprefix ebt_,${pfb_build_static})