blob: b491a466ba452bc5b0d294bd06cd351c961c0c33 [file] [log] [blame]
LOCAL_PATH := $(call my-dir)
libsepol_cflags := \
-D_GNU_SOURCE \
-Wall \
-Werror \
-W \
-Wundef \
-Wshadow \
-Wno-error=missing-noreturn \
-Wmissing-format-attribute
libsepol_src := \
src/assertion.c \
src/avrule_block.c \
src/avtab.c \
src/boolean_record.c \
src/booleans.c \
src/conditional.c \
src/constraint.c \
src/context.c \
src/context_record.c \
src/debug.c \
src/ebitmap.c \
src/expand.c \
src/handle.c \
src/hashtab.c \
src/hierarchy.c \
src/iface_record.c \
src/interfaces.c \
src/kernel_to_cil.c \
src/kernel_to_common.c \
src/kernel_to_conf.c \
src/link.c \
src/mls.c \
src/module.c \
src/module_to_cil.c \
src/node_record.c \
src/nodes.c \
src/optimize.c \
src/polcaps.c \
src/policydb.c \
src/policydb_convert.c \
src/policydb_public.c \
src/port_record.c \
src/ports.c \
src/roles.c \
src/services.c \
src/sidtab.c \
src/symtab.c \
src/user_record.c \
src/users.c \
src/util.c \
src/write.c \
cil/src/android.c \
cil/src/cil_binary.c \
cil/src/cil_build_ast.c \
cil/src/cil.c \
cil/src/cil_copy_ast.c \
cil/src/cil_find.c \
cil/src/cil_fqn.c \
cil/src/cil_list.c \
cil/src/cil_log.c \
cil/src/cil_mem.c \
cil/src/cil_parser.c \
cil/src/cil_policy.c \
cil/src/cil_post.c \
cil/src/cil_reset_ast.c \
cil/src/cil_resolve_ast.c \
cil/src/cil_stack.c \
cil/src/cil_strpool.c \
cil/src/cil_symtab.c \
cil/src/cil_tree.c \
cil/src/cil_verify.c \
cil/src/cil_write_ast.c
include $(CLEAR_VARS)
LOCAL_MODULE := libsepol
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(libsepol_src)
LOCAL_CFLAGS := $(libsepol_cflags)
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/cil/include \
$(LOCAL_PATH)/cil/src \
$(LOCAL_PATH)/include \
$(LOCAL_PATH)/src
LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(LOCAL_PATH)/cil/include \
$(LOCAL_PATH)/include
include $(BUILD_HOST_STATIC_LIBRARY)
# The default build system tries to create a C++ lexer, but it won't
# compile because the generated file uses reserved C++ keywords.
# The following rules manually generate a C file from the lexer.
libsepol_lex_output := $(addprefix $(intermediates)/,cil/src/cil_lexer.c)
libsepol_lex_objects := $(libsepol_lex_output:.c=.o)
$(libsepol_lex_output): $(intermediates)/%.c: $(TOPDIR)$(LOCAL_PATH)/%.l
@mkdir -p $(dir $@)
@echo "Lex: $(PRIVATE_MODULE) <= $<"
$(hide) $(LEX) -o$@ $<
$(libsepol_lex_objects): PRIVATE_ARM_MODE := $(normal_objects_mode)
$(libsepol_lex_objects): PRIVATE_CONLYFLAGS := -Wno-sign-compare
$(libsepol_lex_objects): $(intermediates)/import_includes
$(libsepol_lex_objects): $(libsepol_lex_output)
$(transform-$(PRIVATE_HOST)c-to-o)
$(LOCAL_BUILT_MODULE): $(libsepol_lex_objects)