- protocol.yaml: SSoT for the binary framing protocol (12 record types) - codegen/gen.mjs: generates C header/source and Node ESM from protocol.yaml - c-backend: ALSA sequencer with drift-free clock_nanosleep tick thread, pattern store (hierarchical sub-patterns), Unix socket server - node-server: Express 5 web app — REST API, SSE for real-time beat events, step-sequencer frontend with pending-edit / explicit-save flow Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
771 B
Makefile
31 lines
771 B
Makefile
CODEGEN_INPUTS = protocol.yaml codegen/gen.mjs
|
|
CODEGEN_OUTPUTS = c-backend/generated/protocol.h \
|
|
c-backend/generated/protocol.c \
|
|
node-server/src/generated/protocol.mjs
|
|
|
|
.PHONY: all generate c-backend node-install clean
|
|
|
|
all: generate c-backend node-install
|
|
|
|
generate: $(CODEGEN_OUTPUTS)
|
|
|
|
$(CODEGEN_OUTPUTS): $(CODEGEN_INPUTS) | codegen/node_modules
|
|
node codegen/gen.mjs
|
|
|
|
codegen/node_modules: codegen/package.json
|
|
cd codegen && npm install
|
|
@touch codegen/node_modules
|
|
|
|
c-backend: generate
|
|
$(MAKE) -C c-backend
|
|
|
|
node-install: node-server/node_modules
|
|
|
|
node-server/node_modules: node-server/package.json
|
|
cd node-server && npm install
|
|
@touch node-server/node_modules
|
|
|
|
clean:
|
|
$(MAKE) -C c-backend clean
|
|
rm -f $(CODEGEN_OUTPUTS)
|