1
0
Fork 0
2018-soft-3d-renderer/Makefile

56 lines
1.1 KiB
Makefile
Raw Normal View History

# Verbosity of make output
ifeq ("$(VERBOSE)","1")
V :=
else
V := @
endif
# Debugging
ifeq ("$(DEBUG)","0")
D :=
else
D := -g
endif
# Optimizations
ifeq ("$(OPTIMIZE)","1")
O := -O1
else ifeq ("$(OPTIMIZE)", "2")
O := -O2
else ifeq ("$(OPTIMIZE)", "3")
O := -O3
else
O := -O0
endif
SRC_DIR=src
INCLUDE_DIR=include
BUILD_DIR=build
CC=clang++
WARNINGS_ON=-Weverything
WARNINGS_OFF=-Wno-missing-braces -Wno-gnu-anonymous-struct -Wno-old-style-cast\
-Wno-zero-as-null-pointer-constant -Wno-nested-anon-types\
2018-09-05 02:50:27 +00:00
-Wno-padded -Wno-exit-time-destructors -Wno-global-constructors
CFLAGS=$(D) $(O) -std=c++11 $(WARNINGS_ON) $(WARNINGS_OFF) -I$(INCLUDE_DIR)
LIBS=-lSDL2
2018-09-05 02:50:27 +00:00
_HEADERS = engine.h loader.h geometry.h platform.h point.h util.h
HEADERS = $(patsubst %,$(INCLUDE_DIR)/%,$(_HEADERS))
2018-09-05 02:50:27 +00:00
_OBJS = engine.o loader.o main.o platform.o
OBJS = $(patsubst %,$(BUILD_DIR)/%,$(_OBJS))
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp $(HEADERS)
@ if [ ! -d $(BUILD_DIR) ]; then mkdir $(BUILD_DIR); fi
$(V) $(CC) -c -o $@ $< $(CFLAGS)
$(BUILD_DIR)/engine: $(OBJS)
$(V) $(CC) -o $@ $^ $(CFLAGS) $(LIBS)
.PHONY: clean
clean:
rm -rf $(BUILD_DIR)