-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
63 lines (55 loc) · 2.23 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
60
61
62
63
OUTBIN=tolk
CXX=g++
CXXFLAGS=-Wall -Wextra -std=c++14 -g3 -Wno-unused-parameter -I include -I dependencies/commons/include/ -I dependencies/network/include -I dependencies/DynGOT/include -I lib/
TOLKFILE=dependencies/commons/src/commons/tolkfile
UTILS=dependencies/commons/src/commons/utils
NETWORK=dependencies/network/src
DYNGOT=dependencies/DynGOT/src
OBJS=src/cpu/base_cpu.o\
src/cpu/registers.o\
src/interpreter/opcode_manager.o\
src/ressource/ressource.o\
src/environment.o\
src/interpreter/handlers/halt.o\
src/interpreter/handlers/arithmetic.o\
src/interpreter/handlers/stack.o\
src/interpreter/handlers/calls.o\
src/interpreter/handlers/parallel.o\
src/interpreter/handlers/jumps.o\
src/interpreter/handlers/objects.o\
src/interpreter/handlers/register.o\
src/args_parser.o\
src/loader.o\
src/main.o\
src/printer.o\
${TOLKFILE}/functable.o\
${TOLKFILE}/strtable.o\
${TOLKFILE}/symtable.o\
${TOLKFILE}/structtable.o\
${TOLKFILE}/tolk-file.o\
${NETWORK}/broadcaster.o\
${NETWORK}/listener.o\
${NETWORK}/server.o\
${NETWORK}/slave.o\
${NETWORK}/task.o\
${NETWORK}/service.o\
${NETWORK}/utils.o\
lib/random.o\
lib/print.o\
${DYNGOT}/dyngot.o
LIBS=lib/print.so lib/random.so
.PHONY: all clean
all: tolk
tolk: $(OBJS)
$(CXX) -o $(OUTBIN) $(OBJS) -pthread -ldl
libs: ${LIBS}
slibs: CXXFLAGS = -Wall -Wextra -m32 -std=c++14 -g3 -Wno-unused-parameter -I include -I dependencies/commons/include/ -I dependencies/network/include -I dependencies/DynGOT/include -I lib/
slibs: ${LIBS}
%.so : %.cc
$(CXX) -shared -fPIC -o $@ $^ ${CXXFLAGS}
# static linked binary
stolk: CXXFLAGS = -Wall -Wextra -static -m32 -std=c++14 -g3 -Wno-unused-parameter -I include -I dependencies/commons/include/ -I dependencies/network/include -I dependencies/DynGOT/include -I lib/
stolk: $(OBJS)
$(CXX) -static -m32 -o $(OUTBIN) $(OBJS) -pthread -ldl -Wl,-u,pthread_create,-u,pthread_once,-u,pthread_mutex_lock,-u,pthread_mutex_unlock,-u,pthread_join,-u,pthread_equal,-u,pthread_detach,-u,pthread_cond_wait,-u,pthread_cond_signal,-u,pthread_cond_destroy,-u,pthread_cond_broadcast,-u,pthread_cancel
clean:
rm -rf $(OBJS) $(OUTBIN) ${LIBS}