Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ###############################################################################
- ## MAKEFILE CONFIGURATION
- ###############################################################################
- OUTPUT_NAME:=main
- LIB_DIR:=/home/hazael/Documentos/VSCode/Cpp/SerialKodama/lib/m328p
- ###############################################################################
- ## PROJECT DEFINITIONS
- ###############################################################################
- PRJ_DEFS+=-D USART_TX_BUFFER_SIZE="64"
- PRJ_DEFS+=-D USART_RX_BUFFER_SIZE="32"
- PRJ_DEFS+=-D USART_CLOCK_RATE="9600UL"
- PRJ_DEFS+=-D TIMER0_RATE="1000UL"
- PRJ_DEFS+=-D TWI_BUFFER_SIZE="32"
- PRJ_DEFS+=-D TWI_CLOCK_RATE="100000UL"
- ###############################################################################
- ## AVRDUDE CONFIGURATION
- ###############################################################################
- BURN_BAUD:=57600
- BURN_PORT:=/dev/ttyACM1
- ###############################################################################
- ## DO NOT CHANGE ANYTHING BELOW THIS COMMENT
- ###############################################################################
- CC:=avr-gcc
- SRC_DIR:=src
- OBJ_DIR:=obj
- BIN_DIR:=bin
- SRC_FILES:=$(wildcard $(SRC_DIR)/*.c)
- OBJ_FILES:=$(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRC_FILES))
- LIB_SRC_FILES:=$(wildcard $(LIB_DIR)/src/*.c)
- LIB_OBJ_FILES:=$(patsubst $(LIB_DIR)/src/%.c,$(OBJ_DIR)/%.o,$(LIB_SRC_FILES))
- ALL_OBJ_FILES:=$(OBJ_FILES) $(LIB_OBJ_FILES)
- CXXFLAGS:=-g -O2 -ffunction-sections -fdata-sections -Wl,--gc-sections
- INCFLAGS:=-Iinclude -I$(LIB_DIR)/include
- WFLAGS:=-Wall
- ARCHFLAG:=-mmcu=atmega328p
- $(BIN_DIR)/$(OUTPUT_NAME).elf: $(ALL_OBJ_FILES) $(BIN_DIR)
- @$(CC) $(CXXFLAGS) $(WFLAGS) $(ARCHFLAG) $(LDFLAGS) -o $(BIN_DIR)/$(OUTPUT_NAME).elf $(ALL_OBJ_FILES)
- $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(OBJ_DIR)
- @$(CC) $(CXXFLAGS) $(PRJ_DEFS) $(WFLAGS) $(ARCHFLAG) $(INCFLAGS) -c $< -o $@
- $(OBJ_DIR)/%.o: $(LIB_DIR)/src/%.c $(OBJ_DIR)
- @$(CC) $(CXXFLAGS) $(PRJ_DEFS) $(WFLAGS) $(ARCHFLAG) -I$(LIB_DIR)/include -c $< -o $@
- $(OBJ_DIR):
- @mkdir -p $(OBJ_DIR)
- $(BIN_DIR):
- @mkdir -p $(BIN_DIR)
- burn: $(BIN_DIR)/$(OUTPUT_NAME).elf
- @avrdude -b$(BURN_BAUD) -P$(BURN_PORT) -carduino -pm328p -Uflash:w:$(BIN_DIR)/$(OUTPUT_NAME).elf:a
- clean:
- @rm -r $(OBJ_DIR)||:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement