-
Notifications
You must be signed in to change notification settings - Fork 7
/
Makefile
59 lines (47 loc) · 1.56 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
53
54
55
56
57
58
59
################################################################################
#
# Author: Paraita Wohler <paraita.wohler@gmail.com>
#
################################################################################
# libs TODO modifier selon l'architecture
BOOST_INC := -I/opt/local/include
BOOST_LIB := -L/opt/local/lib -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt
TBB_LIB := -ltbb
# arborescence
SRCDIR := src
BINDIR := bin
OBJDIR := obj
RESDIR := res
# compilers
CC := clang++ -c
LINK := clang++
# targets
EXECUTABLE := hftsim
SRC := Exceptions.cpp Order.cpp OrderBook.cpp Agent.cpp \
NewsServer.cpp Market.cpp LiquidityProvider.cpp \
NoiseTrader.cpp MarketMaker.cpp Plot.cpp Stats.cpp Simulator.cpp
OBJS := $(SRC:.cpp=.o)
LOBJS := $(patsubst %.o,$(OBJDIR)/%.o,$(OBJS))
# compile and link commands
TARGET := $(BINDIR)/$(EXECUTABLE)
LINKLINE := $(LINK) -o $(TARGET) $(LOBJS)
################################################################################
# General Rules
################################################################################
%.o : $(SRCDIR)/%.cpp
$(CC) $(CFLAGS) -o $(OBJDIR)/$@ -c $< $(BOOST_INC)
# user targets
all: arch-cible $(TARGET)
@echo "Finished OK"
arch-cible:
@echo "compilation on arch $(shell uname)"
$(TARGET): makedirs $(OBJS)
$(LINKLINE) $(BOOST_INC) $(BOOST_LIB) $(TBB_LIB)
makedirs:
@mkdir -p $(OBJDIR)
@mkdir -p $(BINDIR)
@mkdir -p $(RESDIR)
clean:
@echo "uoti, ma ro'a !"
-@rm -Rf $(OBJDIR) $(BINDIR) $(RESDIR) *.data
.PHONY: clean mrproper check-syntax $(TARGET) $(BINDIR) $(SRCDIR) $(OBJDIR)