aboutsummaryrefslogtreecommitdiff
path: root/Makefile.preamble
blob: 62b221acf12426ec10298e454b6912512aa6b69a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
OPT?=-O
PREFIX?=arm-unknown-eabi-
CC=$(PREFIX)gcc
LD=$(PREFIX)ld
CFLAGS?=$(OPT) -mcpu=cortex-m4 -mthumb -g -lgcc -static -nostartfiles -Iinclude -Iinclude/arch/arm
LD_FLAGS?=-T linker/linker_script.ld -nostdlib --cref -Map linker/main.map -static

TEST_PREFIX=x86_64-pc-linux-gnu-
TEST_CFLAGS=-Iinclude -Iinclude/arch/x86_64 -Itest_harness -g3 -ggdb -DFOR_TESTING -Wall

all: _$(PREFIX)_obs/main.elf

_$(PREFIX)_obs/main.bin: _$(PREFIX)_obs/main.elf
	$(PREFIX)objcopy -O binary _$(PREFIX)_obs/main.elf _$(PREFIX)_obs/main.bin

flash: _$(PREFIX)_obs/main.bin
	openocd -f openocd.cfg -c "program _arm-unknown-eabi-_obs/main.bin reset exit 0x08000000"
	# st-flash write _$(PREFIX)_obs/main.bin 0x8000000

clean:
	rm -rf _*_obs
	rm -rf tests/build
	rm -rf test_harness/*.a test_harness/*.o

genmake:
	./genmake.pl > Makefile