Magisk/native/jni/Android.mk

147 lines
2.7 KiB
Makefile
Raw Normal View History

2016-12-29 22:06:19 +00:00
LOCAL_PATH := $(call my-dir)
2017-09-13 17:44:36 +00:00
# Some handy paths
2017-10-18 16:07:48 +00:00
EXT_PATH := jni/external
SE_PATH := $(EXT_PATH)/selinux
LIBSELINUX := $(SE_PATH)/libselinux/include
LIBSEPOL := $(SE_PATH)/libsepol/include $(SE_PATH)/libsepol/cil/include
LIBLZMA := $(EXT_PATH)/xz/src/liblzma/api
LIBLZ4 := $(EXT_PATH)/lz4/lib
LIBBZ2 := $(EXT_PATH)/bzip2
LIBFDT := $(EXT_PATH)/dtc/libfdt
2018-04-28 12:22:42 +00:00
LIBNANOPB := $(EXT_PATH)/nanopb
2017-12-06 17:30:48 +00:00
UTIL_SRC := utils/cpio.c \
utils/file.c \
utils/img.c \
utils/list.c \
utils/misc.c \
utils/pattern.c \
utils/vector.c \
utils/xwrap.c
2017-09-13 17:44:36 +00:00
2017-07-31 15:47:50 +00:00
########################
# Binaries
########################
2018-05-12 19:04:40 +00:00
ifdef B_MAGISK
2017-07-31 15:47:50 +00:00
# magisk main binary
2017-04-04 19:44:13 +00:00
include $(CLEAR_VARS)
LOCAL_MODULE := magisk
LOCAL_SHARED_LIBRARIES := libsqlite libselinux
2018-04-28 12:22:42 +00:00
LOCAL_STATIC_LIBRARIES := libnanopb
2017-04-04 19:44:13 +00:00
LOCAL_C_INCLUDES := \
2017-09-13 17:44:36 +00:00
jni/include \
2018-04-14 19:18:18 +00:00
jni/magiskpolicy \
2018-01-29 07:34:05 +00:00
$(EXT_PATH)/include \
2018-04-28 12:22:42 +00:00
$(LIBSELINUX) \
$(LIBNANOPB)
2017-04-04 19:44:13 +00:00
LOCAL_SRC_FILES := \
2017-11-09 16:54:54 +00:00
core/magisk.c \
core/daemon.c \
2018-07-05 23:57:18 +00:00
core/log_daemon.c \
2017-11-09 16:54:54 +00:00
core/bootstages.c \
2017-11-27 07:37:28 +00:00
core/socket.c \
core/db.c \
magiskhide/magiskhide.c \
magiskhide/proc_monitor.c \
2017-07-02 16:57:20 +00:00
magiskhide/hide_utils.c \
2018-04-28 12:22:42 +00:00
resetprop/persist_props.c \
resetprop/resetprop.c \
2017-04-14 19:23:09 +00:00
resetprop/system_properties.cpp \
su/su.c \
su/activity.c \
su/pts.c \
su/su_daemon.c \
2017-12-06 17:30:48 +00:00
su/su_socket.c \
$(UTIL_SRC)
LOCAL_CFLAGS := -DIS_DAEMON -DSELINUX
2017-04-04 19:44:13 +00:00
LOCAL_LDLIBS := -llog
include $(BUILD_EXECUTABLE)
2017-12-04 07:16:41 +00:00
endif
2018-05-12 19:04:40 +00:00
ifdef B_INIT
2017-11-09 16:54:54 +00:00
# magiskinit
include $(CLEAR_VARS)
LOCAL_MODULE := magiskinit
2017-11-09 16:54:54 +00:00
LOCAL_STATIC_LIBRARIES := libsepol liblzma
LOCAL_C_INCLUDES := \
jni/include \
2017-11-30 12:57:40 +00:00
jni/magiskpolicy \
2018-06-13 16:59:08 +00:00
out \
2018-05-12 19:04:40 +00:00
out/$(TARGET_ARCH_ABI) \
2017-11-09 16:54:54 +00:00
$(LIBSEPOL) \
$(LIBLZMA)
LOCAL_SRC_FILES := \
2017-11-09 16:54:54 +00:00
core/magiskinit.c \
magiskpolicy/api.c \
magiskpolicy/magiskpolicy.c \
magiskpolicy/rules.c \
2017-12-06 17:30:48 +00:00
magiskpolicy/sepolicy.c \
$(UTIL_SRC)
LOCAL_LDFLAGS := -static
include $(BUILD_EXECUTABLE)
2018-05-12 19:04:40 +00:00
endif
ifdef B_BOOT
2017-07-31 15:47:50 +00:00
# magiskboot
include $(CLEAR_VARS)
LOCAL_MODULE := magiskboot
2018-01-29 07:34:05 +00:00
LOCAL_STATIC_LIBRARIES := libmincrypt liblzma liblz4 libbz2 libfdt
2017-07-31 15:47:50 +00:00
LOCAL_C_INCLUDES := \
2017-09-13 17:44:36 +00:00
jni/include \
2018-01-29 07:34:05 +00:00
$(EXT_PATH)/include \
2017-09-13 17:44:36 +00:00
$(LIBLZMA) \
$(LIBLZ4) \
2017-09-14 18:52:27 +00:00
$(LIBBZ2) \
$(LIBFDT)
2017-04-04 19:44:13 +00:00
2017-07-31 15:47:50 +00:00
LOCAL_SRC_FILES := \
magiskboot/main.c \
magiskboot/bootimg.c \
magiskboot/hexpatch.c \
magiskboot/compress.c \
2018-01-28 19:12:35 +00:00
magiskboot/format.c \
2017-09-14 18:52:27 +00:00
magiskboot/dtb.c \
2017-12-01 09:17:24 +00:00
magiskboot/ramdisk.c \
2017-12-06 17:30:48 +00:00
$(UTIL_SRC)
2017-07-30 12:14:12 +00:00
2017-12-01 09:38:57 +00:00
LOCAL_CFLAGS := -DXWRAP_EXIT
LOCAL_LDLIBS := -lz
2017-09-11 09:34:05 +00:00
include $(BUILD_EXECUTABLE)
2018-05-12 19:04:40 +00:00
endif
ifdef B_BXZ
# b64xz
include $(CLEAR_VARS)
LOCAL_MODULE := b64xz
LOCAL_STATIC_LIBRARIES := liblzma
2017-09-13 17:44:36 +00:00
LOCAL_C_INCLUDES := $(LIBLZMA)
LOCAL_SRC_FILES := b64xz.c
LOCAL_LDFLAGS := -static
include $(BUILD_EXECUTABLE)
2018-05-12 19:04:40 +00:00
endif
ifdef B_BB
# Busybox
2017-09-13 17:44:36 +00:00
include jni/external/busybox/Android.mk
2017-07-31 15:47:50 +00:00
endif
2017-07-31 15:47:50 +00:00
########################
2017-09-13 17:44:36 +00:00
# Externals
2017-07-31 15:47:50 +00:00
########################
include jni/external/Android.mk