diff options
| author | Gene Pasquet <dev@etenil.net> | 2026-04-20 09:54:11 +0100 |
|---|---|---|
| committer | Gene Pasquet <dev@etenil.net> | 2026-04-20 09:54:11 +0100 |
| commit | 148b5a826d15b12ca83b55ee31862c9260605adb (patch) | |
| tree | 4cca52e7f77005e0f49b0a6313a76a5eb56322aa | |
| parent | ff2a01852d80e9f5591202d8017beb59d72ca40e (diff) | |
Bump version
| -rw-r--r-- | Makefile | 22 | ||||
| -rw-r--r-- | README.org | 4 | ||||
| -rw-r--r-- | downstroke.egg | 2 |
3 files changed, 25 insertions, 3 deletions
@@ -1,5 +1,9 @@ .DEFAULT_GOAL := engine +# Canonical release string for the tree — keep in sync with downstroke.egg and +# README v… markers (see bump-version). +VERSION := 1.0.0rc1 + # Modules listed in dependency order MODULE_NAMES := entity tween tilemap world input physics renderer assets animation engine mixer sound prefabs scene-loader OBJECT_FILES := $(patsubst %,bin/%.o,$(MODULE_NAMES)) @@ -37,7 +41,7 @@ bin/%.o: %.scm | bin csc -c -J -unit downstroke.$* $*.scm -o bin/$*.o -I bin @if [ -f downstroke.$*.import.scm ]; then mv downstroke.$*.import.scm bin/; fi -.PHONY: clean test engine demos filter format +.PHONY: clean test engine demos filter format bump-version # Reformat every tracked .scm file with Emacs `indent-region` under the user's # real init (so geiser-chicken / scheme-mode rules apply consistently). @@ -87,3 +91,19 @@ demos: engine $(DEMO_BINS) bin/demo-%: demo/%.scm $(OBJECT_FILES) | bin csc demo/$*.scm $(OBJECT_FILES) -o bin/demo-$* -I bin $(USES_FLAGS) -L -lSDL2_mixer + +# Bump VERSION, downstroke.egg, and README v… strings (POSIX sed: write temp, mv). +# NEW must not contain &, backslash, or # (sed replacement / delimiter limits). +bump-version: +ifndef NEW + $(error usage: make bump-version NEW=1.2.3) +endif + @set -e; \ + test "$(VERSION)" != "$(NEW)" || { echo "bump-version: already at $(VERSION)"; exit 0; }; \ + old='$(VERSION)'; new='$(NEW)'; \ + oesc=$$(printf '%s' "$$old" | sed 's/\./\\./g'); \ + t=$$$$.bump; \ + sed "s#^VERSION := $$oesc#VERSION := $$new#" Makefile > "Makefile.$$t" && mv "Makefile.$$t" Makefile; \ + sed "s#((version \"$$oesc\")#((version \"$$new\")#" downstroke.egg > "downstroke.egg.$$t" && mv "downstroke.egg.$$t" downstroke.egg; \ + sed "s#v$$oesc#v$$new#g" README.org > "README.org.$$t" && mv "README.org.$$t" README.org; \ + echo "bump-version: $$old -> $$new (Makefile, downstroke.egg, README.org)" @@ -41,7 +41,7 @@ Early extraction phase. The engine logic is fully working — it powers [[https: | 8 | Camera follow | pending | | 9 | Named scene states | pending | | 10 | AI tag-based lookup | pending | -| 11 | Package as Chicken egg (v0.1.0) | pending | +| 11 | Package as Chicken egg (v1.0.0rc1) | pending | | 12 | Macroknight ported to use the egg | pending | Milestones 1–6 are pure refactoring. Milestone 7 is the design pivot where the public API stabilises. Milestones 11–12 produce the first installable egg and validate it against macroknight. @@ -72,6 +72,8 @@ Single test module: csi -s tests/physics-test.scm #+end_src +The canonical version string is =VERSION= at the top of the =Makefile=; it must match =((version "…")= in =downstroke.egg= and the =v…= marker in the milestone table. Bump all three with =make bump-version NEW=1.2.3= (POSIX =sed=; =NEW= must not contain =&=, backslash, or =#=). + ** Architecture Modules live at the project root. Each compiles as a Chicken unit (=csc -c -J -unit=). Compile order follows the dependency graph: diff --git a/downstroke.egg b/downstroke.egg index 1a3a1d8..7327924 100644 --- a/downstroke.egg +++ b/downstroke.egg @@ -1,4 +1,4 @@ -((version "0.1.0") +((version "1.0.0rc1") (synopsis "2D tile-driven game engine for Chicken Scheme, built on SDL2") (author "Gene Pasquet") (license "BSD-2-Clause") |
