android/radamsa-comp-android/Makefile

53 lines
1.7 KiB
Makefile
Raw Permalink Normal View History

2019-05-25 00:39:46 +01:00
# Must be configured by the user
ANDROID_NDK := /opt/android-ndk
# Constants and makefile shit used in build
mkfile_path = $(abspath $(lastword $(MAKEFILE_LIST)))
current_dir = $(notdir $(patsubst %/,%,$(dir $(mkfile_path))))
## NDK configuration.
PLATFORM_VERSION = 19
NDK_ARCH = arm
NDK_ABI = linux-androideabi
NDK = $(ANDROID_NDK)
NDK_COMP_VER = 4.9
NDK_HOSTARCH = linux-x86_64
NDK_TOOLS = $(NDK)/toolchains/$(NDK_ARCH)-$(NDK_ABI)-$(NDK_COMP_VER)/prebuilt/$(NDK_HOSTARCH)/bin
NDK_SYSROOT = $(NDK)/platforms/android-$(PLATFORM_VERSION)/arch-$(NDK_ARCH)
NDK_INC = $(NDK)/platforms/android-$(PLATFORM_VERSION)/arch-$(NDK_ARCH)/usr/include
NDK_LIB = $(NDK)/platforms/android-$(PLATFORM_VERSION)/arch-$(NDK_ARCH)/usr/lib
## Compiler and compilation flags
CC = $(NDK_TOOLS)/$(NDK_ARCH)-$(NDK_ABI)-gcc
CFLAGS = --sysroot=$(NDK_SYSROOT) -fPIE -pie -mthumb -O3 -DNO_SECCOMP -I$(NDK_INC) \
-std=gnu99 -Wall -Werror
LDFLAGS = --sysroot=$(NDK_SYSROOT) -fPIE -pie
# Exploit
OUT = $(current_dir)/Out/Bin
RADAMSA_SRC = src
all: clone bin
.PHONY: all radamsa.c
clone:
git clone https://github.com/aoh/radamsa.git $(RADAMSA_SRC)
#Checkout revision to make sure whole solution compiles
cd src && git checkout 1a9cc03fda47dd3706ef69f4ad971f66b273a324
radamsa.c:
$(MAKE) -C $(RADAMSA_SRC) radamsa.c
patch -p1 < android.patch
bin: radamsa.c
mkdir -p $(OUT)
$(CC) $(CFLAGS) -o $(OUT)/radamsa.o -c $(RADAMSA_SRC)/radamsa.c
$(CC) $(LDFLAGS) -o $(OUT)/radamsa $(OUT)/radamsa.o -ldl
clean:
rm -rf $(OUT)
rm -rf $(RADAMSA_SRC)
push:
adb push $(OUT)/radamsa /data/app/