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 \ 2543e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes util.c 2643e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes 2733b967df36fe2b3997ead2c139efb4775946a612Jorge Lucangeli ObesminijailCommonCFlags := -DHAVE_SECUREBITS_H -Wall -Werror 286fd82bdeeeb399a96ed82ca00ab657e9e2e3d503Jorge Lucangeli ObesminijailCommonLibraries := libcap 29a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes 302885befc0941a8283846b83ef111dce6dd880159Jeff Vander Stoep# Android devices running kernel version < 3.8 are not required to 312885befc0941a8283846b83ef111dce6dd880159Jeff Vander Stoep# support seccomp. Brillo devices must support seccomp regardless of 322885befc0941a8283846b83ef111dce6dd880159Jeff Vander Stoep# kernel version. 332885befc0941a8283846b83ef111dce6dd880159Jeff Vander Stoep# TODO: remove when no longer supporting kernel versions < 3.8. 342885befc0941a8283846b83ef111dce6dd880159Jeff Vander Stoepifndef BRILLO 352885befc0941a8283846b83ef111dce6dd880159Jeff Vander StoepminijailCommonCFlags += -DUSE_SECCOMP_SOFTFAIL 362885befc0941a8283846b83ef111dce6dd880159Jeff Vander Stoependif 37b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes 38d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes 39c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes# Static library for generated code. 40d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# ========================================================= 41c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obesinclude $(CLEAR_VARS) 42c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_MODULE := libminijail_generated 43c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes 44c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_MODULE_CLASS := STATIC_LIBRARIES 45c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obesgenerated_sources_dir := $(local-generated-sources-dir) 46c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes 477943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoepmy_gen := $(generated_sources_dir)/$(TARGET_ARCH)/libsyscalls.c 486c755d2e50ac66fff04148386c29fb851122422fJorge Lucangeli Obes# We need the quotes so the shell script treats the following as one argument. 497943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoepmy_cc := "$(lastword $(CLANG)) \ 507943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep $(addprefix -isystem ,$(TARGET_C_INCLUDES)) \ 517943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep $(CLANG_TARGET_GLOBAL_CFLAGS)" 527943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): PRIVATE_CC := $(my_cc) 537943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): PRIVATE_CUSTOM_TOOL = $< $(PRIVATE_CC) $@ 547943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): $(LOCAL_PATH)/gen_syscalls.sh 55c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes $(transform-generated-source) 567943da9ead852722a3badefc196519ce5bef451dJeff Vander StoepLOCAL_GENERATED_SOURCES_$(TARGET_ARCH) += $(my_gen) 57c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes 587943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoepmy_gen := $(generated_sources_dir)/$(TARGET_ARCH)/libconstants.c 597943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): PRIVATE_CC := $(my_cc) 607943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): PRIVATE_CUSTOM_TOOL = $< $(PRIVATE_CC) $@ 617943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): $(LOCAL_PATH)/gen_constants.sh 62c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes $(transform-generated-source) 637943da9ead852722a3badefc196519ce5bef451dJeff Vander StoepLOCAL_GENERATED_SOURCES_$(TARGET_ARCH) += $(my_gen) 64c0b6958a05bf1a2cb221bcc3dc79acd3cbd20004Jeff Vander Stoep 65c0b6958a05bf1a2cb221bcc3dc79acd3cbd20004Jeff Vander Stoep# For processes running in 32-bit compat mode on 64-bit processors. 66c0b6958a05bf1a2cb221bcc3dc79acd3cbd20004Jeff Vander Stoepifdef TARGET_2ND_ARCH 677943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoepmy_gen := $(generated_sources_dir)/$(TARGET_2ND_ARCH)/libsyscalls.c 687943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoepmy_cc := "$(lastword $(CLANG)) \ 697943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep $(addprefix -isystem ,$($(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_C_INCLUDES)) \ 707943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep $($(TARGET_2ND_ARCH_VAR_PREFIX)CLANG_TARGET_GLOBAL_CFLAGS)" 717943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): PRIVATE_CC := $(my_cc) 727943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): PRIVATE_CUSTOM_TOOL = $< $(PRIVATE_CC) $@ 737943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): $(LOCAL_PATH)/gen_syscalls.sh 74c0b6958a05bf1a2cb221bcc3dc79acd3cbd20004Jeff Vander Stoep $(transform-generated-source) 757943da9ead852722a3badefc196519ce5bef451dJeff Vander StoepLOCAL_GENERATED_SOURCES_$(TARGET_2ND_ARCH) += $(my_gen) 76c0b6958a05bf1a2cb221bcc3dc79acd3cbd20004Jeff Vander Stoep 777943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoepmy_gen := $(generated_sources_dir)/$(TARGET_2ND_ARCH)/libconstants.c 787943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): PRIVATE_CC := $(my_cc) 797943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): PRIVATE_CUSTOM_TOOL = $< $(PRIVATE_CC) $@ 807943da9ead852722a3badefc196519ce5bef451dJeff Vander Stoep$(my_gen): $(LOCAL_PATH)/gen_constants.sh 81c0b6958a05bf1a2cb221bcc3dc79acd3cbd20004Jeff Vander Stoep $(transform-generated-source) 827943da9ead852722a3badefc196519ce5bef451dJeff Vander StoepLOCAL_GENERATED_SOURCES_$(TARGET_2ND_ARCH) += $(my_gen) 83c0b6958a05bf1a2cb221bcc3dc79acd3cbd20004Jeff Vander Stoependif 84a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes 85c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags) 86c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_CLANG := true 87c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obesinclude $(BUILD_STATIC_LIBRARY) 88c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes 89b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes 90c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes# libminijail shared library for target. 91d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# ========================================================= 92a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obesinclude $(CLEAR_VARS) 93a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli ObesLOCAL_MODULE := libminijail 94a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obes 95a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags) 96a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli ObesLOCAL_CLANG := true 9743e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_SRC_FILES := $(libminijailSrcFiles) 988b330bf3b28f6d1cf40852c612affbbd2aff8a28Jorge Lucangeli Obes 99c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_STATIC_LIBRARIES := libminijail_generated 1006fd82bdeeeb399a96ed82ca00ab657e9e2e3d503Jorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries) 1018b330bf3b28f6d1cf40852c612affbbd2aff8a28Jorge Lucangeli ObesLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) 102a21c8fc135523df5bbd4523b36096dff6e8ade4aJorge Lucangeli Obesinclude $(BUILD_SHARED_LIBRARY) 103c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes 104b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes 105abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# Example ASan-ified libminijail shared library for target. 106abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# Commented out since it's only needed for local debugging. 107abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# ========================================================= 108abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# include $(CLEAR_VARS) 109abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_MODULE := libminijail_asan 110abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_MODULE_TAGS := optional 111abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# 112abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_CFLAGS := $(minijailCommonCFlags) 113abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_CLANG := true 114abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_SANITIZE := address 115abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_MODULE_RELATIVE_PATH := asan 116abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_SRC_FILES := $(libminijailSrcFiles) 117abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# 118abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_STATIC_LIBRARIES := libminijail_generated 119abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries) 120abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) 121abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes# include $(BUILD_SHARED_LIBRARY) 122abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes 123abb93141f0255a624bda29e4842611f8bc120df8Jorge Lucangeli Obes 12443e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes# libminijail static library for target. 125d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# ========================================================= 12643e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obesinclude $(CLEAR_VARS) 12743e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_MODULE := libminijail 12843e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes 12943e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags) 13043e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_CLANG := true 13143e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_SRC_FILES := $(libminijailSrcFiles) 13243e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes 133d2045acc79c9b1d2b1a8420f05d9890b144a341eJorge Lucangeli ObesLOCAL_WHOLE_STATIC_LIBRARIES := libminijail_generated $(minijailCommonLibraries) 13443e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli ObesLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) 13543e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obesinclude $(BUILD_STATIC_LIBRARY) 13643e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes 13743e29b3551479dd6d989b830eacd1abbd83592ccJorge Lucangeli Obes 138d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes# libminijail native unit tests. Run with: 139c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes# adb shell /data/nativetest/libminijail_unittest/libminijail_unittest 140d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# ========================================================= 141c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obesinclude $(CLEAR_VARS) 142c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_MODULE := libminijail_unittest 143c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obesifdef BRILLO 1443c8375cdf37104998ded0edc5ed072ab3b07c00dJorge Lucangeli Obes LOCAL_MODULE_TAGS := eng 145c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obesendif 146c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes 147c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags) 148c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_CLANG := true 149c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_SRC_FILES := \ 150c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes bpf.c \ 151c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes libminijail.c \ 152d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes libminijail_unittest.c \ 153c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes signal_handler.c \ 154c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes syscall_filter.c \ 155c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes util.c \ 156c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obes 157c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli ObesLOCAL_STATIC_LIBRARIES := libminijail_generated 1586fd82bdeeeb399a96ed82ca00ab657e9e2e3d503Jorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries) 159c37681ddf90209e4ca4741f25843dc11257e2030Jorge Lucangeli Obesinclude $(BUILD_NATIVE_TEST) 160d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes 161b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes 162d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes# Syscall filtering native unit tests. Run with: 163b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes# adb shell /data/nativetest/syscall_filter_unittest/syscall_filter_unittest 164d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# ========================================================= 165d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obesinclude $(CLEAR_VARS) 166d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli ObesLOCAL_MODULE := syscall_filter_unittest 167d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obesifdef BRILLO 1683c8375cdf37104998ded0edc5ed072ab3b07c00dJorge Lucangeli Obes LOCAL_MODULE_TAGS := eng 169d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obesendif 170d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes 171d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags) 172d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli ObesLOCAL_CLANG := true 173d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli ObesLOCAL_SRC_FILES := \ 174d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes bpf.c \ 175d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes syscall_filter.c \ 176d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes syscall_filter_unittest.c \ 177d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes util.c \ 178d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obes 179d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli ObesLOCAL_STATIC_LIBRARIES := libminijail_generated 1806fd82bdeeeb399a96ed82ca00ab657e9e2e3d503Jorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries) 181d6aedee6f0cdc53ad11af4f297297803bf95c96fJorge Lucangeli Obesinclude $(BUILD_NATIVE_TEST) 1826f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obes 183b845b15da9d2611608b6492abebdb25e12b55c73Jorge Lucangeli Obes 184ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes# test_minijail executable for brillo_Minijail test. 185ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes# ========================================================= 186ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obesinclude $(CLEAR_VARS) 187ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_MODULE := libminijail_test 188ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obesifdef BRILLO 189ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes LOCAL_MODULE_TAGS := eng 190ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obesendif 191ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes 192ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags) 193ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_CLANG := true 194ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_SRC_FILES := \ 195ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes test/libminijail_test.cpp 196ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes 197ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := libbase libminijail 198ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obesinclude $(BUILD_EXECUTABLE) 199ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes 200ac9e342ef745e9057edc4e1b02a52d8943ea608aJorge Lucangeli Obes 2016f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obes# libminijail usage example. 202d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# ========================================================= 2036f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obesinclude $(CLEAR_VARS) 2046f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_MODULE := drop_privs 2056f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_MODULE_TAGS := optional 2066f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_CFLAGS := $(minijailCommonCFlags) 2076f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_CLANG := true 2088c3febd20f0cef00a5049f6962666b6c62093aa9Jorge Lucangeli Obes# Don't build with ASan, but leave commented out for easy local debugging. 2098c3febd20f0cef00a5049f6962666b6c62093aa9Jorge Lucangeli Obes# LOCAL_SANITIZE := address 2106f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_SRC_FILES := \ 2116f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obes examples/drop_privs.cpp 2126f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obes 2136f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := libbase libminijail 2146f967c545e8383ebe1f9331e0208468bff883f2eJorge Lucangeli Obesinclude $(BUILD_EXECUTABLE) 215d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes 216d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes 217d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# minijail0 executable. 218d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# This is not currently used on Brillo/Android, 219d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# but it's convenient to be able to build it. 220d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes# ========================================================= 221d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obesinclude $(CLEAR_VARS) 222d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_MODULE := minijail0 223d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_MODULE_TAGS := optional 224d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_CFLAGS := \ 225d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes $(minijailCommonCFlags) -Wno-missing-field-initializers \ 226d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes -DPRELOADPATH=\"/invalidminijailpreload.so\" 227d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_CLANG := true 228d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_SRC_FILES := \ 229d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes elfparse.c \ 230d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes minijail0.c \ 231d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obes 232d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_STATIC_LIBRARIES := libminijail_generated 233d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli ObesLOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries) libminijail 234d99a40d2176032b783716007ff49ebdcbdfcb4faJorge Lucangeli Obesinclude $(BUILD_EXECUTABLE) 235