File: Makefile

package info (click to toggle)
chezscheme 9.5.8%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 58,092 kB
  • sloc: ansic: 17,515; sh: 760; makefile: 509; csh: 430; asm: 56
file content (28 lines) | stat: -rw-r--r-- 1,124 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Unix make file to compile the examples.
# Compilation is not necessary since the examples may be loaded from
# source, but this gives an example of how to use make for Scheme.
# * To compile files not already compiled, type "make".  Only those
#   files in the object list below and not yet compiled will be compiled.
# * To compile all files, type "make all".  Only those files in the object
#   list below will be compiled.
# * To compile one file, say "fumble.ss", type "make fumble.so".  The
#   file need not be in the object list below.
# * To remove the object files, type "make clean".
# * To print the examples, type "make print".

src = def.ss edit.ss fact.ss fatfib.ss fft.ss fib.ss freq.ss interpret.ss\
 m4.ss macro.ss matrix.ss object.ss power.ss queue.ss rabbit.ss \
 scons.ss setof.ss socket.ss unify.ss compat.ss ez-grammar-test.ss
obj = ${src:%.ss=%.so}

Scheme = ../bin/scheme -q

.SUFFIXES:
.SUFFIXES: .ss .so
.ss.so: ; echo '(time (compile-file "$*"))' | ${Scheme}

needed:	${obj}

all: ; echo "(time (for-each compile-file (map symbol->string '(${src}))))" | ${Scheme}

clean: ; rm -f $(obj) expr.md