-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
33 lines (24 loc) · 768 Bytes
/
makefile
File metadata and controls
33 lines (24 loc) · 768 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
EXECUTABLE = gk4
CC = g++
FLAGS = -std=c++17 -Wall -I ./src/ -I ./include/ -O3 -ggdb -D DEBUG=1 -fopenmp -DNO_X11=0
LIBS = -lstdc++ -lm -lGL -lGLU -lGLEW -lglfw -lX11 -lXxf86vm -lXrandr -lpthread -lXi -ldl -lXinerama -lXcursor
SRC_PATH = ./src
OBJ_PATH = ./obj
SOURCES := $(wildcard $(SRC_PATH)/*.cpp)
INCLUDES := $(wildcard $(SRC_PATH)/*.h)
OBJECTS := $(SOURCES:$(SRC_PATH)/%.cpp=$(OBJ_PATH)/%.o)
$(EXECUTABLE): $(OBJECTS)
@echo "Linking..."
$(CC) -o $@ $(OBJECTS) $(LIBS) $(FLAGS)
@echo "Done!"
$(OBJECTS): $(OBJ_PATH)/%.o: $(SRC_PATH)/%.cpp
@echo "Compiling $@..."
$(CC) -c -o $@ $< $(FLAGS)
.PHONY: clean run
clean:
rm -rf obj/*
mkdir -p obj
rm $(EXECUTABLE)
@echo "Cleaned!"
run:
make -j4 && ./${EXECUTABLE} ${ARGS}