-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathMakefile
52 lines (39 loc) · 1.19 KB
/
Makefile
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
PREFIX = ${HOME}/.blodwen
export BLODWEN_PATH = ${CURDIR}/prelude/build:${CURDIR}/base/build
export BLODWEN_DATA = ${CURDIR}/support
.PHONY: ttimp blodwen prelude test base clean lib_clean
all: ttimp blodwen prelude base test
ttimp:
idris --build ttimp.ipkg
blodwen: src/BlodwenPaths.idr
idris --build blodwen.ipkg
src/BlodwenPaths.idr:
echo 'module BlodwenPaths; export bprefix : String; bprefix = "${PREFIX}"' > src/BlodwenPaths.idr
prelude:
make -C prelude BLODWEN=../blodwen
base: prelude
make -C base BLODWEN=../blodwen
libs : prelude base
clean: lib_clean
make -C src clean
make -C tests clean
rm -f blodwen
rm -f runtests
rm -f ttimp
lib_clean:
make -C prelude clean
make -C base clean
test:
idris --build test.ipkg
make -C tests
install:
mkdir -p ${PREFIX}/bin
mkdir -p ${PREFIX}/blodwen/support/chez
mkdir -p ${PREFIX}/blodwen/support/chicken
mkdir -p ${PREFIX}/blodwen/support/racket
make -C prelude install BLODWEN=../blodwen
make -C base install BLODWEN=../blodwen
install blodwen ${PREFIX}/bin
install support/chez/* ${PREFIX}/blodwen/support/chez
install support/chicken/* ${PREFIX}/blodwen/support/chicken
install support/racket/* ${PREFIX}/blodwen/support/racket