Initial Commit
This commit is contained in:
+39
@@ -0,0 +1,39 @@
|
||||
# GNUmakefile
|
||||
|
||||
include Makefile
|
||||
|
||||
# ─── Adições ────────────────────────────────────────────────────
|
||||
CXX_SOURCES := $(wildcard Src/*.cpp)
|
||||
CXX_OBJECTS := $(addprefix $(BUILD_DIR)/,$(notdir $(CXX_SOURCES:.cpp=.o)))
|
||||
|
||||
C_INCLUDES += \
|
||||
-ILib/YMF262/Inc \
|
||||
-ISrc
|
||||
|
||||
CXX = arm-none-eabi-g++
|
||||
CXXFLAGS = $(MCU) $(C_DEFS) $(C_INCLUDES) $(OPT) \
|
||||
-Wall -fdata-sections -ffunction-sections \
|
||||
-g -gdwarf-2 -std=c++17 -fno-exceptions -fno-rtti
|
||||
|
||||
vpath %.cpp Src
|
||||
|
||||
# Regra de compilação C++
|
||||
$(BUILD_DIR)/%.o: %.cpp GNUmakefile | $(BUILD_DIR)
|
||||
$(CXX) -c $(CXXFLAGS) -MMD -MP -MF"$(@:%.o=%.d)" $< -o $@
|
||||
|
||||
# Sobrescreve a regra de link injetando CXX_OBJECTS
|
||||
$(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) $(CXX_OBJECTS) Makefile
|
||||
$(CC) $(OBJECTS) $(CXX_OBJECTS) $(LDFLAGS) -o $@
|
||||
$(SZ) $@
|
||||
|
||||
# ─── Doxygen ────────────────────────────────────────────────────
|
||||
docs/latex/refman.tex: $(wildcard Lib/YMF262/Inc/*.h) $(wildcard Lib/YMF262/Src/*.c) Doxyfile
|
||||
doxygen Doxyfile
|
||||
|
||||
docs/latex/refman.pdf: docs/latex/refman.tex
|
||||
$(MAKE) -C docs/latex
|
||||
|
||||
doxygen: docs/latex/refman.tex
|
||||
doxygen-pdf: docs/latex/refman.pdf
|
||||
|
||||
.PHONY: doxygen doxygen-pdf
|
||||
Reference in New Issue
Block a user