1a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# Copyright (C) 2015 The Android Open Source Project
2a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes#
3a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# Licensed under the Apache License, Version 2.0 (the "License");
4a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# you may not use this file except in compliance with the License.
5a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# You may obtain a copy of the License at
6a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes#
7a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes#      http://www.apache.org/licenses/LICENSE-2.0
8a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes#
9a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# Unless required by applicable law or agreed to in writing, software
10a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# distributed under the License is distributed on an "AS IS" BASIS,
11a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# See the License for the specific language governing permissions and
13a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes# limitations under the License.
14a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes
15a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli ObesLOCAL_PATH := $(call my-dir)
16a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes
17b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes
1843e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes# Common variables.
19d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# =========================================================
2043e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObeslibminijailSrcFiles := \
2143e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes	bpf.c \
2243e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes	libminijail.c \
2343e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes	signal_handler.c \
2443e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes	syscall_filter.c \
2513650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes	syscall_wrapper.c \
260b20877d6712e175c7bdd0943c0ffbfd99fc42b4Jorge Lucangeli Obes	system.c \
2743e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes	util.c
2843e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes
292aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli ObeshostUnittestSrcFiles := \
302aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes	linux-x86/libconstants.gen.c \
312aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes	linux-x86/libsyscalls.gen.c
322aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes
33f783b5273d66d19a78705276a38ae68ef2e3e165Jorge Lucangeli ObesminijailCommonCFlags := -DHAVE_SECUREBITS_H -Wall -Werror
346fd82bdeeeb399a96ed82ca00ab657e9e2e3d503Jorge Lucangeli ObesminijailCommonLibraries := libcap
35a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes
36d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes
37c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes# Static library for generated code.
38d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# =========================================================
39c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obesinclude $(CLEAR_VARS)
40c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_MODULE := libminijail_generated
41351d986fad7a8236fb27c466df19a39b31ffe3beJiyong Parkinclude $(LOCAL_PATH)/gen.mk
42351d986fad7a8236fb27c466df19a39b31ffe3beJiyong Parkinclude $(BUILD_STATIC_LIBRARY)
43c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes
44351d986fad7a8236fb27c466df19a39b31ffe3beJiyong Parkinclude $(CLEAR_VARS)
45351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_MODULE:= libminijail_generated_vendor
46351d986fad7a8236fb27c466df19a39b31ffe3beJiyong Parkinclude $(LOCAL_PATH)/gen.mk
47351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_VENDOR_MODULE := true
48c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obesinclude $(BUILD_STATIC_LIBRARY)
49c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes
50b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes
51c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes# libminijail shared library for target.
52d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# =========================================================
53a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obesinclude $(CLEAR_VARS)
54a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli ObesLOCAL_MODULE := libminijail
55a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes
56a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags)
57a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli ObesLOCAL_CLANG := true
5843e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_SRC_FILES := $(libminijailSrcFiles)
598b330bf3b28f6d1cf40852c612affbbd2aff8a28Jorge Lucangeli Obes
60c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_STATIC_LIBRARIES := libminijail_generated
616fd82bdeeeb399a96ed82ca00ab657e9e2e3d503Jorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries)
628b330bf3b28f6d1cf40852c612affbbd2aff8a28Jorge Lucangeli ObesLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
63a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obesinclude $(BUILD_SHARED_LIBRARY)
64c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes
65351d986fad7a8236fb27c466df19a39b31ffe3beJiyong Parkinclude $(CLEAR_VARS)
66351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_MODULE := libminijail_vendor
67351d986fad7a8236fb27c466df19a39b31ffe3beJiyong Park
68351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_CFLAGS := $(minijailCommonCFlags)
69351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_CLANG := true
70351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_SRC_FILES := $(libminijailSrcFiles)
71351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_VENDOR_MODULE := true
72351d986fad7a8236fb27c466df19a39b31ffe3beJiyong Park
73351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_STATIC_LIBRARIES := libminijail_generated_vendor
74351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries)
75351d986fad7a8236fb27c466df19a39b31ffe3beJiyong ParkLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
76351d986fad7a8236fb27c466df19a39b31ffe3beJiyong Parkinclude $(BUILD_SHARED_LIBRARY)
77b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes
782413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# Example ASan-ified libminijail shared library for target.
792413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# Commented out since it's only needed for local debugging.
802413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# =========================================================
812413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# include $(CLEAR_VARS)
822413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_MODULE := libminijail_asan
832413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_MODULE_TAGS := optional
842413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes#
852413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_CFLAGS := $(minijailCommonCFlags)
862413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_CLANG := true
872413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_SANITIZE := address
882413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_MODULE_RELATIVE_PATH := asan
892413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_SRC_FILES := $(libminijailSrcFiles)
902413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes#
912413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_STATIC_LIBRARIES := libminijail_generated
922413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries)
932413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
942413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes# include $(BUILD_SHARED_LIBRARY)
952413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes
962413f3713ae8a306a23550e2eecd59f380f34eaeJorge Lucangeli Obes
9743e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes# libminijail static library for target.
98d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# =========================================================
9943e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obesinclude $(CLEAR_VARS)
10043e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_MODULE := libminijail
10143e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes
10243e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags)
10343e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_CLANG := true
10443e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_SRC_FILES := $(libminijailSrcFiles)
10543e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes
106d2045acc79c9b1d2b1a8420f05d9890b144a341eJorge Lucangeli ObesLOCAL_WHOLE_STATIC_LIBRARIES := libminijail_generated $(minijailCommonLibraries)
10743e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
10843e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obesinclude $(BUILD_STATIC_LIBRARY)
10943e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes
11043e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes
111a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli Obes# libminijail native unit tests using gtest. Run with:
112a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli Obes# adb shell /data/nativetest/libminijail_unittest_gtest/libminijail_unittest_gtest
113a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli Obes# =========================================================
114a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli Obesinclude $(CLEAR_VARS)
115a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli ObesLOCAL_MODULE := libminijail_unittest_gtest
1163b52601fd5e2302458b6a20b8fcd9b72da76c798Dan ShiLOCAL_COMPATIBILITY_SUITE := device-tests
117a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli Obes
1189bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli ObesLOCAL_CPP_EXTENSION := .cc
119a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags) -Wno-writable-strings
120a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli ObesLOCAL_CLANG := true
121a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli ObesLOCAL_SRC_FILES := \
12213650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes	$(libminijailSrcFiles) \
1239bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes	libminijail_unittest.cc \
124a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli Obes
125a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli ObesLOCAL_STATIC_LIBRARIES := libminijail_generated
126a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries)
127a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli Obesinclude $(BUILD_NATIVE_TEST)
128a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli Obes
129a67bd6a31668498f3e21af49f64950ef78645515Jorge Lucangeli Obes
1309bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes# # libminijail native unit tests for the host. Run with:
1319bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes# # out/host/linux-x86/nativetest(64)/libminijail_unittest/libminijail_unittest_gtest
1329bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes# # TODO(b/31395668): Re-enable once the seccomp(2) syscall becomes available.
1339bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes# # =========================================================
13413650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes# include $(CLEAR_VARS)
1359bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes# LOCAL_MODULE := libminijail_unittest_gtest
13613650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes# LOCAL_MODULE_HOST_OS := linux
1372aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes
1389bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes# LOCAL_CPP_EXTENSION := .cc
13913650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes# LOCAL_CFLAGS := $(minijailCommonCFlags) -DPRELOADPATH=\"/invalid\"
14013650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes# LOCAL_CLANG := true
14113650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes# LOCAL_SRC_FILES := \
14213650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes# 	$(libminijailSrcFiles) \
1439bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes# 	libminijail_unittest.cc \
14413650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes# 	$(hostUnittestSrcFiles)
1452aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes
14613650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes# LOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries)
14713650616ba6faa3ad84c69816e80a2f65bce6331Jorge Lucangeli Obes# include $(BUILD_HOST_NATIVE_TEST)
1482aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes
1492aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes
150106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli Obes# Syscall filtering native unit tests using gtest. Run with:
151106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli Obes# adb shell /data/nativetest/syscall_filter_unittest_gtest/syscall_filter_unittest_gtest
152106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli Obes# =========================================================
153106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli Obesinclude $(CLEAR_VARS)
154106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli ObesLOCAL_MODULE := syscall_filter_unittest_gtest
1553b52601fd5e2302458b6a20b8fcd9b72da76c798Dan ShiLOCAL_COMPATIBILITY_SUITE := device-tests
156106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli Obes
1579bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli ObesLOCAL_CPP_EXTENSION := .cc
158106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags)
159106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli ObesLOCAL_CLANG := true
160106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli ObesLOCAL_SRC_FILES := \
161106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli Obes	bpf.c \
162106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli Obes	syscall_filter.c \
163106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli Obes	util.c \
1649bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes	syscall_filter_unittest.cc \
165106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli Obes
166106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli ObesLOCAL_STATIC_LIBRARIES := libminijail_generated
167106d97f4d10850cd49daa1f542bffeb46bf2647dJorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries)
168d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obesinclude $(BUILD_NATIVE_TEST)
1696f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obes
170b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes
1712aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes# Syscall filtering native unit tests for the host. Run with:
17245932a51abc18f3daddba7776fcfe7d3517da68cJorge Lucangeli Obes# out/host/linux-x86/nativetest(64)/syscall_filter_unittest_gtest/syscall_filter_unittest_gtest
1732aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes# =========================================================
1742aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obesinclude $(CLEAR_VARS)
1759bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli ObesLOCAL_MODULE := syscall_filter_unittest_gtest
1762aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli ObesLOCAL_MODULE_HOST_OS := linux
1772aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes
1789bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli ObesLOCAL_CPP_EXTENSION := .cc
1792aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags)
1802aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli ObesLOCAL_CLANG := true
1812aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli ObesLOCAL_SRC_FILES := \
1822aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes	bpf.c \
1832aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes	syscall_filter.c \
1842aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes	util.c \
1859bd316b14cda8f2e352453dbcaefee2d4e04f81aJorge Lucangeli Obes	syscall_filter_unittest.cc \
1862aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes	$(hostUnittestSrcFiles)
1872aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes
1882aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries)
1892aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obesinclude $(BUILD_HOST_NATIVE_TEST)
1902aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes
1912aa880cd4da0780df9751f1f9ea56cff9edc32f2Jorge Lucangeli Obes
192f9fcdbe67360c30a41b70c2f1271c0767eb073c9Jorge Lucangeli Obes# libminijail_test executable for brillo_Minijail test.
193ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes# =========================================================
194ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obesinclude $(CLEAR_VARS)
195ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_MODULE := libminijail_test
1963b52601fd5e2302458b6a20b8fcd9b72da76c798Dan ShiLOCAL_COMPATIBILITY_SUITE := device-tests
197ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes
198ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags)
199ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_CLANG := true
20064efa55d9d57590b515b1af4c7f222d3aa2161acJorge Lucangeli ObesLOCAL_GTEST := false
201ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_SRC_FILES := \
202ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes	test/libminijail_test.cpp
203ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes
204ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := libbase libminijail
20564efa55d9d57590b515b1af4c7f222d3aa2161acJorge Lucangeli Obesinclude $(BUILD_NATIVE_TEST)
206ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes
207ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes
2086f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obes# libminijail usage example.
209d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# =========================================================
2106f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obesinclude $(CLEAR_VARS)
2116f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_MODULE := drop_privs
2126f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_MODULE_TAGS := optional
2136f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags)
2146f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_CLANG := true
2159e35c09854e55973731f80dd7cc41b80c20eec42Jorge Lucangeli Obes# Don't build with ASan, but leave commented out for easy local debugging.
2169e35c09854e55973731f80dd7cc41b80c20eec42Jorge Lucangeli Obes# LOCAL_SANITIZE := address
2176f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_SRC_FILES := \
2186f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obes	examples/drop_privs.cpp
2196f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obes
2206f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := libbase libminijail
2216f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obesinclude $(BUILD_EXECUTABLE)
222d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes
223d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes
224d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# minijail0 executable.
225d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# This is not currently used on Brillo/Android,
226d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# but it's convenient to be able to build it.
227d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# =========================================================
228d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obesinclude $(CLEAR_VARS)
229d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_MODULE := minijail0
230d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_MODULE_TAGS := optional
231d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_CFLAGS := \
232d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes	$(minijailCommonCFlags) -Wno-missing-field-initializers \
233d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes	-DPRELOADPATH=\"/invalidminijailpreload.so\"
234d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_CLANG := true
235d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_SRC_FILES := \
236d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes	elfparse.c \
237d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes	minijail0.c \
238d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes
239d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_STATIC_LIBRARIES := libminijail_generated
240d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries) libminijail
241d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obesinclude $(BUILD_EXECUTABLE)
242