Skip to content

Commit 3cc1a70

Browse files
committed
Changes for my computer
gitignore: added ./obj and *.dll Makefile: Renamed Thumperr's makefile and created my own src/Main.cpp Put the whole program in a try block
1 parent e1d0e83 commit 3cc1a70

File tree

4 files changed

+113
-35
lines changed

4 files changed

+113
-35
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
*.pdb
1111
*.ilk
1212
*.DS_Store
13+
*.dll
1314

1415
chesspp
1516
debug.txt
@@ -19,3 +20,4 @@ Debug/
1920
Release/
2021
libs/SFML-4fbefe7/build_vs11/
2122
bin/
23+
obj/

Makefile

+59-33
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,69 @@
1-
UNAME = $(shell uname -s)
1+
# A MinGW Makefile
2+
# As it uses -std=c++, g++ must be at least Version 4.7 ( $ g++ --version )
3+
# I ended up downloading this: http://nuwen.net/mingw.html
24

3-
COMPILER_Linux = g++
4-
CXX_FLAGS_Linux = -Wall -std=c++11
5-
DEBUG_LIBS_Linux = -lsfml-system-d -lsfml-window-d -lsfml-graphics-d
6-
RELEASE_LIBS_Linux = -lsfml-system -lsfml-window -lsfml-graphics
5+
CC = g++
6+
FLAGS = -Wall -std=c++11
7+
OFLAG = $(FLAGS) -c
78

8-
COMPILER_Darwin = clang++
9-
CXX_FLAGS_Darwin = -Wall -std=c++11 -stdlib=libc++
10-
CXX_INCLUDE_Darwin = -I/opt/local/include
11-
DEBUG_LIBS_Darwin = -framework SFML -framework sfml-system -framework sfml-window -framework sfml-graphics
12-
RELEASE_LIBS_Darwin = $(DEBUG_LIBS)
9+
INCLUDE = -I../../include
10+
LIBDIR = -L../../lib/sfml
11+
SOURCEDIR = ./src/
1312

14-
COMPILER = $(COMPILER_$(UNAME))
15-
CXX_FLAGS = $(CXX_FLAGS_$(UNAME))
16-
CXX_INCLUDE = $(CXX_INCLUDE_$(UNAME))
17-
DEBUG_LIBS = $(DEBUG_LIBS_$(UNAME))
18-
RELEASE_LIBS = $(RELEASE_LIBS_$(UNAME))
13+
ODIR = ./obj/
14+
OBJECTS = $(ODIR)Application.o $(ODIR)AppStateGame.o $(ODIR)Graphics.o\
15+
$(ODIR)Main.o $(ODIR)Pawn.o $(ODIR)Rook.o $(ODIR)Knight.o $(ODIR)Bishop.o\
16+
$(ODIR)Queen.o $(ODIR)King.o $(ODIR)Logger.o $(ODIR)Piece.o $(ODIR)Position.o\
17+
$(ODIR)Board.o
18+
EXECUTABLE = ChessPlusPlus.exe
1919

20-
DEBUG_PREPROCESSOR = -D_DEBUG
21-
RELEASE_PREPROCESSOR = -D_RELEASE
20+
LIBS = -lsfml-system -lsfml-window -lsfml-graphics
2221

