@@ -15,10 +15,10 @@ BSP ?= rpi3
15
15
16
16
17
17
# #--------------------------------------------------------------------------------------------------
18
- # # Hardcoded configuration values
18
+ # # BSP-specific configuration values
19
19
# #--------------------------------------------------------------------------------------------------
20
+ QEMU_MISSING_STRING = "This board is not yet supported for QEMU."
20
21
21
- # BSP-specific arguments.
22
22
ifeq ($(BSP ) ,rpi3)
23
23
TARGET = aarch64-unknown-none-softfloat
24
24
KERNEL_BIN = kernel8.img
@@ -28,7 +28,7 @@ ifeq ($(BSP),rpi3)
28
28
OBJDUMP_BINARY = aarch64-none-elf-objdump
29
29
NM_BINARY = aarch64-none-elf-nm
30
30
READELF_BINARY = aarch64-none-elf-readelf
31
- LINKER_FILE = src/bsp/raspberrypi/link.ld
31
+ LD_SCRIPT_PATH = src/bsp/raspberrypi
32
32
RUSTC_MISC_ARGS = -C target-cpu=cortex-a53
33
33
else ifeq ($(BSP),rpi4)
34
34
TARGET = aarch64-unknown-none-softfloat
@@ -39,24 +39,33 @@ else ifeq ($(BSP),rpi4)
39
39
OBJDUMP_BINARY = aarch64-none-elf-objdump
40
40
NM_BINARY = aarch64-none-elf-nm
41
41
READELF_BINARY = aarch64-none-elf-readelf
42
- LINKER_FILE = src/bsp/raspberrypi/link.ld
42
+ LD_SCRIPT_PATH = src/bsp/raspberrypi
43
43
RUSTC_MISC_ARGS = -C target-cpu=cortex-a72
44
44
endif
45
45
46
- QEMU_MISSING_STRING = "This board is not yet supported for QEMU."
47
-
48
46
# Export for build.rs.
49
- export LINKER_FILE
47
+ export LD_SCRIPT_PATH
48
+
50
49
51
- KERNEL_ELF = target/$(TARGET ) /release/kernel
50
+
51
+ # #--------------------------------------------------------------------------------------------------
52
+ # # Generic configuration values
53
+ # #--------------------------------------------------------------------------------------------------
54
+ KERNEL_LINKER_SCRIPT = link.ld
55
+ KERNEL_ELF = target/$(TARGET ) /release/kernel
52
56
53
57
54
58
55
59
# #--------------------------------------------------------------------------------------------------
56
60
# # Command building blocks
57
61
# #--------------------------------------------------------------------------------------------------
58
- RUSTFLAGS = -C link-arg=-T$(LINKER_FILE ) $(RUSTC_MISC_ARGS )
59
- RUSTFLAGS_PEDANTIC = $(RUSTFLAGS ) -D warnings -D missing_docs
62
+ RUSTFLAGS = $(RUSTC_MISC_ARGS ) \
63
+ -C link-arg=--library-path=$(LD_SCRIPT_PATH ) \
64
+ -C link-arg=--script=$(KERNEL_LINKER_SCRIPT )
65
+
66
+ RUSTFLAGS_PEDANTIC = $(RUSTFLAGS ) \
67
+ -D warnings \
68
+ -D missing_docs
60
69
61
70
FEATURES = --features bsp_$(BSP )
62
71
COMPILER_ARGS = --target=$(TARGET ) \
0 commit comments