-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
39 lines (25 loc) · 979 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
34
35
36
37
38
CXX=g++
CPPFLAGS=-g -Wall --std=c++11 -DGLEW_STATIC
LDLIBS=-L/usr/local/lib/ -lGL -lGLEW -lGLU -lsfml-graphics -lsfml-window -lsfml-system
SRC_FILES=$(wildcard src/*.cc) $(wildcard src/*/*.cc)
OBJ_FILES=$(subst .cc,.o,$(subst src,build,$(SRC_FILES)))
all: prep_out_dirs make_objs
make_objs: $(OBJ_FILES)
$(CXX) $^ -o openglgame $(LDLIBS)
prep_out_dirs:
mkdir -p build/collidable build/drawable build/sceneobject build/screenelement
build/%.o: src/%.cc src/%.h
$(CXX) -c $(CPPFLAGS) $< -o $@
build/main.o: src/main.cc
$(CXX) -c $(CPPFLAGS) $< -o $@
build/collidable/%.o: src/collidable/%.cc src/collidable/%.h
$(CXX) -c $(CPPFLAGS) $< -o $@
build/drawable/%.o: src/drawable/%.cc src/drawable/%.h
$(CXX) -c $(CPPFLAGS) $< -o $@
build/sceneobject/%.o: src/sceneobject/%.cc src/sceneobject/%.h
$(CXX) -c $(CPPFLAGS) $< -o $@
build/screenelement/%.o: src/screenelement/%.cc src/screenelement/%.h
$(CXX) -c $(CPPFLAGS) $< -o $@
clean:
rm -r build
rm openglgame