1
1
# === Phony Targets ===
2
2
.PHONY : all help clean rust-components rust clean-rust java-linker clean-java-linker \
3
- shim-metadata-gen clean-shim-metadata-gen stackmapadder clean-stackmapadder \
4
- library clean-library gen-files clean-gen-files ci optimise2 clean-optimise2
3
+ shim-metadata-gen clean-shim-metadata-gen vendor-r8 clean-vendor-r8 \
4
+ library clean-library gen-files clean-gen-files ci
5
5
6
6
# === Terminal Colors ===
7
7
GREEN := \033[1;32m
@@ -11,18 +11,16 @@ RESET := \033[0m
11
11
# === Directory Variables ===
12
12
JAVA_LINKER_DIR := java-linker
13
13
SHIM_METADATA_GEN_DIR := shim-metadata-gen
14
- STACKMAPADDER_DIR := stackmapadder
15
- OPTIMISE2_DIR := optimise2
16
14
LIBRARY_DIR := library
17
15
LIBRARY_JAR := $(LIBRARY_DIR ) /build/libs/library-0.1.0.jar
18
16
RUST_SOURCES := $(shell find $(SHIM_METADATA_GEN_DIR ) /src -type f -name '* .rs')
19
17
20
18
# === Default Target ===
21
19
ifeq ($(IS_CI ) ,1)
22
- all : rust java-linker stackmapadder optimise2
20
+ all : rust java-linker vendor-r8
23
21
@echo " $( GREEN) ✨ Build complete in CI mode! ✨$( RESET) "
24
22
else
25
- all : rust gen-files java-linker stackmapadder optimise2
23
+ all : rust gen-files java-linker vendor-r8
26
24
@echo " $( GREEN) ✨ Build complete! ✨$( RESET) "
27
25
endif
28
26
41
39
@echo " make rust-components - Install needed Rust components"
42
40
@echo " make rust - Build the Rust root project"
43
41
@echo " make java-linker - Build the Java Linker subproject"
44
- @echo " make stackmapadder - Build the ASM processor"
45
42
@echo " make library - Build the standard library shim"
46
43
@echo " make gen-files - Generate necessary files from templates"
47
44
@echo " make clean-* - Clean individual components"
@@ -96,39 +93,6 @@ clean-shim-metadata-gen-json-files:
96
93
rm -f $(SHIM_METADATA_GEN_DIR ) /* .json; \
97
94
fi
98
95
99
- # === ASM Processors (Gradle) ===
100
- stackmapadder :
101
- @echo " $( CYAN) ⚙️ Building Stack map adder...$( RESET) "
102
- ifeq ($(IS_CI ) ,1)
103
- cd $(STACKMAPADDER_DIR) && gradle --no-daemon shadowJar
104
- else
105
- cd $(STACKMAPADDER_DIR) && gradle shadowJar
106
- endif
107
-
108
- clean-stackmapadder :
109
- @echo " $( CYAN) 🧹 Cleaning ASM processor...$( RESET) "
110
- ifeq ($(IS_CI ) ,1)
111
- cd $(STACKMAPADDER_DIR) && gradle --no-daemon clean
112
- else
113
- cd $(STACKMAPADDER_DIR) && gradle clean
114
- endif
115
-
116
- optimise2 :
117
- @echo " $( CYAN) ⚙️ Building optimise2...$( RESET) "
118
- ifeq ($(IS_CI ) ,1)
119
- cd $(OPTIMISE2_DIR) && gradle --no-daemon shadowJar
120
- else
121
- cd $(OPTIMISE2_DIR) && gradle shadowJar
122
- endif
123
-
124
- clean-optimise2 :
125
- @echo " $( CYAN) 🧹 Cleaning optimise2...$( RESET)
126
- ifeq ($(IS_CI ) ,1)
127
- cd $(OPTIMISE2_DIR) && gradle --no-daemon clean
128
- else
129
- cd $(OPTIMISE2_DIR) && gradle clean
130
- endif
131
-
132
96
# === Standard Library Shim (Gradle) ===
133
97
library : $(LIBRARY_JAR )
134
98
@@ -158,6 +122,16 @@ clean-gen-files:
158
122
@echo " $( CYAN) 🧹 Cleaning template generated files...$( RESET) "
159
123
rm -f jvm-unknown-unknown.json config.toml
160
124
125
+ # === Vendoring of R8 ===
126
+ vendor-r8 :
127
+ @echo " $( CYAN) 📦 Vendoring R8...$( RESET) "
128
+ mkdir -p ./vendor && curl -L -o ./vendor/r8.jar https://maven.google.com/com/android/tools/r8/8.9.35/r8-8.9.35.jar
129
+ @echo " $( CYAN) 📦 R8 vendored!$( RESET) "
130
+
131
+ clean-vendor-r8 :
132
+ @echo " $( CYAN) 🧹 Cleaning vendored R8...$( RESET) "
133
+ rm -rf ./vendor/r8.jar
134
+
161
135
# === Clean All ===
162
- clean : clean-rust clean-java-linker clean-stackmapadder clean- library clean-shim-metadata-gen clean-gen-files
136
+ clean : clean-rust clean-java-linker clean-library clean-shim-metadata-gen clean-gen-files clean-vendor-r8
163
137
@echo " $( GREEN) 🧼 All clean!$( RESET) "
0 commit comments