-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathcommon.mk
More file actions
46 lines (40 loc) · 1.14 KB
/
common.mk
File metadata and controls
46 lines (40 loc) · 1.14 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
ARCH ?= aarch64-none-elf-
ifeq "$(origin CC)" "default"
CC := $(ARCH)gcc
endif
ifeq "$(origin CXX)" "default"
CXX := $(ARCH)g++
endif
LD := $(ARCH)ld
AR := $(ARCH)ar
OBJCOPY := $(ARCH)objcopy
BUILD_DIR := ./build
COMMON_FLAGS ?= -ffreestanding -nostdlib -fno-exceptions -fno-unwind-tables \
-fno-asynchronous-unwind-tables -g -O0 -Wall -Wextra \
-Wno-unused-parameter -Wno-address-of-packed-member \
-Werror \
-Wno-unused-function
ifeq ($(ARCH), aarch64-none-elf-)
COMMON_FLAGS += -mcpu=cortex-a72 -Wno-error=sized-deallocation
endif
CFLAGS_BASE ?= $(COMMON_FLAGS) -std=c99
CXXFLAGS_BASE ?= $(COMMON_FLAGS) -fno-rtti
LDFLAGS_BASE ?=
LOAD_ADDR ?= 0x41000000
XHCI_CTX_SIZE ?= 32
QEMU ?= true
MODE ?= virt
TEST ?= false
ifeq ($(V), 1)
VAR = $(AR)
VAS = $(CC)
VCC = $(CC)
VCXX = $(CXX)
VLD = $(LD)
else
VAR = @echo " [AR] $<" && $(AR)
VAS = @echo " [AS] $<" && $(CC)
VCC = @echo " [CC] $<" && $(CC)
VCXX = @echo " [CXX] $<" && $(CXX)
VLD = @echo " [LD] $<" && $(LD)
endif