A small OpenGL 3+ renderer and game engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

65 lines
1.6 KiB

SHELL = /bin/sh
CXX = g++
CXXFLAGS = -std=c++11 -g -ggdb3 -Wall \
-Iinclude \
-I/usr/include/SDL2 \
-Iext/stb_libs
EXAMPLEDIR = examples
OBJDIR = build
SRCDIR = src
LIBNAME = libTangerine.a
RENDER_SOURCES = $(wildcard $(SRCDIR)/*.cpp)
RENDER_OBJECTS = $(patsubst $(SRCDIR)/%.cpp, $(OBJDIR)/%.o, $(RENDER_SOURCES))
# NOTE: target to automatically build a current release of assimp. Fixes
# issue on Fedora where the default assimp version doesn't support glTF2
ASSIMP_DIR=ext/assimp
ifeq ($(USE_INTERNAL_ASSIMP), y)
CXXFLAGS += -I$(ASSIMP_DIR)/include
ASSIMP_LIB := $(ASSIMP_DIR)/build/code/libassimp.a
BUILD_ASSIMP_TARGET := build_assimp
endif
all: mkdirs $(BUILD_ASSIMP_TARGET) $(LIBNAME) examples
.PHONY: all
-include $(OBJDIR)/*.d
build_assimp:
@if [ ! -d $(ASSIMP_DIR) ]; then \
git clone -n "https://github.com/assimp/assimp" $(ASSIMP_DIR); \
cd $(ASSIMP_DIR); \
git checkout -q v5.0.1; \
fi
cmake -S $(ASSIMP_DIR) -B $(ASSIMP_DIR)/build \
-DBUILD_SHARED_LIBS=OFF \
-DASSIMP_BUILD_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF \
-DASSIMP_BUILD_ALL_EXPORTERS_BY_DEFAULT=OFF \
-DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=OFF \
-DASSIMP_BUILD_GLTF_IMPORTER=ON ./
$(MAKE) -C $(ASSIMP_DIR)/build
.PHONY: build_assimp
mkdirs:
@mkdir -p $(OBJDIR)
.PHONY: mkdirs
$(LIBNAME): $(RENDER_OBJECTS)
ar -crs $(OBJDIR)/$(LIBNAME) $(RENDER_OBJECTS)
$(RENDER_OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.cpp
$(CXX) $(CXXFLAGS) -c -MMD $< -o $@
examples: $(LIBNAME)
ASSIMP_DIR=$(ASSIMP_DIR) $(MAKE) -C $(EXAMPLEDIR)
.PHONY: examples
clean:
rm -rf $(OBJDIR)/*
$(MAKE) clean -C $(EXAMPLEDIR)
.PHONY: clean