aboutsummaryrefslogtreecommitdiffstats
path: root/prototypes/connections/Makefile
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-26 07:12:17 +0100
committereunhhu <[email protected]>2026-09-26 07:12:17 +0100
commitd6c67de580fb7ec2b75ec73a14a7cbb551b93099 (patch)
tree24a4fc20bc3c30599c8a7b23b4e18baeb94e569c /prototypes/connections/Makefile
parent0ea774f20703270a837c0f52adb0b44448a9a93a (diff)
downloadpure-d6c67de580fb7ec2b75ec73a14a7cbb551b93099.tar.gz
pure-d6c67de580fb7ec2b75ec73a14a7cbb551b93099.zip
Rebuild module hosts when the executor or store changes
MODULE and MODULE_HEADERS were defined below the pure-serve rule, and a rule's prerequisites expand when make reads it, so pure-serve depended on neither: changing the store or the executor left a stale server behind. Define them before any rule names them.
Diffstat (limited to 'prototypes/connections/Makefile')
-rw-r--r--prototypes/connections/Makefile5
1 files changed, 3 insertions, 2 deletions
diff --git a/prototypes/connections/Makefile b/prototypes/connections/Makefile
index b683230..ec3394d 100644
--- a/prototypes/connections/Makefile
+++ b/prototypes/connections/Makefile
@@ -12,6 +12,9 @@ HOST = $(STORE) store-port.c evaluate.c
# catalog; per-object file stores share a directory listing.
KEYS = $(if $(filter store-tree.c,$(STORE)),,store-keys.c)
HEADERS = runtime.h program.h store.h store-port.h state.h flow.h result.h
+# Defined before any rule names them: prerequisites expand when a rule is read.
+MODULE = module.c module-list.c module-save.c module-text.c store-tree.c
+MODULE_HEADERS = module.h module-list.h module-save.h module-text.h $(HEADERS)
all: core fixed-editor
core: $(BUILD)/libpure-execution.a
async-core: $(BUILD)/libpure-execution-async.a
@@ -121,8 +124,6 @@ $(BUILD)/test-splice: test-splice.c program.c $(CORE) $(HOST) $(HEADERS) | $(BUI
# Pure modules: loader/verifier/executor, its tests and a test host.
# Text states are runtime-owned drafts, so the executor links the tree engine.
-MODULE = module.c module-list.c module-save.c module-text.c store-tree.c
-MODULE_HEADERS = module.h module-list.h module-save.h module-text.h $(HEADERS)
$(BUILD)/test-module: test-module.c module-store.c $(MODULE) module-store.h $(MODULE_HEADERS) | $(BUILD)
$(CC) $(CPPFLAGS) $(CFLAGS) -DPURE_STORE_TEST test-module.c module-store.c $(MODULE) $(LDFLAGS) -lm $(LDLIBS) -o $@