-
-
Notifications
You must be signed in to change notification settings - Fork 57
Expand file tree
/
Copy pathMakefile
More file actions
104 lines (87 loc) · 3.49 KB
/
Makefile
File metadata and controls
104 lines (87 loc) · 3.49 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Configuration
NXNAME := Nyxian
NXVERSION := 0.9.0
NXBUNDLE := com.cr4zy.nyxian
# Targets
all: jailed
jailed: SCHEME := Nyxian
jailed: compile package clean
rootless: SCHEME := NyxianForJB
rootless: ARCH := iphoneos-arm64
rootless: JB_PATH := /var/jb/
rootless: compile pseudo-sign package-deb clean
roothide: SCHEME := NyxianForJB
roothide: ARCH := iphoneos-arm64e
roothide: JB_PATH := /
roothide: compile pseudo-sign package-deb clean
rootful: SCHEME := NyxianForJB
rootful: ARCH := iphoneos-arm
rootful: JB_PATH := /
rootful: compile pseudo-sign package-deb clean
# Dependencies
# Addressing: https://www.reddit.com/r/osdev/comments/1qknfa1/comment/o1b0gsm (Only workflows can and will use LazySetup)
Nyxian/LindChain/LLVM.xcframework:
cd LLVM-On-iOS; $(MAKE)
mv LLVM-On-iOS/LLVM.xcframework Nyxian/LindChain/LLVM.xcframework
Nyxian/LindChain/Clang.xcframework: Nyxian/LindChain/LLVM.xcframework
mv LLVM-On-iOS/Clang.xcframework Nyxian/LindChain/Clang.xcframework
# Addressing: https://www.reddit.com/r/osdev/comments/1qknfa1/comment/o1b0gsm (Totally forgot to address libroot.a)
Nyxian/LindChain/JBSupport/libroot.a:
cd libroot; $(MAKE)
mv libroot/libroot_dyn_iphoneos-arm64.a Nyxian/LindChain/JBSupport/libroot.a
mv libroot/src/libroot.h Nyxian/LindChain/JBSupport/libroot.h
Nyxian/LindChain/JBSupport/tshelper:
$(MAKE) -C TrollStore pre_build
$(MAKE) -C TrollStore make_fastPathSign MAKECMDGOALS=
$(MAKE) -C TrollStore make_roothelper MAKECMDGOALS=
$(MAKE) -C TrollStore make_trollstore MAKECMDGOALS=
$(MAKE) -C TrollStore make_trollhelper_embedded MAKECMDGOALS=
cp TrollStore/RootHelper/.theos/obj/trollstorehelper Nyxian/LindChain/JBSupport/tshelper
# Helper
update-config:
chmod +x version.sh
./version.sh
# Methods
compile: Nyxian/LindChain/JBSupport/tshelper Nyxian/LindChain/JBSupport/libroot.a Nyxian/LindChain/LLVM.xcframework Nyxian/LindChain/Clang.xcframework
chmod +x version.sh
./version.sh
xcodebuild \
-project Nyxian.xcodeproj \
-scheme $(SCHEME) \
-configuration Debug \
-destination 'generic/platform=iOS' \
-archivePath build/Nyxian.xcarchive \
archive \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO
pseudo-sign:
ldid -Sent/nyxianforjb.xml build/Nyxian.xcarchive/Products/Applications/NyxianForJB.app
ldid -Sent/tshelper.xml build/Nyxian.xcarchive/Products/Applications/NyxianForJB.app/tshelper
package:
cp -r build/Nyxian.xcarchive/Products/Applications Payload
zip -r Nyxian.ipa ./Payload
package-deb:
mkdir -p .package$(JB_PATH)
cp -r build/Nyxian.xcarchive/Products/Applications .package$(JB_PATH)/Applications
find . -type f -name ".DS_Store" -delete
mkdir -p .package/DEBIAN
echo "Package: $(NXBUNDLE)\nName: $(NXNAME)\nVersion: $(NXVERSION)\nArchitecture: $(ARCH)\nDescription: Full fledged Xcode-like IDE for iOS\nDepends: clang, lld | ld64\nIcon: https://raw.githubusercontent.com/ProjectNyxian/Nyxian/main/preview.png\nMaintainer: cr4zyengineer\nAuthor: cr4zyengineer\nSection: Utilities\nTag: role::hacker" > .package/DEBIAN/control
dpkg-deb -b .package nyxian_$(NXVERSION)_$(ARCH).deb
clean:
rm -rf Payload
rm -rf build
rm -rf .package
rm -rf tmp
-rm -rf *.zip
clean-artifacts:
-rm *.ipa
-rm *.deb
clean-all: clean clean-artifacts
rm -rf Nyxian/LindChain/LLVM.xcframework
rm -rf Nyxian/LindChain/Clang.xcframework
-rm -rf Nyxian/LindChain/JBSupport/libroot*
-rm Nyxian/LindChain/JBSupport/tshelper
cd libroot; make clean; git reset --hard
cd LLVM-On-iOS; make clean-all; git reset --hard
cd TrollStore; make clean; git reset --hard