gitea makefile test 0.1

This commit is contained in:
Lukas
2026-04-29 10:55:19 +02:00
parent e90fefe206
commit 4986f53d8a
3 changed files with 75 additions and 25 deletions
+1 -1
View File
@@ -1 +1 @@
0.1 0.3 //test gitea autoflow
+40 -24
View File
@@ -1,34 +1,50 @@
MCU ?= atmega644pa name: AVR Build
BUILD_TYPE ?= dev
VERSION ?= 0.1
F_CPU ?= 8000000UL on:
push:
branches:
- dev
- live
- main
pull_request:
CC = avr-gcc jobs:
OBJCOPY = avr-objcopy build:
runs-on: ubuntu-latest
SRC = src/main.c steps:
- name: Checkout
uses: actions/checkout@v4
OUTDIR = build/$(BUILD_TYPE) - name: Install AVR toolchain
run: |
apt-get update
apt-get install -y gcc-avr avr-libc binutils-avr make cppcheck
ifeq ($(BUILD_TYPE),dev) - name: Set build type from branch
PREFIX = DEV_ENO id: vars
else run: |
PREFIX = ENO BRANCH="${GITHUB_REF_NAME}"
endif
TARGET = $(OUTDIR)/$(PREFIX)_$(VERSION) if [ "$BRANCH" = "dev" ]; then
echo "BUILD_TYPE=dev" >> $GITHUB_ENV
echo "PREFIX=DEV_ENO" >> $GITHUB_ENV
else
echo "BUILD_TYPE=live" >> $GITHUB_ENV
echo "PREFIX=ENO" >> $GITHUB_ENV
fi
CFLAGS = -mmcu=$(MCU) -DF_CPU=$(F_CPU) -Os -DVERSION=\"$(VERSION)\" echo "VERSION=${GITHUB_SHA::7}" >> $GITHUB_ENV
all: $(TARGET).hex - name: Code check
run: cppcheck --enable=all --error-exitcode=1 src/
$(TARGET).elf: - name: Build firmware
@mkdir -p $(OUTDIR) run: |
$(CC) $(CFLAGS) $(SRC) -o $@ make BUILD_TYPE=$BUILD_TYPE PREFIX=$PREFIX VERSION=$VERSION
$(TARGET).hex: $(TARGET).elf - name: Upload hex
$(OBJCOPY) -O ihex -R .eeprom $< $@ uses: actions/upload-artifact@v4
with:
clean: name: firmware-${{ env.BUILD_TYPE }}
rm -rf build path: build/**/*.hex
+34
View File
@@ -0,0 +1,34 @@
MCU ?= atmega644pa
BUILD_TYPE ?= dev
VERSION ?= 0.1
F_CPU ?= 8000000UL
CC = avr-gcc
OBJCOPY = avr-objcopy
SRC = src/main.c
OUTDIR = build/$(BUILD_TYPE)
ifeq ($(BUILD_TYPE),dev)
PREFIX = DEV_ENO
else
PREFIX = ENO
endif
TARGET = $(OUTDIR)/$(PREFIX)_$(VERSION)
CFLAGS = -mmcu=$(MCU) -DF_CPU=$(F_CPU) -Os -DVERSION=\"$(VERSION)\"
all: $(TARGET).hex
$(TARGET).elf:
@mkdir -p $(OUTDIR)
$(CC) $(CFLAGS) $(SRC) -o $@
$(TARGET).hex: $(TARGET).elf
$(OBJCOPY) -O ihex -R .eeprom $< $@
clean:
rm -rf build