Removed rash integration again and backported raco call.

This commit is contained in:
2026-08-17 21:40:48 +02:00
parent 26a0e780c5
commit a21f4a4a39
15 changed files with 716 additions and 1287 deletions
+25 -54
View File
@@ -1,64 +1,35 @@
0.1.8
0.3.6
- Restore raco as a small pure-Racket helper in the default racket-makefile API.
- Remove the Rash adapter and Rash dependencies from racket-makefile.
- Move Rash integration to the separate rash-makefile package.
Fixed refresh-makefile for ordinary #lang racket makefiles that require main.rkt
directly. Target declarations now remember their source makefile, and refresh
explicitly resets the registered target state before loading the edited file.
Removed targets therefore disappear after refresh as expected.
0.3.4
- Remove raco from the racket-makefile API; raco is now owned by rash-coreutils.
- Make the project Makefile require rash-coreutils explicitly.
0.1.7
0.3.3
- Move the raco implementation to rash-coreutils and re-export it for compatibility.
- Add rash-coreutils as a dependency.
Added refresh-makefile for reloading the current Makefile.rkt from an existing
Racket/DrRacket interaction session. The makefile source path is kept in a
simple module-level variable, so expensive unchanged required modules can stay
loaded while makefile target definitions are refreshed.
racket-makefile 0.3.0
0.1.6
Breaking redesign of the makefile model.
Fixed the raco helper test for the Racket package build service: raco help
legitimately writes usage text to stderr, while raco test --drdr treats any
stderr output as a test failure. The test now captures child stdout/stderr.
Changed list-dir/files so its regexp matches only the entry name returned by
file-name-from-path, instead of the complete path.
The separate #lang racket-makefile language has been removed. Use #lang racket with
(require racket-makefile), or #lang rash with (require racket-makefile/rash).
0.1.5
Added the (makefile prefix ...) form. Target, phony, and default-target declarations
are clauses inside makefile and are no longer valid as standalone declarations.
Added raco helper for invoking Racket tools from makefile recipes.
The helper prefers the raco executable from the current Racket installation,
then the directory of the current racket executable, and uses PATH only as a
fallback.
Added documentation and tests for raco command execution.
Each static target clause defines a real named procedure. For example
(makefile wiki (target status ...)) defines makefile-target-wiki-status.
0.1.4
Added a global prefix-aware target procedure registry. make resolves a target in the
active prefix, performs dependency/timestamp processing, and invokes the registered
procedure.
Replaced files-for-regexp, list-dir-re, list-dir-re-r, and filter-dirs with
list-dir/files, list-files, and list-dirs.
All three helpers support optional #:recursive #t traversal.
Non-recursive results use complete paths so they can be passed directly to
rm-f and rm-rf.
Updated tests, examples, README, and Scribble documentation.
The last evaluated makefile form sets current-makefile-prefix. Multiple prefixes can
remain registered at the same time.
0.1.3
Added recursive and non-recursive regexp directory helpers:
files-for-regexp, list-dir-re, list-dir-re-r, and filter-dirs.
Added documentation and an example for regexp-based cleanup with rm-f/rm-rf.
0.1.2
Makefile loading no longer starts a build automatically.
Added explicit make form: (make), (make target), and (make target ...).
Command-line use is now: racket -t Makefile.rkt -e "(make target)".
DrRacket can load the makefile with Run and execute make forms interactively.
Bare identifiers in make are always interpreted as literal target names.
Expanded documentation and examples for command-line and DrRacket use.
0.1.1
Initial racket-makefile language implementation.
Targets and dependencies with timestamp based rebuilding.
Phony and default targets.
Direct external command execution with run.
Recipe values $target, $deps and $<.
Cleanup helpers rm-f, rm-rf and cleanup.
Scribble documentation and example Makefile.
racket-makefile/rash continues to keep make as a normal Racket procedure while adding
Rash line syntax such as `make all`.