From ac7ce6f62bdc6d1103ff184840052587a49e92a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?b=CA=B0edoh=E2=82=82=20sw=C3=A9?= Date: Sat, 17 Feb 2024 20:01:40 +0500 Subject: [PATCH] Add "result" target in Makefile. --- .gitignore | 3 +-- Makefile | 28 ++++++++++++---------------- default.mk | 1 + proguard.conf | 5 +++++ 4 files changed, 19 insertions(+), 18 deletions(-) create mode 100644 proguard.conf diff --git a/.gitignore b/.gitignore index 313731a..69e3ec2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ env.mk build/ -result.jar -a.jar +jars/ diff --git a/Makefile b/Makefile index f37027c..49c3211 100644 --- a/Makefile +++ b/Makefile @@ -4,16 +4,14 @@ SRC = src SRC_DIR := src -OUT_DIR := build - RES_DIR := res SRCS := $(wildcard $(SRC_DIR)/*/*.kt) -CLS := $(SRCS:$(SRC_DIR)/%.kt=$(OUT_DIR)/%.class) +CLASSNAME := com.Hello KOTLINC = kotlinc -KOTLINFLAGS = -cp $(HEADERS) -d $(OUT_DIR) -jvm-target 1.8 +KOTLINFLAGS = -cp $(HEADERS) -d jars/classes.jar -jvm-target 1.8 -include-runtime .SUFFIXES: .kt @@ -21,21 +19,19 @@ KOTLINFLAGS = -cp $(HEADERS) -d $(OUT_DIR) -jvm-target 1.8 all: translate -$(CLS): $(OUT_DIR)/%.class: $(SRC_DIR)/%.kt - @mkdir -p build - $(KOTLINC) $(KOTLINFLAGS) $< - rm -rf build/META-INF/ +jars/classes.jar: $(SRCS) + @mkdir -p jars + $(KOTLINC) $(KOTLINFLAGS) $< clean: - rm -rf build/ - rm -f result.jar - rm -f a.jar + rm -rf jars/ -pack a.jar: $(wildcard $(OUT_DIR)/*.class) $(wildcard $(RES_DIR)/*) $(CLS) - jar -cmf META-INF/MANIFEST.MF a.jar -C build . -C res . +jars/result.jar: jars/classes.jar + -$(RETROTRANSLATOR) -srcjar jars/classes.jar -destjar jars/result.jar + jar -umf META-INF/MANIFEST.MF jars/result.jar -C res . -translate result.jar: a.jar - $(RETROTRANSLATOR) -srcjar a.jar -destjar result.jar +release jars/release.jar: jars/result.jar + proguard -include proguard.conf -keepclassmembers class $(CLASSNAME) { public \ ';' } run: - $(EMULATOR) result.jar + $(EMULATOR) jars/result.jar diff --git a/default.mk b/default.mk index e46a667..a429185 100644 --- a/default.mk +++ b/default.mk @@ -1,4 +1,5 @@ HEADERS = EMULATOR = java -jar RETROTRANSLATOR = java -jar +PROGUARD = java -jar diff --git a/proguard.conf b/proguard.conf new file mode 100644 index 0000000..e0f328c --- /dev/null +++ b/proguard.conf @@ -0,0 +1,5 @@ +-injars jars/result.jar(!**.kotlin_builtins,!META-INF/main.kotlin_module,!META-INF/services/**) +-outjars jars/release.jar +-dontwarn +-keep public class com.Hello +-microedition