Research-Stack/4-Infrastructure/infra/embedded_surface/xen_alpine/Makefile
Brandon Schneider 382277ec28 chore: preserve working tree before secure wipe
- Update .gitignore with **/target/ for Rust build artifacts
- Add eval receipts to UniversalBridge.lean (compile-time verification comments)
- Add PCIe Idle-Cycle Compute Harvester to ROADMAP.md
- Clean up deprecated scripts, generated Verilog, and old tools (23 deletions)
- Stage new infrastructure: Xen/Alpine embedded surface, QFOX topology manager
- Stage new probes: boundary activation field, holographic carving
- Stage new applications: finance manager, script roots
- Stage new research spec: PCIe idle-cycle substrate
2026-05-13 17:36:02 -05:00

47 lines
1.5 KiB
Makefile

BUILD_DIR := build
STATIC_BIN := $(BUILD_DIR)/rs-surface-static
NOLIBC_BIN := $(BUILD_DIR)/rs-surface-nolibc
CC ?= cc
STATIC_CFLAGS ?= -std=c11 -Os -Wall -Wextra -march=x86-64 -mtune=generic -mno-avx -mno-avx2 -ffunction-sections -fdata-sections
STATIC_LDFLAGS ?= -static -Wl,--gc-sections
NOLIBC_CFLAGS ?= -std=c11 -Os -Wall -Wextra -march=x86-64 -mtune=generic -mno-avx -mno-avx2 -ffreestanding -fno-stack-protector -fno-pic -fno-pie -fno-asynchronous-unwind-tables -fno-unwind-tables -nostdlib -static
.PHONY: check smoke qemu-smoke qemu-static-smoke static clean
check:
python3 -m py_compile smoke_xen_alpine_surface.py ../server.py
python3 -m json.tool ../profiles/xen-alpine-surface.json >/dev/null
sh -n install_rs_surface_openrc.sh
sh -n rs-surface.openrc
sh -n run_qemu_alpine_surface.sh
$(CC) $(STATIC_CFLAGS) -fsyntax-only rs_surface_static.c
$(CC) $(NOLIBC_CFLAGS) -fsyntax-only rs_surface_nolibc.c
smoke:
python3 smoke_xen_alpine_surface.py --host 127.0.0.1 --port 8080
qemu-smoke:
./run_qemu_alpine_surface.sh
qemu-static-smoke: nolibc
SURFACE_IMPL=nolibc ./run_qemu_alpine_surface.sh
static: $(STATIC_BIN)
nolibc: $(NOLIBC_BIN)
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
$(STATIC_BIN): rs_surface_static.c | $(BUILD_DIR)
$(CC) $(STATIC_CFLAGS) -o $@ $< $(STATIC_LDFLAGS)
strip $@ || true
ls -lh $@
$(NOLIBC_BIN): rs_surface_nolibc.c | $(BUILD_DIR)
$(CC) $(NOLIBC_CFLAGS) -Wl,--build-id=none -Wl,-n -o $@ $<
strip $@ || true
ls -lh $@
clean:
rm -rf $(BUILD_DIR)