From 359611c30e84dfcdbfd798bf99d42f2b1f7d74d7 Mon Sep 17 00:00:00 2001
From: Fabian Vu <Fabian.Vu@hhu.de>
Date: Wed, 21 May 2025 17:43:33 +0200
Subject: [PATCH] Add first version to use Makefile for TypeScript/JavaScript

---
 Makefile | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Makefile b/Makefile
index a957eb0e..7f08b5b4 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,9 @@ JAVA_DEPENDENCIES= :btypes.jar
 CPP_CODE_GEN_FLAGS=-l cpp -mc true
 CPPC ?= clang++
 CPPFLAGS ?= -std=c++14 -O1 -flto
+TS_CODE_GEN_FLAGS=-l ts -mc true
+TSC ?= tsc
+TSCFLAGS=--target ES6 --moduleResolution node
 RS_CODE_GEN_FLAGS=-l rs -mc true
 STRATEGY=mixed
 THREADS=1
@@ -22,6 +25,10 @@ btypes_primitives:
 btypes_big_integer:
 	cd btypes_big_integer && ./gradlew fatJar && cp build/libs/btypes_big_integer-all.jar ../btypes.jar && cd ..
 
+refresh:
+	./gradlew eclipse --refresh-dependencies
+
+
 ifndef LANGUAGE
 	echo "LANGUAGE is not set"
 else
@@ -39,6 +46,13 @@ ifeq ($(LANGUAGE), cpp)
 	$(CPPC) $(CPPFLAGS) -o $@.exec $@.cpp -ftemplate-depth=16000
 	./$@.exec $(STRATEGY) $(THREADS) $(CACHING)
 endif
+ifeq ($(LANGUAGE), ts)
+%:
+	java -jar B2Program-all-0.1.0-SNAPSHOT.jar $(TS_CODE_GEN_FLAGS) -f $(DIRECTORY)/$@.mch
+	@if [ "$(DIRECTORY)" != "." ]; then cp $(DIRECTORY)/*.ts .; fi
+	$(TSC) $(TSCFLAGS) $@.ts
+	node $@.js $(STRATEGY) $(THREADS) $(CACHING)
+endif
 ifneq (,$(findstring $(LANGUAGE), rs|RS|rust|Rust))
 %:
 	java -jar B2Program-all-0.1.0-SNAPSHOT.jar $(RS_CODE_GEN_FLAGS) -f $(DIRECTORY)/$@.mch
-- 
GitLab