-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
executable file
·59 lines (42 loc) · 1.95 KB
/
Copy pathmakefile
File metadata and controls
executable file
·59 lines (42 loc) · 1.95 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
CC = clang
COPTIONS = -c -o
EXECNAME = vm
BINRELEASEDIR = bin/
OBJDIR = obj/
INCLUDEDIR = include/
INCLUDEDIR_TOOLS = include/tools/
SRCDIR = src/
SRCDIR_TOOLS = src/tools/
OBJ = main.o parser.o compiler.o bytecode.o virtualmachine.o string.o file.o utilities.o vector.o stack.o
OBJINDIR = obj/*.o
vm: $(OBJ)
$(CC) $(CFLAGS) $(OBJINDIR) -o $(BINRELEASEDIR)$(EXECNAME)
# THE MAIN FILE!
main.o: main.c
$(CC) $(CFLAGS) main.c $(COPTIONS) $(OBJDIR)main.o
# VM FILES ########################################################
# PARSER.H COMPILER.H
#
###################################################################
parser.o: $(SRCDIR)parser.c $(INCLUDEDIR)parser.h
$(CC) $(CFLAGS) $(SRCDIR)parser.c $(COPTIONS) $(OBJDIR)parser.o
compiler.o: $(SRCDIR)compiler.c $(INCLUDEDIR)compiler.h
$(CC) $(CFLAGS) $(SRCDIR)compiler.c $(COPTIONS) $(OBJDIR)compiler.o
bytecode.o: $(SRCDIR)bytecode.c $(INCLUDEDIR)bytecode.h
$(CC) $(CFLAGS) $(SRCDIR)bytecode.c $(COPTIONS) $(OBJDIR)bytecode.o
virtualmachine.o: $(SRCDIR)virtualmachine.c $(INCLUDEDIR)virtualmachine.h
$(CC) $(CFLAGS) $(SRCDIR)virtualmachine.c $(COPTIONS) $(OBJDIR)virtualmachine.o
# TOOLS FOLDER ####################################################
# UTILITIES.H VECTOR.H FILE.H STRING.H
#
###################################################################
utilities.o: $(SRCDIR_TOOLS)utilities.c $(INCLUDEDIR_TOOLS)utilities.h
$(CC) $(CFLAGS) $(SRCDIR_TOOLS)utilities.c $(COPTIONS) $(OBJDIR)utilities.o
vector.o: $(SRCDIR_TOOLS)vector.c $(INCLUDEDIR_TOOLS)vector.h
$(CC) $(CFLAGS) $(SRCDIR_TOOLS)vector.c $(COPTIONS) $(OBJDIR)vector.o
file.o: $(SRCDIR_TOOLS)file.c $(INCLUDEDIR_TOOLS)file.h
$(CC) $(CFLAGS) $(SRCDIR_TOOLS)file.c $(COPTIONS) $(OBJDIR)file.o
string.o: $(SRCDIR_TOOLS)string.c $(INCLUDEDIR_TOOLS)string.h
$(CC) $(CFLAGS) $(SRCDIR_TOOLS)string.c $(COPTIONS) $(OBJDIR)string.o
stack.o: $(SRCDIR_TOOLS)stack.c $(INCLUDEDIR_TOOLS)stack.h
$(CC) $(CFLAGS) $(SRCDIR_TOOLS)stack.c $(COPTIONS) $(OBJDIR)stack.o