summaryrefslogtreecommitdiff
path: root/Makefile
blob: c181cf97e9c4c45db87668354b972c90d86c526d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CC = riscv32-none-elf-gcc
CP = riscv32-none-elf-objcopy
CFLAGS = -fno-pic -nostdlib -fno-delete-null-pointer-checks --param=min-pagesize=0 -O0 -march=rv32i -mabi=ilp32 -Wall -Wextra -pedantic

SRC_fib = fibonacci.c
SRC_rom = rom_large.s
ROM = riscvtest_rom_image.txt

all: fibonacci

fibonacci: 
	${CC} ${CFLAGS} ${SRC_fib}
	${CP} -j .text -O binary a.out /dev/stdout \
	| od -t x4 -w4 - | cut -d' ' -f2 | head -n -1 \
	> ${ROM}

rom_large:
	${CC} ${CFLAGS} ${SRC_rom}
	${CP} -j .text -O binary a.out /dev/stdout \
	| od -t x4 -w4 - | cut -d' ' -f2 | head -n -1 \
	> ${ROM}

clean:
	rm -f a.out