Commit 95b4ad11 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Makefiles: quiet mode, optional info output

parent a6627709
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -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
+15 −16
Original line number Diff line number Diff line
@@ -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
+15 −8
Original line number Diff line number Diff line
@@ -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
+6 −1
Original line number Diff line number Diff line
@@ -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
+3 −1
Original line number Diff line number Diff line
@@ -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
Loading