-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
42 lines (32 loc) · 1.47 KB
/
Makefile
File metadata and controls
42 lines (32 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# get NDK from https://github.com/android/ndk/wiki/Unsupported-Downloads
NDK_PATH = /home/marci/tools/android-ndk-r21e
# COMPILER = aarch64-linux-android21-clang
COMPILER = armv7a-linux-androideabi21-clang
# Set the Android NDK toolchain for ARM64
CC = $(NDK_PATH)/toolchains/llvm/prebuilt/linux-x86_64/bin/$(COMPILER)
CXX = $(NDK_PATH)/toolchains/llvm/prebuilt/linux-x86_64/bin/$(COMPILER)++
LD = $(NDK_PATH)/toolchains/llvm/prebuilt/linux-x86_64/bin/ld
AR = $(NDK_PATH)/toolchains/llvm/prebuilt/linux-x86_64/bin/ar
SYSROOT = $(NDK_PATH)/platforms/android-21/arch-arm64
# Paths for additional archives and includes
HOOKER_ARCHIVE = InlineHook/jni/hook/libInlineHook.a
INCLUDE_DIR = InlineHook/jni/hook/
# Compiler and linker flags for JNI and JVM
CFLAGS = -g -Wall -O2 -fPIC -I$(SYSROOT)/usr/include -I$(NDK_PATH)/sysroot/usr/include/jni -I$(NDK_PATH)/sysroot/usr/include/jni.h -I$(INCLUDE_DIR)
LDFLAGS = -L$(SYSROOT)/usr/lib -L$(NDK_PATH)/platforms/android-21/arch-arm64/usr/lib -L$(INCLUDE_DIR) -ldl
LIBS = -ldl -L$(INCLUDE_DIR) -lInlineHook
TARGET = sakeloader
SRC = *.c
# Build rules
all: $(TARGET)
$(TARGET): $(SRC)
$(CC) $(CFLAGS) $(SRC) -o $(TARGET) $(LDFLAGS) $(LIBS)
# Push the binary to the Android device
push: $(TARGET)
@echo "Pushing $(TARGET) to /data/local/tmp/ on Android device..."
adb shell "mkdir -p /data/local/tmp/sakeloader"
adb push $(TARGET) /data/local/tmp/sakeloader/
@echo "File pushed to /data/local/tmp/sakeloader"
# Clean the build
clean:
rm -f $(TARGET)