summaryrefslogtreecommitdiff
path: root/platform/wavelet3d/host_sw
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2024-05-22 15:08:00 -0600
committerAlejandro Soto <alejandro@34project.org>2024-05-24 05:58:43 -0600
commit2d7390ffa53d9146c64b4dbe698cda3835cb3201 (patch)
tree61104abf284875c4fd1b58b4896f0f7eaa5eb616 /platform/wavelet3d/host_sw
parent4e634e196f542b76933d6bbe1861849557898683 (diff)
platform/wavelet3d/host_sw: implement mk build for w3d host software
Diffstat (limited to 'platform/wavelet3d/host_sw')
-rw-r--r--platform/wavelet3d/host_sw/mod.mk34
1 files changed, 34 insertions, 0 deletions
diff --git a/platform/wavelet3d/host_sw/mod.mk b/platform/wavelet3d/host_sw/mod.mk
new file mode 100644
index 0000000..b68c47d
--- /dev/null
+++ b/platform/wavelet3d/host_sw/mod.mk
@@ -0,0 +1,34 @@
+cores := w3d_host_flash w3d_host_sw w3d_picolibc
+
+define core/w3d_host_sw
+ $(this)/deps := w3d_picolibc
+ $(this)/cross := riscv32-none-elf-
+ $(this)/hooks := cc objcopy obj
+
+ $(this)/obj_deps := picolibc/picolibc.specs
+
+ $(this)/cc_files := main.c
+ $(this)/cc_flags = -g -march=rv32imafc -mabi=ilp32f --specs=$$(obj)/picolibc/picolibc.specs
+ $(this)/ld_flags := --oslib=semihost
+ $(this)/ld_binary := w3d_host_flash
+
+ $(this)/objcopy_src := w3d_host_flash
+ $(this)/objcopy_obj := w3d_host_flash.bin
+endef
+
+define core/w3d_picolibc
+ $(this)/hooks := meson obj
+
+ $(this)/obj_deps := /$(here)cross-riscv32-none-elf.txt
+
+ $(this)/meson_src := picolibc
+ $(this)/meson_objs := picolibc/picolibc.specs
+
+ $(this)/meson_args = \
+ -Dincludedir=include \
+ -Dlibdir=lib \
+ -Dspecsdir=. \
+ -Dmultilib=false \
+ -Dprefix=$$(src)/$$(obj)/picolibc \
+ --cross-file $(here)cross-riscv32-none-elf.txt
+endef