-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
39 lines (26 loc) · 681 Bytes
/
Makefile
File metadata and controls
39 lines (26 loc) · 681 Bytes
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
CXX= g++
CPPFLAGS= -std=c++03 -Wall -Wextra -frtti -O0 -g
SOURCEDIR = ./src
BUILDDIR = ./build
BINARIES= yamp.out
SOURCESPURE= main.cpp lex.cpp synt.cpp exec.cpp builtins.cpp
SOURCES = $(patsubst %, $(SOURCEDIR)/%, $(SOURCESPURE))
OBJS=$(patsubst %.cpp, $(BUILDDIR)/%.o, $(SOURCESPURE))
all: $(BINARIES)
$(BUILDDIR)/deps.mk: $(SOURCES)
mkdir -p $(BUILDDIR)
rm -f $@
$(CC) -MM $^ >> $@
include $(BUILDDIR)/deps.mk
yamp.out: $(OBJS)
$(CXX) $(CPPFLAGS) $^ -o $@
$(BUILDDIR)/%.o: $(SOURCEDIR)/%.cpp
$(CXX) $(CPPFLAGS) -c $^ -o $@
run: md.out
./md.out
clean:
rm -f $(BUILDDIR)/*.o
distclean: clean
rm -rf $(BUILDDIR)
rm -f $(BINARIES)
#include $(SOURCES:%.c=%.d)