23-
EXECUTABLE = chesspp
24-
TARGET = ../$(EXECUTABLE)
25-
SOURCE = $(shell cd src ; ls *.cpp) $(shell cd src ; ls board/*.cpp)
22+
$(EXECUTABLE): $(OBJECTS)
23+
$(CC) $(FLAGS) $(OBJECTS) -o $(EXECUTABLE) $(LIBDIR) $(LIBS)
2624

27-
all: debug
25+
$(ODIR)Application.o: $(SOURCEDIR)Application.cpp $(SOURCEDIR)Application.hpp
26+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)Application.cpp -o $(ODIR)Application.o
2827

29-
debug: CXX_PREPROCESSOR=$(DEBUG_PREPROCESSOR)
30-
debug: LIBS=$(DEBUG_LIBS)
31-
debug: main
28+
$(ODIR)AppStateGame.o: $(SOURCEDIR)AppStateGame.cpp $(SOURCEDIR)AppStateGame.hpp
29+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)AppStateGame.cpp -o $(ODIR)AppStateGame.o
3230

33-
release: CXX_PREPROCESSOR=$(RELEASE_PREPROCESSOR)
34-
release: LIBS=$(RELEASE_LIBS)
35-
release: main
31+
$(ODIR)Graphics.o: $(SOURCEDIR)Graphics.cpp $(SOURCEDIR)Graphics.hpp
32+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)Graphics.cpp -o $(ODIR)Graphics.o
3633

37-
main:
38-
cd src; \
39-
$(COMPILER) $(CXX_FLAGS) $(CXX_PREPROCESSOR) -o $(TARGET) $(CXX_INCLUDE) $(SOURCE) $(LIBS)
34+
$(ODIR)Main.o: $(SOURCEDIR)Main.cpp
35+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)Main.cpp -o $(ODIR)Main.o
4036

41-
ifeq ($(UNAME), Darwin)
42-
sh MacOS/bundle.sh
43-
endif
37+
$(ODIR)Pawn.o: $(SOURCEDIR)board/Pawn.cpp $(SOURCEDIR)board/Pawn.hpp
38+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/Pawn.cpp -o $(ODIR)Pawn.o
39+
40+
$(ODIR)Rook.o: $(SOURCEDIR)board/Rook.cpp $(SOURCEDIR)board/Rook.hpp
41+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/Rook.cpp -o $(ODIR)Rook.o
42+
43+
$(ODIR)Knight.o: $(SOURCEDIR)board/Knight.cpp $(SOURCEDIR)board/Knight.hpp
44+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/Knight.cpp -o $(ODIR)Knight.o
45+
46+
$(ODIR)Bishop.o: $(SOURCEDIR)board/Bishop.cpp $(SOURCEDIR)board/Bishop.hpp
47+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/Bishop.cpp -o $(ODIR)Bishop.o
48+
49+
$(ODIR)Queen.o: $(SOURCEDIR)board/Queen.cpp $(SOURCEDIR)board/Queen.hpp
50+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/Queen.cpp -o $(ODIR)Queen.o
51+
52+
$(ODIR)King.o: $(SOURCEDIR)board/King.cpp $(SOURCEDIR)board/King.hpp
53+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/King.cpp -o $(ODIR)King.o
54+
55+
$(ODIR)Logger.o: $(SOURCEDIR)board/Logger.cpp $(SOURCEDIR)board/Logger.hpp
56+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/Logger.cpp -o $(ODIR)Logger.o
57+
58+
$(ODIR)Piece.o: $(SOURCEDIR)board/Piece.cpp $(SOURCEDIR)board/Piece.hpp
59+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/Piece.cpp -o $(ODIR)Piece.o
60+
61+
$(ODIR)Position.o: $(SOURCEDIR)board/Position.cpp $(SOURCEDIR)board/Position.hpp
62+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/Position.cpp -o $(ODIR)Position.o
63+
64+
$(ODIR)Board.o: $(SOURCEDIR)board/Board.cpp $(SOURCEDIR)board/Board.hpp
65+
$(CC) $(OFLAG) $(INCLUDE) $(SOURCEDIR)board/Board.cpp -o $(ODIR)Board.o
66+
67+
68+
clean:
69+
rm $(OBJECTS) $(EXECUTABLE)

Makefile.Thumperr

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
UNAME = $(shell uname -s)
2+
3+
COMPILER_Linux = g++
4+
CXX_FLAGS_Linux = -Wall -std=c++11
5+
DEBUG_LIBS_Linux = -lsfml-system-d -lsfml-window-d -lsfml-graphics-d
6+
RELEASE_LIBS_Linux = -lsfml-system -lsfml-window -lsfml-graphics
7+
8+
COMPILER_Darwin = clang++
9+
CXX_FLAGS_Darwin = -Wall -std=c++11 -stdlib=libc++
10+
CXX_INCLUDE_Darwin = -I/opt/local/include
11+
DEBUG_LIBS_Darwin = -framework SFML -framework sfml-system -framework sfml-window -framework sfml-graphics
12+
RELEASE_LIBS_Darwin = $(DEBUG_LIBS)
13+
14+
COMPILER = $(COMPILER_$(UNAME))
15+
CXX_FLAGS = $(CXX_FLAGS_$(UNAME))
16+
CXX_INCLUDE = $(CXX_INCLUDE_$(UNAME))
17+
DEBUG_LIBS = $(DEBUG_LIBS_$(UNAME))
18+
RELEASE_LIBS = $(RELEASE_LIBS_$(UNAME))
19+
20+
DEBUG_PREPROCESSOR = -D_DEBUG
21+
RELEASE_PREPROCESSOR = -D_RELEASE
22+
23+
EXECUTABLE = chesspp
24+
TARGET = ../$(EXECUTABLE)
25+
SOURCE = $(shell cd src ; ls *.cpp) $(shell cd src ; ls board/*.cpp)
26+
27+
all: debug
28+
29+
debug: CXX_PREPROCESSOR=$(DEBUG_PREPROCESSOR)
30+
debug: LIBS=$(DEBUG_LIBS)
31+
debug: main
32+
33+
release: CXX_PREPROCESSOR=$(RELEASE_PREPROCESSOR)
34+
release: LIBS=$(RELEASE_LIBS)
35+
release: main
36+
37+
main:
38+
cd src; \
39+
$(COMPILER) $(CXX_FLAGS) $(CXX_PREPROCESSOR) -o $(TARGET) $(CXX_INCLUDE) $(SOURCE) $(LIBS)
40+
41+
ifeq ($(UNAME), Darwin)
42+
sh MacOS/bundle.sh
43+
endif

src/Main.cpp

+9-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
int main()
44
{
5-
chesspp::Application app;
6-
return app.Exec();
5+
try{
6+
chesspp::Application app;
7+
return app.Exec();
8+
}
9+
catch (chesspp::exception& ex){
10+
std::cout << "Caught in main: " << ex.what() << '\n';
11+
}
12+
13+
return 0;
714
}

0 commit comments

Comments
 (0)