Skip to content
Snippets Groups Projects
Commit 95b4ad11 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Makefiles: quiet mode, optional info output

parent a6627709
No related branches found
No related tags found
No related merge requests found
......@@ -7,6 +7,12 @@ CXXFLAGS = -std=c++14
TARGETS = src/app/${app}/main.cc src/os/object/cpp_helpers.cc src/os/object/outputstream.cc
QUIET = @
ifneq (${verbose}, )
QUIET =
endif
include src/app/${app}/Makefile.inc
ifneq ($(findstring lm75,${drivers}), )
......@@ -118,4 +124,6 @@ help: arch_help
@echo "Global architectures:"
@echo " $(shell ls src/arch)"
.PHONY: clean help
info: arch_info
.PHONY: clean help info
......@@ -4,6 +4,8 @@ MCU = atmega168
PORT = /dev/ttyUSB0
BAUD = 19200
cpu_freq ?= 16000000
COMMON_FLAGS += -Werror=overflow
COMMON_FLAGS += -mmcu=${MCU} -DF_CPU=16000000UL -DMULTIPASS_ARCH_arduino_nano
COMMON_FLAGS += -flto
......@@ -37,38 +39,35 @@ ifneq ($(findstring timer,${arch_drivers}), )
TARGETS += src/arch/arduino-nano/driver/timer.cc
endif
ifneq (${i2c_freq}, )
COMMON_FLAGS += -DF_I2C=${i2c_freq}
endif
ifneq (${timer_freq}, )
COMMON_FLAGS += -DF_TIMER=${timer_freq}
endif
OBJECTS = ${TARGETS:.cc=.o}
.cc.o:
${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} -c -o $@ ${@:.o=.cc}
${QUIET}${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} -c -o $@ ${@:.o=.cc}
build/system.elf: ${OBJECTS}
${CXX} ${COMMON_FLAGS} ${CXXFLAGS} -Wl,--gc-sections -o $@ ${OBJECTS}
avr-size --format=avr --mcu=${MCU} $@
${QUIET}${CXX} ${COMMON_FLAGS} ${CXXFLAGS} -Wl,--gc-sections -o $@ ${OBJECTS}
${QUIET}avr-size --format=avr --mcu=${MCU} $@
build/system.hex: build/system.elf
${OBJCOPY} -O ihex ${@:.hex=.elf} $@
${QUIET}${OBJCOPY} -O ihex ${@:.hex=.elf} $@
program: build/system.hex
avrdude -p ${MCU} -c arduino -P ${PORT} -b ${BAUD} -U flash:w:build/system.hex
${QUIET}avrdude -p ${MCU} -c arduino -P ${PORT} -b ${BAUD} -U flash:w:build/system.hex
arch_clean:
rm -f ${OBJECTS} build/system.hex
${QUIET}rm -f ${OBJECTS} build/system.hex
monitor:
screen ${PORT} 115200
${QUIET}screen ${PORT} 115200
arch_help:
@echo "arduino-nano specific flags:"
@echo " PORT = ${PORT}"
@echo " BAUD = ${BAUD} (only used for programming)"
.PHONY: arch_clean arch_help monitor program
arch_info:
@echo "CPU Freq: ${cpu_freq} Hz"
@echo "Timer Freq: ${timer_freq} Hz"
@echo "I2C Freq: ${i2c_freq} Hz"
.PHONY: arch_clean arch_help arch_info monitor program
......@@ -4,6 +4,8 @@ MCU = atmega328p
PORT = /dev/ttyUSB0
BAUD = 57600
cpu_freq ?= 16000000
COMMON_FLAGS += -Werror=overflow
COMMON_FLAGS += -mmcu=${MCU} -DF_CPU=16000000UL -DMULTIPASS_ARCH_arduino_nano
COMMON_FLAGS += -flto
......@@ -40,27 +42,32 @@ endif
OBJECTS = ${TARGETS:.cc=.o}
.cc.o:
${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} -c -o $@ ${@:.o=.cc}
${QUIET}${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} -c -o $@ ${@:.o=.cc}
build/system.elf: ${OBJECTS}
${CXX} ${COMMON_FLAGS} ${CXXFLAGS} -Wl,--gc-sections -o $@ ${OBJECTS}
avr-size --format=avr --mcu=${MCU} $@
${QUIET}${CXX} ${COMMON_FLAGS} ${CXXFLAGS} -Wl,--gc-sections -o $@ ${OBJECTS}
${QUIET}avr-size --format=avr --mcu=${MCU} $@
build/system.hex: build/system.elf
${OBJCOPY} -O ihex ${@:.hex=.elf} $@
${QUIET}${OBJCOPY} -O ihex ${@:.hex=.elf} $@
program: build/system.hex
avrdude -p ${MCU} -c arduino -P ${PORT} -b ${BAUD} -U flash:w:build/system.hex
${QUIET}avrdude -p ${MCU} -c arduino -P ${PORT} -b ${BAUD} -U flash:w:build/system.hex
arch_clean:
rm -f ${OBJECTS} build/system.hex
${QUIET}rm -f ${OBJECTS} build/system.hex
monitor:
screen ${PORT} 115200
${QUIET}screen ${PORT} 115200
arch_help:
@echo "arduino-nano specific flags:"
@echo " PORT = ${PORT}"
@echo " BAUD = ${BAUD} (only used for programming)"
.PHONY: arch_clean arch_help monitor program
arch_info:
@echo "CPU Freq: ${cpu_freq} Hz"
@echo "Timer Freq: ${timer_freq} Hz"
@echo "I2C Freq: ${i2c_freq} Hz"
.PHONY: arch_clean arch_help arch_info monitor program
......@@ -52,4 +52,9 @@ arch_help:
@echo "blinkenrocket specific flags:"
@echo " PORT = ${PORT}"
.PHONY: arch_clean arch_help monitor program
arch_info:
@echo "CPU Freq: ${cpu_freq} Hz"
@echo "Timer Freq: ${timer_freq} Hz"
@echo "I2C Freq: ${i2c_freq} Hz"
.PHONY: arch_clean arch_help arch_info monitor program
......@@ -65,4 +65,6 @@ arch_help:
@echo "esp8266 specific flags:"
@echo " - none -"
.PHONY: arch_clean arch_help monitor program
arch_info:
.PHONY: arch_clean arch_help arch_info monitor program
......@@ -3,9 +3,10 @@
CPU = 430x
MCU = msp430fr5969
cpu_freq ?= 16000000
INCLUDES += -I/opt/msp430/ti/gcc/include
COMMON_FLAGS += -mcpu=${CPU} -mmcu=${MCU} -DMULTIPASS_ARCH_msp430fr5969lp
COMMON_FLAGS += -DF_CPU=16000000UL
COMMON_FLAGS += -DMULTIPASS_ARCH_HAS_I2C
CC = /opt/msp430/ti/gcc/bin/msp430-elf-gcc
......@@ -47,33 +48,45 @@ ifneq ($(findstring timer,${arch_drivers}), )
TARGETS += src/arch/msp430fr5969lp/driver/timer.cc
endif
ifneq (${cpu_freq}, )
COMMON_FLAGS += -DF_CPU=${cpu_freq}UL
else
COMMON_FLAGS += -DF_CPU=16000000UL
endif
OBJECTS = ${TARGETS:.cc=.o}
.cc.o:
${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} -c -o $@ ${@:.o=.cc}
${QUIET}${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} -c -o $@ ${@:.o=.cc}
build/system.elf: ${OBJECTS}
${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} \
${QUIET}${CXX} ${INCLUDES} ${COMMON_FLAGS} ${CXXFLAGS} \
-Wl,--library-path=/opt/msp430/ti/gcc/include/ \
-flto -o $@ ${OBJECTS}
build/system.hex: build/system.elf
${OBJCOPY} -O ihex ${@:.hex=.elf} $@
${QUIET}${OBJCOPY} -O ihex ${@:.hex=.elf} $@
program: build/system.hex
LD_LIBRARY_PATH=/home/derf/var/projects/msp430/MSP430Flasher_1.3.7 \
${QUIET}LD_LIBRARY_PATH=/home/derf/var/projects/msp430/MSP430Flasher_1.3.7 \
/home/derf/var/projects/msp430/MSP430Flasher_1.3.7/MSP430Flasher \
-w build/system.hex -v -g -z '[VCC]'
arch_clean:
rm -f ${OBJECTS}
rm -f build/system.hex
${QUIET}rm -f ${OBJECTS}
${QUIET}rm -f build/system.hex
monitor:
screen /dev/ttyACM1 115200
${QUIET}screen /dev/ttyACM1 115200
arch_help:
@echo "msp430fR5969lp specific flags:"
@echo " - none -"
.PHONY: arch_clean arch_help monitor program
arch_info:
@echo "CPU Freq: ${cpu_freq} Hz"
@echo "Timer Freq: ${timer_freq} Hz"
@echo "I2C Freq: ${i2c_freq} Hz"
.PHONY: arch_clean arch_help arch_info monitor program
......@@ -35,4 +35,6 @@ arch_help:
@echo "posix specific flags:"
@echo " - none -"
.PHONY: arch_clean arch_help monitor program run
arch_info:
.PHONY: arch_clean arch_help arch_info monitor program run
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment