blob: 0290a3610df6ac4b1d81aebf009c72a2d2e5557a [file] [log] [blame]
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)