1LOCAL_PATH:= $(call my-dir)
2
3common_src_files := \
4	policy_parse.y \
5	policy_scan.l \
6	queue.c \
7	module_compiler.c \
8	parse_util.c \
9	policy_define.c
10
11common_cflags := \
12	-Wall -Wshadow -O2 \
13	-pipe -fno-strict-aliasing \
14	-Wno-return-type
15
16ifeq ($(HOST_OS),darwin)
17common_cflags += -DDARWIN
18endif
19
20common_includes := \
21	$(LOCAL_PATH)/ \
22	$(LOCAL_PATH)/../libsepol/include/ \
23	$(LOCAL_PATH)/../libsepol/src/ \
24
25##
26# "-x c" forces the lex/yacc files to be compiled as c the build system
27# otherwise forces them to be c++. Need to also add an explicit -std because the
28# build system will soon default C++ to -std=c++11.
29yacc_flags := -x c -std=gnu89
30
31
32##
33# checkpolicy
34#
35include $(CLEAR_VARS)
36
37LOCAL_MODULE := checkpolicy
38LOCAL_MODULE_TAGS := optional
39LOCAL_C_INCLUDES := $(common_includes) 
40LOCAL_CFLAGS := $(yacc_flags) $(common_cflags)
41LOCAL_SRC_FILES := $(common_src_files) checkpolicy.c
42LOCAL_STATIC_LIBRARIES := libsepol
43LOCAL_YACCFLAGS := -v
44LOCAL_MODULE_CLASS := EXECUTABLES
45
46include $(BUILD_HOST_EXECUTABLE)
47
48
49##
50# checkmodule
51#
52include $(CLEAR_VARS)
53
54LOCAL_MODULE := checkmodule
55LOCAL_MODULE_TAGS := optional
56LOCAL_C_INCLUDES := $(common_includes) 
57LOCAL_CFLAGS := $(yacc_flags) $(common_cflags)
58LOCAL_SRC_FILES := $(common_src_files) checkmodule.c
59LOCAL_STATIC_LIBRARIES := libsepol
60LOCAL_YACCFLAGS := -v
61LOCAL_MODULE_CLASS := EXECUTABLES
62
63include $(BUILD_HOST_EXECUTABLE)
64
65##
66# dispol
67#
68include $(CLEAR_VARS)
69
70LOCAL_MODULE := dispol
71LOCAL_MODULE_TAGS := optional
72LOCAL_C_INCLUDES := $(common_includes)
73LOCAL_CFLAGS := $(common_cflags)
74LOCAL_SRC_FILES := test/dispol.c
75LOCAL_STATIC_LIBRARIES := libsepol
76LOCAL_MODULE_CLASS := EXECUTABLES
77
78include $(BUILD_HOST_EXECUTABLE)
79