mirror of
https://github.com/palera1n/palera1n.git
synced 2026-11-04 23:40:34 +01:00
init
This commit is contained in:
1 parent
62e03acf81
commit
19347caeaa
82 files changed
+374
-8419
No files matched your search
@@ -1,95 +1,29 @@
|
||||
SRC = $(shell pwd)
|
||||
DEP = $(SRC)/dep_root
|
||||
STRIP = strip
|
||||
CC ?= cc
|
||||
CFLAGS += -isystem $(DEP)/include -I$(SRC)/include -I$(SRC) -D_XOPEN_SOURCE=500
|
||||
CFLAGS += -Wall -Wextra -Wno-unused-parameter -DPALERAIN_VERSION=\"2.1\" -DHAVE_LIBIMOBILEDEVICE
|
||||
CFLAGS += -Wno-unused-variable -I$(SRC)/src -std=c99 -pedantic-errors -D_C99_SOURCE -D_POSIX_C_SOURCE=200112L
|
||||
LIBS += $(DEP)/lib/libimobiledevice-1.0.a $(DEP)/lib/libirecovery-1.0.a $(DEP)/lib/libusbmuxd-2.0.a
|
||||
LIBS += $(DEP)/lib/libimobiledevice-glue-1.0.a $(DEP)/lib/libplist-2.0.a -pthread -lm
|
||||
ifeq ($(TARGET_OS),)
|
||||
TARGET_OS = $(shell uname -s)
|
||||
UNAME = $(TARGET_OS)
|
||||
else
|
||||
UNAME = $(shell uname -s)
|
||||
endif
|
||||
ifeq ($(TARGET_OS),Darwin)
|
||||
CFLAGS += -Wno-nullability-extension
|
||||
ifeq (,$(findstring version-min=, $(CFLAGS)))
|
||||
CFLAGS += -mmacosx-version-min=10.8
|
||||
endif
|
||||
LDFLAGS += -Wl,-dead_strip
|
||||
LIBS += -framework CoreFoundation -framework IOKit
|
||||
else
|
||||
CFLAGS += -fdata-sections -ffunction-sections
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
endif
|
||||
LIBS += $(DEP)/lib/libmbedtls.a $(DEP)/lib/libmbedcrypto.a $(DEP)/lib/libmbedx509.a $(DEP)/lib/libreadline.a
|
||||
.PHONY: payloads palera1n palera1n_xcode clean
|
||||
|
||||
ifeq ($(TUI),1)
|
||||
ifeq ($(TARGET_OS),Linux)
|
||||
LIBS += $(DEP)/lib/libgpm.a
|
||||
endif
|
||||
endif
|
||||
WITH_GUI ?= 0
|
||||
WITH_STATIC ?= 0
|
||||
BUILD_TYPE ?= Debug
|
||||
|
||||
ifeq ($(DEV_BUILD),1)
|
||||
CFLAGS += -O0 -g -DDEV_BUILD -fno-omit-frame-pointer
|
||||
ifeq ($(ASAN),1)
|
||||
BUILD_STYLE=ASAN
|
||||
CFLAGS += -fsanitize=address,undefined -fsanitize-address-use-after-return=runtime
|
||||
else ifeq ($(TSAN),1)
|
||||
BUILD_STYLE=TSAN
|
||||
CFLAGS += -fsanitize=thread,undefined
|
||||
else
|
||||
BUILD_STYLE = DEVELOPMENT
|
||||
endif
|
||||
else
|
||||
CFLAGS += -Os -g
|
||||
BUILD_STYLE = RELEASE
|
||||
endif
|
||||
LIBS += -lc
|
||||
payloads:
|
||||
@mkdir -p src/exploit/payloads
|
||||
@for file in payloads/*; do \
|
||||
echo " XXD $$file"; \
|
||||
xxd -i $$file > src/exploit/$$file.h; \
|
||||
done
|
||||
|
||||
ifeq ($(TARGET_OS),Linux)
|
||||
ifneq ($(shell echo '$(BUILD_STYLE)' | grep -q '[A-Z]\+SAN' && echo 1),1)
|
||||
LDFLAGS += -static -no-pie
|
||||
endif
|
||||
endif
|
||||
palera1n: payloads
|
||||
@cmake -S . -B build \
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
|
||||
-DWITH_GUI=$(WITH_GUI) \
|
||||
-DWITH_STATIC=$(WITH_STATIC) && \
|
||||
cmake --build build -- -j$(sysctl -n hw.ncpu)
|
||||
|
||||
ifneq ($(BAKERAIN_DEVELOPE_R),)
|
||||
CFLAGS += -DBAKERAIN_DEVELOPE_R="\"$(BAKERAIN_DEVELOPE_R)\""
|
||||
endif
|
||||
|
||||
BUILD_NUMBER := $(shell git rev-list --count HEAD)
|
||||
BUILD_TAG := $(shell git describe --dirty --tags --abbrev=7)
|
||||
BUILD_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
|
||||
BUILD_COMMIT := $(shell git rev-parse HEAD)
|
||||
|
||||
CFLAGS += -DBUILD_STYLE="\"$(BUILD_STYLE)\"" -DBUILD_TAG="\"$(BUILD_TAG)\""
|
||||
CFLAGS += -DBUILD_NUMBER="\"$(BUILD_NUMBER)\"" -DBUILD_BRANCH="\"$(BUILD_BRANCH)\""
|
||||
CFLAGS += -DBUILD_COMMIT="\"$(BUILD_COMMIT)\""
|
||||
|
||||
CPATH =
|
||||
LIBRARY_PATH =
|
||||
|
||||
export SRC DEP UNAME CC CFLAGS LDFLAGS LIBS SHELL TARGET_OS DEV_BUILD BUILD_DATE BUILD_TAG BUILD_WHOAMI BUILD_STYLE BUILD_NUMBER BUILD_BRANCH
|
||||
|
||||
all: palera1n
|
||||
|
||||
palera1n: download-deps
|
||||
$(MAKE) -C src
|
||||
palera1n_xcode: payloads
|
||||
@cmake -S . -B build \
|
||||
-G Xcode \
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
|
||||
-DWITH_GUI=$(WITH_GUI) \
|
||||
-DWITH_STATIC=$(WITH_STATIC)
|
||||
|
||||
clean:
|
||||
$(MAKE) -C src clean
|
||||
$(MAKE) -C docs clean
|
||||
|
||||
download-deps:
|
||||
$(MAKE) -C src $(patsubst %, resources/%, checkra1n-macos checkra1n-linux-arm64 checkra1n-linux-armel checkra1n-linux-x86 checkra1n-linux-x86_64 checkra1n-kpf-pongo ramdisk.dmg binpack.dmg Pongo.bin)
|
||||
|
||||
docs:
|
||||
$(MAKE) -C docs
|
||||
|
||||
distclean: clean
|
||||
$(MAKE) -C src distclean
|
||||
|
||||
.PHONY: all palera1n clean docs distclean
|
||||
|
||||
@rm -rf build
|
||||
Reference in new issue
Block a user