vibe coding an orbital mechanics simulation to try out claude code
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.
 
 
 
 
 

57 lines
1.4 KiB

CXX = g++
CXXFLAGS = -Wall -Wextra -g -ggdb3 -std=c++14 \
-I./src \
-isystem./ext/tomlc17/src
LDFLAGS = -lm
SRC_DIR = src
BUILD_DIR ?= build
TEST_DIR = tests
CPP_SOURCES := $(wildcard $(SRC_DIR)/*.cpp)
C_SOURCES = ext/tomlc17/src/tomlc17.c
TEST_SOURCES := $(wildcard $(TEST_DIR)/*.cpp)
CPP_OBJECTS = $(CPP_SOURCES:$(SRC_DIR)/%.cpp=$(BUILD_DIR)/%.o)
C_OBJECTS = $(BUILD_DIR)/tomlc17.o
TEST_OBJECTS := $(patsubst $(TEST_DIR)/%.cpp, $(BUILD_DIR)/%.o, $(TEST_SOURCES))
LIBRARY = $(BUILD_DIR)/liborbit.a
all: lib test-build example
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
$(CPP_OBJECTS): $(BUILD_DIR)/%.o : $(SRC_DIR)/%.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
$(C_OBJECTS): $(BUILD_DIR)/%.o : $(C_SOURCES)
$(CC) -Wall -Wextra -g -ggdb3 -std=c99 -I./src -I./ext/tomlc17/src -c $< -o $@
lib: $(BUILD_DIR) $(C_OBJECTS) $(CPP_OBJECTS)
ar rcs $(LIBRARY) $(C_OBJECTS) $(CPP_OBJECTS)
@echo "Built $(LIBRARY)"
$(TEST_OBJECTS): $(BUILD_DIR)/%.o : $(TEST_DIR)/%.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
test-build: lib $(BUILD_DIR) $(TEST_OBJECTS)
$(CXX) $(TEST_OBJECTS) -o $(BUILD_DIR)/orbit_test -L$(BUILD_DIR) -lorbit -lCatch2Main -lCatch2 -lm
test: test-build
./$(BUILD_DIR)/orbit_test
example: lib
$(MAKE) -C example all BUILD_DIR=../$(BUILD_DIR)
clean:
rm -rf $(BUILD_DIR) $(LIBRARY)
$(MAKE) -C example clean
clean-all: clean
$(MAKE) -C example clean-all
rebuild: clean all
.PHONY: all lib test-build test example clean clean-all rebuild