11# === Phony Targets ===
22.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
55
66# === Terminal Colors ===
77GREEN := \033[1;32m
@@ -11,18 +11,16 @@ RESET := \033[0m
1111# === Directory Variables ===
1212JAVA_LINKER_DIR := java-linker
1313SHIM_METADATA_GEN_DIR := shim-metadata-gen
14- STACKMAPADDER_DIR := stackmapadder
15- OPTIMISE2_DIR := optimise2
1614LIBRARY_DIR := library
1715LIBRARY_JAR := $(LIBRARY_DIR ) /build/libs/library-0.1.0.jar
1816RUST_SOURCES := $(shell find $(SHIM_METADATA_GEN_DIR ) /src -type f -name '* .rs')
1917
2018# === Default Target ===
2119ifeq ($(IS_CI ) ,1)
22- all : rust java-linker stackmapadder optimise2
20+ all : rust java-linker vendor-r8
2321 @echo " $( GREEN) ✨ Build complete in CI mode! ✨$( RESET) "
2422else
25- all : rust gen-files java-linker stackmapadder optimise2
23+ all : rust gen-files java-linker vendor-r8
2624 @echo " $( GREEN) ✨ Build complete! ✨$( RESET) "
2725endif
2826
4139 @echo " make rust-components - Install needed Rust components"
4240 @echo " make rust - Build the Rust root project"
4341 @echo " make java-linker - Build the Java Linker subproject"
44- @echo " make stackmapadder - Build the ASM processor"
4542 @echo " make library - Build the standard library shim"
4643 @echo " make gen-files - Generate necessary files from templates"
4744 @echo " make clean-* - Clean individual components"
@@ -96,39 +93,6 @@ clean-shim-metadata-gen-json-files:
9693 rm -f $(SHIM_METADATA_GEN_DIR ) /* .json; \
9794 fi
9895
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-
13296# === Standard Library Shim (Gradle) ===
13397library : $(LIBRARY_JAR )
13498
@@ -158,6 +122,16 @@ clean-gen-files:
158122 @echo " $( CYAN) 🧹 Cleaning template generated files...$( RESET) "
159123 rm -f jvm-unknown-unknown.json config.toml
160124
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+
161135# === 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
163137 @echo " $( GREEN) 🧼 All clean!$( RESET) "
0 commit comments