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.
44 lines
1.1 KiB
44 lines
1.1 KiB
|
|
OBJDIR := build |
|
SRCDIR := src |
|
LIBDIR := ext/tangerine |
|
TESTDIR := tests |
|
BINDIR := bin |
|
LIB := $(LIBDIR)/build/libTangerine.a |
|
|
|
CXX := g++ |
|
CXXFLAGS := -std=c++11 -g -ggdb3 -Wall -I$(LIBDIR)/include/ |
|
LDFLAGS := -lSDL2 -lGLEW -lGL -lassimp |
|
|
|
COMMON_SOURCES := $(SRCDIR)/orbits.cpp |
|
COMMON_OBJECTS := $(patsubst $(SRCDIR)/%.cpp, $(OBJDIR)/%.o, $(COMMON_SOURCES)) |
|
|
|
TEST_SOURCES := $(TESTDIR)/orbit_test.cpp |
|
TEST_OBJECTS := $(patsubst $(TESTDIR)/%.cpp, $(OBJDIR)/%.o, $(TEST_SOURCES)) |
|
TEST_BIN := $(BINDIR)/test_orbit |
|
|
|
SOURCES := $(SRCDIR)/main.cpp |
|
OBJECTS := $(patsubst $(SRCDIR)/%.cpp, $(OBJDIR)/%.o, $(SOURCES)) |
|
BIN := $(BINDIR)/orbital_shipping |
|
|
|
|
|
all: $(BIN) tests |
|
.PHONY: all |
|
|
|
-include $(OBJDIR)/*.d |
|
|
|
$(BIN): $(COMMON_OBJECTS) |
|
$(CXX) $(CXXFLAGS) -c -MMD $(SOURCES) -o $(OBJECTS) |
|
$(CXX) -o $(BIN) $(LDFLAGS) $(COMMON_OBJECTS) $(OBJECTS) $(LIB) |
|
|
|
tests: $(COMMON_OBJECTS) |
|
$(CXX) $(CXXFLAGS) -c -MMD $(TEST_SOURCES) -o $(TEST_OBJECTS) |
|
$(CXX) -o $(TEST_BIN) $(LDFLAGS) $(COMMON_OBJECTS) $(TEST_OBJECTS) $(LIB) |
|
.PHONY: tests |
|
|
|
$(COMMON_OBJECTS): $(COMMON_SOURCES) |
|
$(CXX) $(CXXFLAGS) -c -MMD $(SRCDIR)/orbits.cpp -o $@ |
|
|
|
clean: |
|
rm -rf $(OBJDIR)/* $(BIN) bin/test_orbit |
|
.PHONY: clean
|
|
|