-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
33 lines (24 loc) · 818 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
30
31
32
33
# -*- MakeFile -*-
CXX=g++
INC_DIR=include
SRC_DIR=src
OBJ_DIR=build
OPT=-O2
CXXFLAGS=-c -Wall -Wextra -I$(INC_DIR) $(OPT) -o $@
LIBS=-lsfml-system -lsfml-window -lsfml-graphics
TARGET=amaze
all: $(OBJ_DIR) $(TARGET)
$(OBJ_DIR):
@mkdir -p $@
$(TARGET): $(OBJ_DIR)/main.o $(OBJ_DIR)/Maze.o $(OBJ_DIR)/Game.o
$(CXX) $^ -o $@ $(LIBS)
@strip --strip-unneeded $(TARGET)
$(OBJ_DIR)/main.o: $(SRC_DIR)/main.cpp $(INC_DIR)/Game.hpp
$(CXX) $(CXXFLAGS) $(SRC_DIR)/main.cpp
$(OBJ_DIR)/Maze.o: $(SRC_DIR)/Maze.cpp $(INC_DIR)/Maze.hpp $(INC_DIR)/Game.hpp $(INC_DIR)/Direction.hpp
$(CXX) $(CXXFLAGS) $(SRC_DIR)/Maze.cpp
$(OBJ_DIR)/Game.o: $(SRC_DIR)/Game.cpp $(INC_DIR)/Game.hpp $(INC_DIR)/Maze.hpp $(INC_DIR)/Direction.hpp
$(CXX) $(CXXFLAGS) $(SRC_DIR)/Game.cpp
clean:
rm -rf $(OBJ_DIR) $(TARGET)
remake: clean all