-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathmakefile
42 lines (37 loc) · 1.28 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
MAIN=swift
CXX=g++
CXX_CFLAGS=-std=c++11 -Wall
LIB_FLAGS=-larmadillo
EXEC=$(MAIN)
SRC=src/absyn/*.cpp \
src/analyzer/*.cpp \
src/analyzer/ConjugatePriors/*.cpp \
src/ir/*.cpp \
src/fabrica/*.cpp \
src/msg/*.cpp \
src/predecl/*.cpp \
src/code/*.cpp \
src/codegen/*.cpp \
src/semant/*.cpp \
src/random/*.cpp \
src/printer/*.cpp \
src/preprocess/*.cpp \
src/util/*.cpp \
src/main.cpp \
src/parse/parser.cpp \
src/parse/lexer.cpp
YACCDIR=lib/byacc-20130925
help:
@echo 'Makefile for swift compiler '
@echo ' '
@echo 'Usage: '
@echo ' make compile compile the whole project '
@echo ' make genparser re-generate the parser '
@echo ' ./run-target.sh [model name] swift compile and run the model '
@echo ' '
compile: $(SRC)
$(CXX) $(CXX_CFLAGS) $(SRC) -o $(EXEC) $(LIB_FLAGS)
genparser: $(YACCDIR)/yacc
cd src/parse; flex -o lexer.cpp blog.flex; ../../$(YACCDIR)/yacc -v -d -o parser.cpp blog.yacc
$(YACCDIR)/yacc:
cd $(YACCDIR); ./configure; make