renderd7/external/tween-engine/Makefile
2021-07-23 13:58:16 +00:00

45 lines
1.0 KiB
Makefile

PROJECT = libtween
CXX = arm-none-eabi-g++
AR = arm-none-eabi-ar
CXXFLAGS = -g -Wall -pedantic -std=c++11 -fno-rtti -fno-exceptions
INCLUDES = -Iinclude/
SOURCES = $(wildcard src/*.cpp) $(wildcard src/*/*.cpp)
OBJECTS = $(SOURCES:src/%.cpp=build/arm/%.o)
TEST_CXX = g++
TEST_AR = ar
TEST_CXXFLAGS = -g -Wall -pedantic -std=c++11 -fno-rtti -fno-exceptions -DTESTING
TEST_OBJECTS = $(SOURCES:src/%.cpp=build/test/%.o)
.PHONY: all dir clean test
all: dir $(PROJECT).a
test: dir $(PROJECT)-test.a
dir:
@mkdir -p build/arm/equations
@mkdir -p build/arm/paths
@mkdir -p build/test/equations
@mkdir -p build/test/paths
@mkdir -p lib
$(PROJECT).a: $(OBJECTS)
$(AR) rvs lib/$@ $^
$(PROJECT)-test.a: $(TEST_OBJECTS)
$(TEST_AR) rvs lib/$@ $^
clean:
@rm -rf build
@rm -rf lib
@echo "Successfully cleaned."
build/arm/%.o: src/%.cpp
$(CXX) $(INCLUDES) $(CXXFLAGS) -c $< -o $@
$(CXX) -MM $< > build/arm/$*.d
build/test/%.o: src/%.cpp
$(TEST_CXX) $(INCLUDES) $(TEST_CXXFLAGS) -c $< -o $@
$(TEST_CXX) -MM $< > build/test/$*.d