-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
106 lines (77 loc) · 2.63 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
CC = gcc
CXX = g++
#EFLAGS = -fpic para compilar libreria std
EFLAGS = #-O1
PROTO_BUF = -pthread -lprotobuf -pthread -lpthread
FLAGS = $(EFLAGS) -ldl -lffi -Wall -lpthread -Wextra -g -Dcpu_arch=64 -DMAX_HEAP_PROGRAM=1000000
CFLAGS = -std=c99 $(FLAGS)
CXXFLAGS = -std=c++11 $(FLAGS)
#CXXFLAGS="-std=c++17 $(FLAGS) $(pkg-config --cflags protobuf)"
#LIBS="$(pkg-config --libs protobuf)"
DEBUG=false
LIB_TARGET = out/libDvVm.a
LIB_OBJ = src/DvVm/Vm.o \
src/numbers/numbers.o \
src/process/strings_sets.o \
src/strings/strings.o \
src/heap/heap.o \
src/stack/estack.o \
src/program/program.o \
src/process/cpu.o \
src/process/lib.o \
src/process/process.o
#src/process/native.o \
#src/process/natives.o \
#src/proto/objFile.pb.o descomentar para protobuf
#src/main.o
TARGET = out/DvVm
TARGET_DEBUG = out/DvVmDB
OBJ = src/main.o $(LIB_TARGET)
compile: $(TARGET)
printf "\n\033[1;32mDvVm compilado\033[0;0m\n"
$(LIB_TARGET): $(LIB_OBJ)
printf "\033[1;33mEmpaquetando: \033[1;34m%s\033[0;0m \033[0;0m\n" $@
ar rcs $@ $^
$(TARGET): $(OBJ)
printf "\033[1;31mCompilando principal: \033[1;34m%s\033[0;0m \033[0;0m\n" $@
$(CXX) -o $@ $^ $(CXXFLAGS) -DDEBUG=${DEBUG}
%.o: %.cpp
printf "\033[1;36mCompilando c++: \033[1;34m%s\033[0;0m -> \033[1;35m%s\033[0;0m \033[0;0m\n" $^ $@
$(CXX) -o $@ $(CXXFLAGS) -c $^ -DDEBUG=${DEBUG}
%.o: %.cc
printf "\033[1;36mCompilando c++: \033[1;34m%s\033[0;0m -> \033[1;35m%s\033[0;0m \033[0;0m\n" $^ $@
$(CXX) -o $@ $(CXXFLAGS) -c $^ -DDEBUG=${DEBUG}
%.o: %.c
printf "\033[1;36mCompilando c: \033[1;34m%s\033[0;0m -> \033[1;35m%s\033[0;0m \033[0;0m\n" $^ $@
$(CC) -o $@ $(CFLAGS) -c $^ -DDEBUG=${DEBUG}
clear:
rm src/numbers/numbers.o &
rm src/program/program.o &
rm src/strings/strings.o &
rm src/process/*.o &
rm src/heap/heap.o &
rm src/DvVm/Vm.o &
rm src/stack/estack.o &
#rm src/proto/*.o &
#rm src/main.o &
#SRC_FILES = src/numbers/* src/types.h src/program/* src/process/* src/proto/* src/heap/* src/DvVm/* src/stack/* src/main.cpp
#LIBS = -Ilib/bfp-master/lib -pthread -lprotobuf -pthread -lpthread
##-I/usr/local/include -L/usr/local/lib -faggressive-loop-optimizations -O3
#CPP_FLAGS= -Dcpu_arch=64 -Wall -Wextra -g -std=c++11 -DMAX_HEAP_PROGRAM=1000
#CPP = g++
#compile:
# ${CPP} ${SRC_FILES} ${CPP_FLAGS} ${LIBS} -DDEBUG=false -o out/DvVm
#compile_debug:
# ${CPP} ${SRC_FILES} ${CPP_FLAGS} ${LIBS} -DDEBUG=true -o out/DvVmDB
#
#run:
# ./out/DvVm ${ARGS}
#compile_run: compile
# ./out/DvVm ${ARGS}
#clear:
# rm out/*
compile_protos:
protoc --cpp_out=src/proto objFile.proto
#proto_java:
# mkdir java_proto
# protoc --java_out=./java_proto/ objFile.proto