| LOCAL_PATH := $(call my-dir) |
| |
| # libipset.so |
| include $(CLEAR_VARS) |
| |
| IPSET_SETTYPE_STATIC := \ |
| ipset_bitmap_ip.c \ |
| ipset_bitmap_ipmac.c \ |
| ipset_bitmap_port.c \ |
| ipset_hash_ip.c \ |
| ipset_hash_ipport.c \ |
| ipset_hash_ipmark.c \ |
| ipset_hash_ipportip.c \ |
| ipset_hash_ipportnet.c \ |
| ipset_hash_net.c \ |
| ipset_hash_netnet.c \ |
| ipset_hash_netportnet.c \ |
| ipset_hash_netport.c \ |
| ipset_hash_netiface.c \ |
| ipset_hash_mac.c \ |
| ipset_list_set.c |
| |
| LOCAL_MODULE := libipset |
| LOCAL_MODULE_TAGS := optional |
| LOCAL_SRC_FILES := \ |
| lib/data.c \ |
| lib/errcode.c \ |
| lib/icmp.c \ |
| lib/icmpv6.c \ |
| lib/mnl.c \ |
| lib/parse.c \ |
| lib/print.c \ |
| lib/session.c \ |
| lib/types.c \ |
| lib/ui.c \ |
| lib/types_init.c \ |
| $(foreach f,$(IPSET_SETTYPE_STATIC),lib/$(f)) |
| |
| LOCAL_C_INCLUDES := $(LOCAL_PATH)/include |
| LOCAL_CFLAGS := -O2 -g -Wno-unused-parameter |
| LOCAL_SHARED_LIBRARIES := libmnl |
| include $(BUILD_SHARED_LIBRARY) |
| |
| $(TOPDIR)$(LOCAL_PATH)/lib/types_init.c: |
| $(hide)echo "Generate $@" |
| $(hide)rm -f $@ |
| $(hide)static_list="$(patsubst %.c,%,$(IPSET_SETTYPE_STATIC))"; \ |
| echo -n "" > $@; \ |
| for i in $${static_list}; do \ |
| echo "extern void $${i}_init(void);" >> $@; \ |
| done; \ |
| echo "void ipset_types_init(void);" >> $@; \ |
| echo "void ipset_types_init(void)" >> $@; \ |
| echo "{" >> $@; \ |
| for i in $${static_list}; do \ |
| echo " ""$${i}_init();" >> $@; \ |
| done; \ |
| echo "}" >> $@; |
| |
| define settype_special_rule |
| $(eval $(intermediates)/lib/$(1).o: PRIVATE_CFLAGS += -DTYPE_INCLUSIVE -D_INIT=$(1)_init) |
| endef |
| |
| $(foreach f,$(patsubst %.c,%,$(IPSET_SETTYPE_STATIC)),$(call settype_special_rule,$(f))) |
| |
| # ipset |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := ipset |
| LOCAL_MODULE_TAGS := optional |
| LOCAL_SRC_FILES := src/ipset.c src/ui.c |
| LOCAL_C_INCLUDES := $(LOCAL_PATH)/include |
| LOCAL_CFLAGS := -O2 -g -Wno-unused-parameter |
| LOCAL_SHARED_LIBRARIES := libipset |
| |
| include $(BUILD_EXECUTABLE) |