summaryrefslogtreecommitdiffstats
path: root/config.mk
blob: 0d26458bf1352d5a28b1403d725953b703df6729 (plain) (blame)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
PROCESSORS_MAX=8
KERNEL_STACKBYTES = 4096

ENABLE_UART = y
ENABLE_PORTIO_UART = y
ENABLE_INITRD = y
ENABLE_SSE=y
ENABLE_AVX=n

DBG_MEM=y
DBG_SYSCALL=n
DBG_LOCK=n

CFLAGS = \
		  -ffreestanding \
		  -nostdlib \
		  -fno-pie \
		  -fno-pic \
		  -g \
		  -D__$(TARGET_MACHINE)__ \
		  -D__$(TARGET_BOOTLOADER)__ \
		  -DPROCESSORS_MAX=$(PROCESSORS_MAX) \
		  -DKERNEL_STACKBYTES=$(KERNEL_STACKBYTES) \
		  -Iinclude \
		  -I.

LDFLAGS = -nostdlib \
		   -z max-page-size=0x1000 \
		   -T link/$(TARGET_TRIPLET).ld

ifeq "$(TARGET_MACHINE)" "x86_64"
	CFLAGS += -m64 \
			  -mno-red-zone \
			  -mcmodel=kernel \
			  -mfsgsbase
endif

ifeq "$(ENABLE_SSE)" "y"
CFLAGS += -DENABLE_SSE
else
CFLAGS += -mno-sse
endif

ifeq "$(ENABLE_AVX)" "y"
CFLAGS += -DENABLE_AVX
endif

ifeq "$(ENABLE_UART)" "y"
CFLAGS += -DENABLE_UART	
endif

ifeq "$(ENABLE_PORTIO_UART)" "y"
CFLAGS += -DENABLE_PORTIO_UART
endif

ifeq "$(ENABLE_INITRD)" "y"
CFLAGS += -DENABLE_INITRD
endif

ifeq "$(DBG_MEM)" "y"
CFLAGS += -DDBG_MEM
endif

ifeq "$(DBG_SYSCALL)" "y"
CFLAGS += -DDBG_SYSCALL
endif

ifeq "$(DBG_LOCK)" "y"
CFLAGS += -DDBG_LOCK
endif