-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile.in
More file actions
56 lines (42 loc) · 1.5 KB
/
Copy pathMakefile.in
File metadata and controls
56 lines (42 loc) · 1.5 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
LNAME := rw_top_trumps
ENAME := test_rw_top_trumps
CXXFLAGS := -std=c++11 -g
ifeq ($(OS),Windows_NT)
LIBNAME := $(LNAME).dll
else
LIBNAME := lib$(LNAME).so
CXXFLAGS += -fPIC
endif
WFLAGS := -Wall -Wpedantic -Wextra
LDFLAGS += '-Wl,-rpath,$$ORIGIN' -L.
LIBFLAG := -l$(LNAME)
srcfiles := utils/Hoy.cpp utils/Hoy2.cpp simulation/Card.cpp simulation/Deck.cpp simulation/Agent.cpp simulation/Game.cpp simulation/Outcome.cpp
objects := $(patsubst %.cpp, %.o, $(srcfiles))
mainfiles:= main.cpp tests/DeckTest.cpp tests/AgentTest.cpp tests/GameTest.cpp
mains := $(patsubst %.cpp, %.o, $(mainfiles))
all: $(LNAME) $(ENAME) TopTrumpsExec DeckTest AgentTest GameTest
$(LNAME): $(objects)
$(CXX) $(CXXFLAGS) $(WFLAGS) -shared -o $(LIBNAME) $(LNAME).cpp $(objects)
$(ENAME): $(objects)
gcc -std=c89 $(WFLAGS) $(LDFLAGS) -o $(ENAME) $(ENAME).c $(LIBFLAG)
TopTrumpsExec: $(objects)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o TopTrumpsExec main.cpp $(objects) $(LIBFLAG)
DeckTest: $(objects)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o DeckTest tests/DeckTest.cpp $(objects) $(LIBFLAG)
AgentTest: $(objects)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o AgentTest tests/AgentTest.cpp $(objects) $(LIBFLAG)
GameTest: $(objects)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o GameTest tests/GameTest.cpp $(objects) $(LIBFLAG)
depend: .depend
.depend: $(srcfiles)
rm -f ./.depend
$(CXX) $(CXXFLAGS) -MM $^>>./.depend;
clean:
rm -f $(objects) $(mains)
rm -f *.exe
rm -f $(LIBNAME)
rm -f $(LNAME)
rm -f $(ENAME)
dist-clean: clean
rm -f *~ .depend
include .depend