From b0aa963b6f860f82226ad65671c8335cc7e694c8 Mon Sep 17 00:00:00 2001 From: Nick Chan Date: Fri, 17 Nov 2023 18:48:12 +0800 Subject: [PATCH] Makefile: linux build improvements --- Makefile | 10 ++++++++-- src/Makefile | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index c27631a..98453bb 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,9 @@ LIBS += $(DEP)/lib/libimobiledevice-1.0.a $(DEP)/lib/libirecovery-1.0.a $(DEP)/l 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 @@ -19,7 +22,7 @@ LDFLAGS += -Wl,-dead_strip LIBS += -framework CoreFoundation -framework IOKit else CFLAGS += -fdata-sections -ffunction-sections -LDFLAGS += -static -no-pie -Wl,--gc-sections +LDFLAGS += -Wl,--gc-sections endif LIBS += $(DEP)/lib/libmbedtls.a $(DEP)/lib/libmbedcrypto.a $(DEP)/lib/libmbedx509.a $(DEP)/lib/libreadline.a @@ -45,6 +48,9 @@ CFLAGS += -Os -g BUILD_STYLE = RELEASE endif LIBS += -lc +ifneq ($(shell echo '$(BUILD_STYLE)' | grep -q '[A-Z]\+SAN' && echo 1),1) +LDFLAGS += -static -no-pie +endif ifneq ($(BAKERAIN_DEVELOPE_R),) CFLAGS += -DBAKERAIN_DEVELOPE_R="\"$(BAKERAIN_DEVELOPE_R)\"" @@ -62,7 +68,7 @@ CFLAGS += -DBUILD_WHOAMI="\"$(BUILD_WHOAMI)\"" -DBUILD_TAG="\"$(BUILD_TAG)\"" CFLAGS += -DBUILD_NUMBER="\"$(BUILD_NUMBER)\"" -DBUILD_BRANCH="\"$(BUILD_BRANCH)\"" CFLAGS += -DBUILD_COMMIT="\"$(BUILD_COMMIT)\"" -export SRC DEP CC CFLAGS LDFLAGS LIBS SHELL TARGET_OS DEV_BUILD BUILD_DATE BUILD_TAG BUILD_WHOAMI BUILD_STYLE BUILD_NUMBER BUILD_BRANCH +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 diff --git a/src/Makefile b/src/Makefile index d276616..3d824eb 100644 --- a/src/Makefile +++ b/src/Makefile @@ -89,6 +89,22 @@ endif CFLAGS += -DBUILD_OPTIONS=\""$(BUILD_OPTIONS)"\" +ifeq ($(TARGET_OS),Linux) +ifeq ($(UNAME),Linux) +ifeq ($(CHECKRA1N_NAME),) +ifeq ($(shell arch),x86_64) +CHECKRA1N_NAME := linux-x86_64 +else ifeq ($(shell arch | grep -q 'i[3-7]86' && echo 1),1) +CHECKRA1N_NAME := linux-x86 +else ifeq ($(shell arch | grep -v '\(arm\|aarch\)[a-z]\?\+64' | grep -q arm && echo 1),1) +CHECKRA1N_NAME := linux-armel +else ifeq ($(shell arch | grep -q '\(arm\|aarch\)[a-z]\?\+64' && echo 1),1) +CHECKRA1N_NAME := linux-arm64 +endif +endif +endif +endif + $(RESOURCES_DIR)/checkra1n-%: curl -Lfo $@ https://assets.checkra.in/downloads/preview/$(CHECKRA1N_VERSION)/$$(echo $@ | cut -d/ -f2) chmod 755 $@