23 lines
416 B
Racket
23 lines
416 B
Racket
#lang racket-makefile
|
|
|
|
;; Ordinary Racket can generate targets and dependency lists.
|
|
|
|
(define sources '("foo.c" "bar.c" "baz.c"))
|
|
|
|
(define objects
|
|
(for/list ([src sources])
|
|
(define obj (path-replace-extension src #".o"))
|
|
(target obj
|
|
(deps src)
|
|
(run `(cc -c $< -o $target)))
|
|
obj))
|
|
|
|
(default-target all)
|
|
(phony all clean)
|
|
|
|
(target all
|
|
(deps objects))
|
|
|
|
(target clean
|
|
(apply rm-f objects))
|