public
Description: Reia is a Ruby/Python-like language for BEAM, the Erlang VM
Homepage: http://reia-lang.org
Clone URL: git://github.com/tarcieri/reia.git
reia / Makefile
100644 76 lines (52 sloc) 1.489 kb
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
VERSION =
PREFIX = /usr/local
 
# todo: get erlang dir with code:lib_dir()
ERLANG_LIB = $(PREFIX)/lib/erlang/lib
REIA_LIB = $(ERLANG_LIB)/reia$(VERSION)
 
PARSER_SRC = src/**/*.xrl src/**/*.yrl
ERL_SRC = src/compiler/*.erl src/builtins/*.erl src/core/*.erl
REIA_SRC = src/builtins/*.re src/core/*.re
 
REIA_FILE =
 
# todo: erlang version check
all: build test
 
build: leex parser reia
 
erl_compile:
bin/erlc -o ebin +debug_info $(ERL_SRC)
 
reia_compile:
bin/reiac ${REIA_SRC}
 
reia: erl_compile reia_compile ebin_mv
 
ebin_mv:
mv *.beam ebin
 
# Leex (lexer generator for Erlang)
leex: src/leex/leex.beam ebin/reia_scan.beam
 
src/leex/leex.beam:
erlc -W0 -o src/leex src/leex/leex.erl
 
# Compile reia_scan using leex
ebin/reia_scan.beam: src/leex/leex.beam
bin/leex src/compiler/reia_scan.xrl
erlc +debug_info +nowarn_unused_vars -o ebin src/compiler/reia_scan.erl
 
parser: ebin/reia_parse.beam
 
ebin/reia_parse.beam:
bin/yecc src/compiler/reia_parse.yrl
erlc +debug_info -o ebin src/compiler/reia_parse.erl
 
test: build
bin/reia test/runner.re
 
install: uninstall
mkdir $(REIA_LIB)
  
cp LICENSE $(REIA_LIB)
cp README.textile $(REIA_LIB)
cp -r ebin $(REIA_LIB)
cp -r src $(REIA_LIB)
cp -r lib $(REIA_LIB)
 
cp bin/ire $(PREFIX)/bin
cp bin/reia $(PREFIX)/bin
 
uninstall:
-rm -r $(REIA_LIB)
-rm $(PREFIX)/bin/ire
-rm $(PREFIX)/bin/reia
 
clean: distclean
 
distclean:
rm -f ebin/*
rm -f src/compiler/reia_scan.erl src/compiler/reia_parse.erl
 
ci: distclean test
 
cruise: ci