Skip to content

Commit

Permalink
Merge branch 'master' into emprojectDSP310missssingDot
Browse files Browse the repository at this point in the history
  • Loading branch information
ojousima authored Jul 22, 2022
2 parents b1dc17f + bfb837c commit f4f9c12
Show file tree
Hide file tree
Showing 7 changed files with 197 additions and 175 deletions.
123 changes: 80 additions & 43 deletions src/Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,31 @@
# Tag on this commit
# @file Makefile
# @author Otso Jousimaa <otso@ojousima.net>
# @date 2021-03-30
# @brief Setup compile of sources for BOARDS and Variants.
# Set up directory names and call targets/ruuvitag_b/armgcc/Makefile
# which sets up options and calls Makefile.common which does compile & link
#
# There is a seperate version of the project configuration for the
# Segger Embedded Studio at ruuvi.firmware.c.emProject.
# Changes to this makefile should be made there as well.
#
# The -Dxxx generates a #define xxx in C preprocessor.
#
# @copyright Ruuvi Innovations Ltd, license BSD-3-Clause.

# For example v3.31.1
TAG := $(shell git describe --tags --exact-match)
# Commit hash from git

# For example 24cbe77 (the hash)
COMMIT := $(shell git rev-parse --short HEAD)

# VERSION will be the tag if one exists for current commit, otherwise the commit hash.
VERSION := $(if $(TAG),\\\"$(TAG)\\\",\\\"$(COMMIT)\\\")

BOARDS = ruuvitag_b kaarle kalervo keijo
VARIANTS = default test

.PHONY: all sync ${BOARDS} analysis publish clean
.PHONY: all sync ${BOARDS} analysis publish clean

all: clean ${BOARDS}

Expand All @@ -19,60 +38,78 @@ sync:


ruuvitag_b:
@echo build FW ${VERSION}
$(MAKE) -C targets/ruuvitag_b/armgcc clean
$(MAKE) -C targets/ruuvitag_b/armgcc DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION}
targets/ruuvitag_b/armgcc/package.sh -n ruuvifw_default
$(MAKE) -C targets/ruuvitag_b/armgcc clean
$(MAKE) -C targets/ruuvitag_b/armgcc MODE=-DAPPLICATION_MODE_LONGLIFE DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION}
targets/ruuvitag_b/armgcc/package.sh -n ruuvifw_longlife
$(MAKE) -C targets/ruuvitag_b/armgcc clean
$(MAKE) -C targets/ruuvitag_b/armgcc MODE=-DAPPLICATION_MODE_LONGMEM DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION}
targets/ruuvitag_b/armgcc/package.sh -n ruuvifw_longmem
@echo build FW ${VERSION} for board $@

@echo + Calling targets/ruuvitag_b/armgcc/Makefile
$(MAKE) -C targets/ruuvitag_b/armgcc clean
$(MAKE) -C targets/ruuvitag_b/armgcc DEBUG=-DDEBUG RUN_TESTS=-DRUUVI_RUN_TESTS FW_VERSION=-DAPP_FW_VERSION=${VERSION} OPT="-Og -g3"
targets/ruuvitag_b/armgcc/package.sh -n ruuvifw_test
$(MAKE) -C targets/ruuvitag_b/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DNDEBUG MODE=-DAPPLICATION_MODE_DEFAULT
@echo + package next
targets/$@/armgcc/package.sh -n ruuvifw_default

$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DNDEBUG MODE=-DAPPLICATION_MODE_LONGLIFE
@echo + package next
targets/$@/armgcc/package.sh -n ruuvifw_longlife

$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DNDEBUG MODE=-DAPPLICATION_MODE_LONGMEM
@echo + package next
targets/$@/armgcc/package.sh -n ruuvifw_longmem

$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DDEBUG MODE=-DAPPLICATION_MODE_DEBUG \
RUN_TESTS=-DRUUVI_RUN_TESTS OPT="-Og -g3" # gdb information included
@echo + package next
targets/$@/armgcc/package.sh -n ruuvifw_test

