diff --git a/Makefile b/Makefile index 11dcbb702..35fb2a12d 100644 --- a/Makefile +++ b/Makefile @@ -369,7 +369,8 @@ include Makefile.split # Source code files LEVEL_C_FILES := $(wildcard levels/*/leveldata.c) $(wildcard levels/*/script.c) $(wildcard levels/*/geo.c) C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) $(LEVEL_C_FILES) -LIBZ_C_FILES := $(foreach dir,$(LIBZ_SRC_DIRS),$(wildcard $(dir)/*.c)) +CPP_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.cpp)) +LIBZ_C_FILES := $(foreach dir,$(LIBZ_SRC_DIRS),$(wildcard $(dir)/*.c)) GODDARD_C_FILES := $(foreach dir,$(GODDARD_SRC_DIRS),$(wildcard $(dir)/*.c)) S_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.s)) GENERATED_C_FILES := $(BUILD_DIR)/assets/mario_anim_data.c $(BUILD_DIR)/assets/demo_data.c @@ -390,6 +391,7 @@ SOUND_SEQUENCE_FILES := \ # Object files O_FILES := $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) \ + $(foreach file,$(CPP_FILES),$(BUILD_DIR)/$(file:.cpp=.o)) \ $(foreach file,$(S_FILES),$(BUILD_DIR)/$(file:.s=.o)) \ $(foreach file,$(GENERATED_C_FILES),$(file:.c=.o)) \ lib/PR/hvqm/hvqm2sp1.o lib/PR/hvqm/hvqm2sp2.o @@ -430,10 +432,12 @@ export LD_LIBRARY_PATH=./tools AS := $(CROSS)as ifeq ($(COMPILER),gcc) CC := $(CROSS)gcc + CXX := $(CROSS)g++ $(BUILD_DIR)/actors/%.o: OPT_FLAGS := -Ofast -mlong-calls $(BUILD_DIR)/levels/%.o: OPT_FLAGS := -Ofast -mlong-calls else ifeq ($(COMPILER),clang) CC := clang + CXX := clang++ endif # Prefer gcc's cpp if installed on the system ifneq (,$(call find-command,cpp-10)) @@ -832,6 +836,9 @@ endif $(BUILD_DIR)/%.o: %.c $(call print,Compiling:,$<,$@) $(V)$(CC) -c $(CFLAGS) -MMD -MF $(BUILD_DIR)/$*.d -o $@ $< +$(BUILD_DIR)/%.o: %.cpp + $(call print,Compiling (C++):,$<,$@) + $(V)$(CXX) -c $(CFLAGS) -std=c++17 -Wno-register -MMD -MF $(BUILD_DIR)/$*.d -o $@ $< $(BUILD_DIR)/%.o: $(BUILD_DIR)/%.c $(call print,Compiling:,$<,$@) $(V)$(CC) -c $(CFLAGS) -MMD -MF $(BUILD_DIR)/$*.d -o $@ $< diff --git a/include/types.h b/include/types.h index 2d5edbf70..81b4813f6 100644 --- a/include/types.h +++ b/include/types.h @@ -104,9 +104,6 @@ typedef Collision TerrainData; typedef Collision Vec3t[3]; typedef Collision SurfaceType; -typedef f32 Normal; -typedef Normal Vec3n[3]; - // -- Colors/Textures -- // 0.0f to 1.0f