summaryrefslogtreecommitdiff
path: root/atos/arch/rv64/jh7110/Makefile
blob: 2e9f98989beec29b2d9e2c9dfd2dfeb1e0967279 (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
#
# Copyright (c) 2026, Apollo Telephone Laboratories.
# Provided under the BSD-3 clause.
#

include ../../../../mk/atos.mk

ASMFILES = $(shell find . -name "*.S")
ASMOFILES = $(ASMFILES:.S=.S.o)
MISC_OFILES = $(shell find $(GLOBAL_ROOT)/atos -name "*.o")
CFLAGS = $(INTERNAL_CFLAGS)

KERNEL_ELF_OUT = $(GLOBAL_ROOT)/out/atos.sys
KERNEL_BIN_OUT = $(GLOBAL_ROOT)/out/atos.bin

.PHONY: all
all: $(KERNEL_ELF_OUT)
	$(PROMPT) "OBJCOPY" $(KERNEL_BIN_OUT)
	$(OBJCOPY) -O binary $(KERNEL_ELF_OUT) $(KERNEL_BIN_OUT)

.PHONY: $(KERNEL_ELF_OUT)
$(KERNEL_ELF_OUT): $(ASMOFILES)
	$(PROMPT) "LD" $(KERNEL_ELF_OUT)
	$(LD) -Tdev/link.ld $(MISC_OFILES) -o $(KERNEL_ELF_OUT)

%.S.o: %.S
	$(PROMPT) "CC" $<
	$(CC) -c $< $(CFLAGS) -o $@