-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
28 lines (22 loc) · 826 Bytes
/
Makefile
File metadata and controls
28 lines (22 loc) · 826 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
CC = gcc
CXXFLAGS = -O2 -g -fmessage-length=0 -std=c++11
SOURCES := $(shell find src -name '*.cpp') $(shell find src -name '*.c')
OBJECTS := $(subst .c,.o,$(subst .cpp,.o,$(subst src/,build/,$(SOURCES))))
DIRECTORIES := $(sort $(dir $(OBJECTS)))
INC_PATHS = -Isrc -Istdcore -Imathcore
LIB_PATHS = -Lstdcore -Lmathcore
LDFLAGS = -lglfw -lGL -lGLU -lGLEW -lpthread -lstdcore -lmathcore
TARGET = Blaze
all: build $(TARGET)
$(TARGET): $(OBJECTS)
$(MAKE) -s $(MAKE_FLAGS) -C stdcore
$(MAKE) -s $(MAKE_FLAGS) -C mathcore
$(CXX) $(LIB_PATHS) $(CXXFLAGS) $(OBJECTS) $(LDFLAGS) -o $(TARGET)
build/%.o: src/%.cpp
$(CXX) $(INC_PATHS) $(CXXFLAGS) -c -o $@ $<
build/%.o: src/%.c
$(CC) $(INC_PATHS) $(CXXFLAGS) -c -o $@ $<
build:
mkdir $(DIRECTORIES)
clean:
rm -f $(OBJECTS) $(TARGET) $(TARGET).exe