Newer
Older
minerva / Ports / epsilon / patches / 0001-Add-minerva-toolchain-information-and-makefile-file.patch
@minerva minerva on 13 Jul 2 KB Initial commit
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Joachim Le Fournis <joachimlf@pm.me>
Date: Tue, 13 Jul 2021 21:17:44 +0200
Subject: [PATCH] Add minerva toolchain information and makefile files

---
 build/platform.simulator.minerva.mak  |  6 ++++
 build/toolchain.x86_64-pc-minerva.mak |  1 +
 ion/src/simulator/minerva/Makefile    | 43 ++++++++++++++++++++++++++
 3 files changed, 50 insertions(+)
 create mode 100644 build/platform.simulator.minerva.mak
 create mode 100644 build/toolchain.x86_64-pc-minerva.mak
 create mode 100644 ion/src/simulator/minerva/Makefile

diff --git a/build/platform.simulator.minerva.mak b/build/platform.simulator.minerva.mak
new file mode 100644
index 0000000000000000000000000000000000000000..0ac83c0bb06554bfa3077b9c2b67516291018e3b
--- /dev/null
+++ b/build/platform.simulator.minerva.mak
@@ -0,0 +1,6 @@
+TOOLCHAIN = x86_64-pc-minerva
+EXE = elf
+
+EPSILON_TELEMETRY ?= 0
+
+SHOULD_USE_DYNAMIC_SDL = 1
diff --git a/build/toolchain.x86_64-pc-minerva.mak b/build/toolchain.x86_64-pc-minerva.mak
new file mode 100644
index 0000000000000000000000000000000000000000..bb49f4ed4dcec21891f94ec9c3c9f602d6f4cbcf
--- /dev/null
+++ b/build/toolchain.x86_64-pc-minerva.mak
@@ -0,0 +1 @@
+TOOLCHAIN_PREFIX = x86_64-pc-minerva
diff --git a/ion/src/simulator/minerva/Makefile b/ion/src/simulator/minerva/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..5d4bb131983ba85c79042cfa790b94e400158705
--- /dev/null
+++ b/ion/src/simulator/minerva/Makefile
@@ -0,0 +1,43 @@
+ION_SIMULATOR_FILES = 1
+
+
+ion_src += $(addprefix ion/src/simulator/linux/, \
+  assets.s \
+  platform_files.cpp \
+  platform_images.cpp \
+  platform_language.cpp \
+)
+
+SFLAGS += -I$(MINERVA_INSTALL_ROOT)/usr/local/include/SDL2 -I$(MINERVA_INSTALL_ROOT)/usr/local/include
+LDFLAGS += -lpng -lz -ljpeg -lSDL2
+
+ion_src += $(addprefix ion/src/simulator/shared/, \
+  dummy/haptics_enabled.cpp \
+  dummy/keyboard_callback.cpp \
+  dummy/window_callback.cpp \
+  actions.cpp \
+  clipboard_helper.cpp \
+  haptics.cpp \
+  journal.cpp \
+  state_file.cpp \
+)
+
+ion_src += ion/src/shared/collect_registers.cpp
+
+ifeq ($(EPSILON_TELEMETRY),1)
+ion_src += ion/src/simulator/shared/dummy/telemetry_init.cpp
+ion_src += ion/src/shared/telemetry_console.cpp
+endif
+
+$(eval $(call rule_for, \
+  INCBIN, \
+  ion/src/simulator/linux/assets.s ion/src/simulator/linux/platform_images.h, \
+  $(ion_simulator_assets_paths), \
+  $$(PYTHON) ion/src/simulator/linux/incbin.py $(ion_simulator_assets) -o $$@, \
+  global \
+))
+
+$(call object_for,ion/src/simulator/linux/platform_images.cpp): $(BUILD_DIR)/ion/src/simulator/linux/platform_images.h
+
+# The header is refered to as <ion/src/simulator/linux/platform_images.h> so make sure it's findable this way
+$(call object_for,ion/src/simulator/linux/platform_images.cpp): SFLAGS += -I$(BUILD_DIR)