| LOCAL_PATH := $(call my-dir) |
| |
| libsepol_cflags := \ |
| -D_GNU_SOURCE \ |
| -Wall \ |
| -Werror \ |
| -W \ |
| -Wundef \ |
| -Wshadow \ |
| -Wno-error=missing-noreturn \ |
| -Wmissing-format-attribute \ |
| -Wno-unused-but-set-variable \ |
| -Wno-bitwise-instead-of-logical |
| |
| 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) |
| |