add ESP32 build system with xtensa-esp-elf toolchain

This commit is contained in:
2026-03-25 15:44:25 -06:00
parent 680a2fdb06
commit 29691ba182
5 changed files with 17 additions and 7 deletions

View File

@@ -22,11 +22,11 @@ EXCLUDE := $(SRCDIR)/spider/runtime/util/Terminal.cpp \
$(SRCDIR)/spider/runtime/debug/LiveDebug.cpp \ $(SRCDIR)/spider/runtime/debug/LiveDebug.cpp \
$(SRCDIR)/spider/SpiderRuntime.cpp $(SRCDIR)/spider/SpiderRuntime.cpp
# ESP32 specific entry point # ESP32 specific entry point (local to this build folder)
EXTRA := $(SRCDIR)/spider/main_esp32.cpp EXTRA := ./main_esp32.cpp
SOURCES := $(filter-out $(EXCLUDE), $(shell find $(SRCDIR) -type f -name "*.$(SRCEXT)" 2>/dev/null)) $(EXTRA) SOURCES := $(filter-out $(EXCLUDE), $(shell find $(SRCDIR) -type f -name "*.$(SRCEXT)" 2>/dev/null)) $(EXTRA)
OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.$(OBJEXT))) OBJECTS := $(patsubst ./%,$(BUILDDIR)/%,$(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.$(OBJEXT))))
all: directories $(TARGET) all: directories $(TARGET)
@echo "Build complete: $(TARGETDIR)/$(TARGET)" @echo "Build complete: $(TARGETDIR)/$(TARGET)"
@@ -53,4 +53,9 @@ $(BUILDDIR)/%.$(OBJEXT): $(SRCDIR)/%.$(SRCEXT)
@echo "Compiling $<..." @echo "Compiling $<..."
$(CC) $(CFLAGS) $(INC) -c -o $@ $< $(CC) $(CFLAGS) $(INC) -c -o $@ $<
$(BUILDDIR)/%.$(OBJEXT): ./%.$(SRCEXT)
@mkdir -p $(dir $@)
@echo "Compiling $<..."
$(CC) $(CFLAGS) $(INC) -c -o $@ $<
.PHONY: all remake clean cleaner .PHONY: all remake clean cleaner

View File

@@ -25,11 +25,11 @@ EXCLUDE := {dollar}(SRCDIR)/spider/runtime/util/Terminal.cpp \\
{dollar}(SRCDIR)/spider/runtime/debug/LiveDebug.cpp \\ {dollar}(SRCDIR)/spider/runtime/debug/LiveDebug.cpp \\
{dollar}(SRCDIR)/spider/SpiderRuntime.cpp {dollar}(SRCDIR)/spider/SpiderRuntime.cpp
# ESP32 specific entry point # ESP32 specific entry point (local to this build folder)
EXTRA := {dollar}(SRCDIR)/spider/main_esp32.cpp EXTRA := ./main_esp32.cpp
SOURCES := {dollar}(filter-out {dollar}(EXCLUDE), {dollar}(shell find {dollar}(SRCDIR) -type f -name "*.{dollar}(SRCEXT)" 2>/dev/null)) {dollar}(EXTRA) SOURCES := {dollar}(filter-out {dollar}(EXCLUDE), {dollar}(shell find {dollar}(SRCDIR) -type f -name "*.{dollar}(SRCEXT)" 2>/dev/null)) {dollar}(EXTRA)
OBJECTS := {dollar}(patsubst {dollar}(SRCDIR)/%,{dollar}(BUILDDIR)/%,{dollar}(SOURCES:.{dollar}(SRCEXT)=.{dollar}(OBJEXT))) OBJECTS := {dollar}(patsubst ./%,{dollar}(BUILDDIR)/%,{dollar}(patsubst {dollar}(SRCDIR)/%,{dollar}(BUILDDIR)/%,{dollar}(SOURCES:.{dollar}(SRCEXT)=.{dollar}(OBJEXT))))
all: directories {dollar}(TARGET) all: directories {dollar}(TARGET)
{tab}@echo "Build complete: {dollar}(TARGETDIR)/{dollar}(TARGET)" {tab}@echo "Build complete: {dollar}(TARGETDIR)/{dollar}(TARGET)"
@@ -56,6 +56,11 @@ cleaner: clean
{tab}@echo "Compiling {dollar}<..." {tab}@echo "Compiling {dollar}<..."
{tab}{dollar}(CC) {dollar}(CFLAGS) {dollar}(INC) -c -o {dollar}@ {dollar}< {tab}{dollar}(CC) {dollar}(CFLAGS) {dollar}(INC) -c -o {dollar}@ {dollar}<
{dollar}(BUILDDIR)/%.{dollar}(OBJEXT): ./%.{dollar}(SRCEXT)
{tab}@mkdir -p {dollar}(dir {dollar}@)
{tab}@echo "Compiling {dollar}<..."
{tab}{dollar}(CC) {dollar}(CFLAGS) {dollar}(INC) -c -o {dollar}@ {dollar}<
.PHONY: all remake clean cleaner .PHONY: all remake clean cleaner
""" """

View File

@@ -1,6 +1,6 @@
// ESP32 entry point for Spider Runtime // ESP32 entry point for Spider Runtime
// This replaces SpiderRuntime.cpp for microcontroller builds // This replaces SpiderRuntime.cpp for microcontroller builds
#include "SpiderRuntime.hpp" #include <spider/SpiderRuntime.hpp>
int main() { int main() {
// TODO: initialize Spider runtime for ESP32 // TODO: initialize Spider runtime for ESP32

Binary file not shown.