Prettify makefile

This commit is contained in:
jaseg 2020-03-11 14:02:22 +01:00
parent 0af1a534e2
commit 03e8443e2e

View file

@ -1,4 +1,8 @@
########################################################################################################################
# Dependency directories
########################################################################################################################
CUBE_DIR ?= STM32CubeF4
CMSIS_DIR ?= cmsis
MSPDEBUG_DIR ?= mspdebug
@ -6,6 +10,38 @@ LIBSODIUM_DIR ?= libsodium
TINYAES_DIR ?= tinyaes
MUSL_DIR ?= musl
########################################################################################################################
# Algorithm parameters
########################################################################################################################
FMEAS_ADC_SAMPLING_RATE ?= 1000
FMEAS_ADC_MAX ?= 4096
FMEAS_FFT_LEN ?= 256
FMEAS_FFT_WINDOW ?= gaussian
FMEAS_FFT_WINDOW_SIGMA ?= 16.0
# TODO: validate
FMEAS_SAMPLING_RATE ?= $(shell echo $(FMEAS_ADC_SAMPLING_RATE) / \($(FMEAS_FFT_LEN)/2\) | bc -l)
DSSS_GOLD_CODE_NBITS ?= 5
DSSS_DECIMATION ?= 10
# TODO maybe auto adjust this based on detection rate?
DSSS_THESHOLD_FACTOR ?= 6.0f
DSSS_WAVELET_WIDTH ?= 7.3
DSSS_WAVELET_LUT_SIZE ?= 69
DSSS_FILTER_FC ?= 3e-3
DSSS_FILTER_ORDER ?= 12
PAYLOAD_DATA_BIT ?= 64
TRANSMISSION_SYMBOLS ?= 32
PRESIG_STORE_SIZE ?= 3
# will be generated if necessary
PRESIG_KEYFILE ?= presig_test_key.secret
########################################################################################################################
# Sources
########################################################################################################################
C_SOURCES := src/main.c src/mspdebug_wrapper.c src/spi_flash.c src/freq_meas.c src/dsss_demod.c src/adc.c \
src/protocol.c
C_SOURCES += $(MSPDEBUG_DIR)/drivers/jtaglib.c
@ -42,33 +78,12 @@ BUILDDIR ?= build
BINARY := safetyreset.elf
LDSCRIPT := stm32f407.ld
########################################################################################################################
# Build parameters
########################################################################################################################
PREFIX ?= arm-none-eabi-
FMEAS_ADC_SAMPLING_RATE ?= 1000
FMEAS_ADC_MAX ?= 4096
FMEAS_FFT_LEN ?= 256
FMEAS_FFT_WINDOW ?= gaussian
FMEAS_FFT_WINDOW_SIGMA ?= 16.0
# TODO: validate
FMEAS_SAMPLING_RATE ?= $(shell echo $(FMEAS_ADC_SAMPLING_RATE) / \($(FMEAS_FFT_LEN)/2\) | bc -l)
DSSS_GOLD_CODE_NBITS ?= 5
DSSS_DECIMATION ?= 10
# TODO maybe auto adjust this based on detection rate?
DSSS_THESHOLD_FACTOR ?= 6.0f
DSSS_WAVELET_WIDTH ?= 7.3
DSSS_WAVELET_LUT_SIZE ?= 69
DSSS_FILTER_FC ?= 3e-3
DSSS_FILTER_ORDER ?= 12
PAYLOAD_DATA_BIT ?= 64
TRANSMISSION_SYMBOLS ?= 32
PRESIG_STORE_SIZE ?= 3
PRESIG_KEYFILE ?= presig_test_key.secret
PRESIG_DBFILE ?= presig_test_db.sqlite3
CC := $(PREFIX)gcc
CXX := $(PREFIX)g++
LD := $(PREFIX)gcc
@ -147,6 +162,10 @@ LDFLAGS += --trace
LIBS += -lgcc
LDFLAGS += -Wl,--gc-sections -Wl,--trace-symbol=twiddleCoef_4096 -Wl,--trace-symbol=arm_cfft_sR_f32_len4096
########################################################################################################################
# Rules
########################################################################################################################
all: binsize
.PHONY: binsize