-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
29 lines (20 loc) · 836 Bytes
/
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
CXX=g++
CXXFLAGS=-Wall -Wextra -Ilib -MMD -std=c++11
LIBS=-lm2pp -lzmq -ljson
CPP_FILES:= $(wildcard src/*.cpp)
OBJ_FILES:= $(addprefix obj/,$(notdir $(CPP_FILES:.cpp=.o)))
EXTERNAL_CPP_FILES:= $(wildcard external/src/*.cpp)
EXTERNAL_OBJ_FILES:= $(addprefix obj/ext/,$(notdir $(EXTERNAL_CPP_FILES:.cpp=.o)))
prefix=/usr/local
INCDIRS= -I. -I./src -I./external/include -I$(prefix)/include
LIBDIRS= -L./external/lib -L$(prefix)/lib
BOTBATTLE=smithers
all: main.m.cpp $(EXTERNAL_OBJ_FILES) $(OBJ_FILES)
$(CXX) -o $(BOTBATTLE).tsk $(CXXFLAGS) $(LIBDIRS) $(INCDIRS) $^ $(LIBS)
obj/%.o: src/%.cpp
$(CXX) $(CXXFLAGS) $(INCDIRS) -o $@ -c $<
obj/ext/%.o: external/src/%.cpp
$(CXX) $(CXXFLAGS) $(INCDIRS) -o $@ -c $<
clean:
$(RM) $(BOTBATTLE).tsk $(BOTBATTLE).o obj/*.o obj/*.d obj/ext/*.o obj/ext/*.d
-include $(OBJFILES:.o=.d)