Update Makefile

This commit is contained in:
neo 2025-04-15 18:26:39 -04:00 • committed by GitHub
parent 13894c0cf5
commit 0596201812
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,15 +1,18 @@
# StikJIT Makefile
# By neoarz
# Version 1.0 - April 2025
# Path to code signing tool
TARGET_CODESIGN = $(shell which ldid)
# Build config
# Build configuration settings
PLATFORM = iphoneos
NAME = StikJIT
SCHEME ?= 'StikJIT'
RELEASE = Release-iphoneos
CONFIGURATION = Release
# SDK paths for compilation
MACOSX_SYSROOT = $(shell xcrun -sdk macosx --show-sdk-path)
TARGET_SYSROOT = $(shell xcrun -sdk $(PLATFORM) --show-sdk-path)
@ -18,12 +21,16 @@ APP_TMP = $(TMPDIR)/$(NAME)
STAGE_DIR = $(APP_TMP)/stage
APP_DIR = $(APP_TMP)/Build/Products/$(RELEASE)/$(NAME).app
# Default target
all: package
# Main build target - compiles and packages the application
package:
# Clean any previous build artifacts
@rm -rf $(APP_TMP)
# Build the app with xcodebuild
# Uses parallel jobs to speed up compilation
@set -o pipefail; \
xcodebuild \
-jobs $(shell sysctl -n hw.ncpu) \
@ -41,28 +48,37 @@ package:
SWIFT_OPTIMIZATION_LEVEL="-Onone" \
IPHONEOS_DEPLOYMENT_TARGET=17.4
# Prepare for packaging
# Prepare the directory structure for packaging
@rm -rf Payload
@rm -rf $(STAGE_DIR)/
@mkdir -p $(STAGE_DIR)/Payload
@mv $(APP_DIR) $(STAGE_DIR)/Payload/$(NAME).app
# Debug output - show paths for troubleshooting
@echo $(APP_TMP)
@echo $(STAGE_DIR)
# Remove Apple's code signature
# Remove Apple's code signature so we can use our own
@rm -rf $(STAGE_DIR)/Payload/$(NAME).app/_CodeSignature
# Set up symbolic link for packaging
@ln -sf $(STAGE_DIR)/Payload Payload
# Prepare packages directory
@rm -rf packages
@mkdir -p packages
# Create standard IPA package
# Using max compression level (9) for smaller file size
@zip -r9 packages/$(NAME).ipa Payload
@rm -rf Payload
# Create standard IPA package
@zip -r9 packages/$(NAME).ipa Payload
@rm -rf Payload
# Clean target - removes all temporary files and build artifacts
clean:
@rm -rf $(STAGE_DIR)
@rm -rf packages
@rm -rf out.dmg
@rm -rf $(APP_TMP)
# Phony target declaration
.PHONY: apple-include