summaryrefslogtreecommitdiff
path: root/sys/arch/amd64/Makefile
blob: ba821ae13348d5f9a364de1f21503cad9fc4b230 (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
25
26
27
28
29
30
31
32
33
34
.SILENT:
override PROMPT := printf "%s\t\t%s\n"

CC =
LD =
SYS_CFLAGS =
ASMFILES = $(shell find . -name "*.S" | grep -v "boot/")
CFILES = $(shell find . -name "*.c")
ASMOBJS = $(ASMFILES:.S=.S.o)
COBJ = $(CFILES:.c=.o)
DFILES = $(CFILES:.c=.d)
MISC_OFILES = $(shell find ../../ -name "*.o" | grep -v "boot/")

.PHONY: all
all: boot $(ASMOBJS) $(COBJ)
	$(LD) -Tconf/link.ld $(MISC_OFILES) -o ../../rv7
	objcopy --update-section .trampoline=boot/apboot.bin ../../rv7

%.S.o: %.S
	$(PROMPT) " [AS] " $<
	$(CC) -c -I../../target/inc/ $(SYS_CFLAGS) $< -o $@

-include $(DFILES)
%.o: %.c
	$(PROMPT) " [CC] " $<
	$(CC) -c -MMD -I../../target/inc/ -I../../inc/ $(SYS_CFLAGS) $< -o $@

.PHONY: boot
boot:
	nasm -fbin boot/apboot.asm -o boot/apboot.bin

.PHONY: clean
clean:
	rm $(MISC_OFILES)