kaarle:
$(MAKE) -C targets/kaarle/armgcc clean
$(MAKE) -C targets/kaarle/armgcc DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION}
targets/kaarle/armgcc/package.sh -n ruuvifw_default
$(MAKE) -C targets/kaarle/armgcc clean
$(MAKE) -C targets/kaarle/armgcc MODE=-DAPPLICATION_MODE_LONGLIFE DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION}
targets/kaarle/armgcc/package.sh -n ruuvifw_longlife
$(MAKE) -C targets/kaarle/armgcc clean
$(MAKE) -C targets/kaarle/armgcc DEBUG=-DDEBUG RUN_TESTS=-DRUUVI_RUN_TESTS FW_VERSION=-DAPP_FW_VERSION=${VERSION} OPT="-Og -g3"
targets/kaarle/armgcc/package.sh -n ruuvifw_test
@echo build FW ${VERSION} for board $@
$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DNDEBUG MODE=-DAPPLICATION_MODE_DEFAULT
targets/$@/armgcc/package.sh -n ruuvifw_default

kalervo:
$(MAKE) -C targets/kalervo/armgcc clean
$(MAKE) -C targets/kalervo/armgcc DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION}
targets/kalervo/armgcc/package.sh -n ruuvifw_default
$(MAKE) -C targets/kalervo/armgcc clean
$(MAKE) -C targets/kalervo/armgcc MODE=-DAPPLICATION_MODE_LONGLIFE DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION}
targets/kalervo/armgcc/package.sh -n ruuvifw_longlife
$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DNDEBUG MODE=-DAPPLICATION_MODE_LONGLIFE
targets/$@/armgcc/package.sh -n ruuvifw_longlife

keijo:
$(MAKE) -C targets/keijo/armgcc clean
$(MAKE) -C targets/keijo/armgcc DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION}
targets/keijo/armgcc/package.sh -n ruuvifw_default
$(MAKE) -C targets/keijo/armgcc clean
$(MAKE) -C targets/keijo/armgcc MODE=-DAPPLICATION_MODE_LONGLIFE DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION}
targets/keijo/armgcc/package.sh -n ruuvifw_longlife
$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DDEBUG MODE=-DAPPLICATION_MODE_DEBUG \
RUN_TESTS=-DRUUVI_RUN_TESTS OPT="-Og -g3"
targets/$@/armgcc/package.sh -n ruuvifw_test

kalervo:
@echo build FW ${VERSION} for board $@
$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DNDEBUG MODE=-DAPPLICATION_MODE_DEFAULT
targets/$@/armgcc/package.sh -n ruuvifw_default

$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DNDEBUG MODE=-DAPPLICATION_MODE_LONGLIFE
targets/$@/armgcc/package.sh -n ruuvifw_longlife

keijo:
@echo build FW ${VERSION} for board $@
$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DNDEBUG MODE=-DAPPLICATION_MODE_DEFAULT
targets/$@/armgcc/package.sh -n ruuvifw_default

$(MAKE) -C targets/$@/armgcc clean
$(MAKE) -C targets/$@/armgcc FW_VERSION=-DAPP_FW_VERSION=${VERSION} DEBUG=-DNDEBUG MODE=-DAPPLICATION_MODE_LONGLIFE
targets/$@/armgcc/package.sh -n ruuvifw_longlife

analysis:
@echo build FW ${VERSION}
$(MAKE) -C targets/ruuvitag_b/armgcc clean
$(MAKE) -C targets/ruuvitag_b/armgcc DEBUG=-DNDEBUG FW_VERSION=-DAPP_FW_VERSION=${VERSION} OPT="-Og -g3" VERBOSE=1 ABSOLUTE_PATHS=1
@echo analysis FW ${VERSION}
$(MAKE) -C targets/ruuvitag_b/armgcc clean FW_VERSION=-DAPP_FW_VERSION=${VERSION}
$(MAKE) -C targets/ruuvitag_b/armgcc OPT="-Og -g3" VERBOSE=1 ABSOLUTE_PATHS=1 DEBUG=-DNDEBUG

# https://medium.com/@systemglitch/continuous-integration-with-jenkins-and-github-release-814904e20776
publish:
@echo Publishing $(TAG)
./release.sh

clean:
@echo cleaning build files
@echo Cleaning build files
$(MAKE) -C targets/ruuvitag_b/armgcc clean
$(MAKE) -C targets/kaarle/armgcc clean
$(MAKE) -C targets/kalervo/armgcc clean
$(MAKE) -C targets/keijo/armgcc clean
$(MAKE) -C targets/keijo/armgcc clean
Loading

0 comments on commit f4f9c12

Please sign in to comment.