1 | ifeq (${NATIVE_COMPILER},yes)
|
---|
2 | CC=gcc
|
---|
3 | AS=as
|
---|
4 | LD=ld
|
---|
5 | OBJCOPY=objcopy
|
---|
6 | OBJDUMP=objdump
|
---|
7 | else
|
---|
8 | IA-32_TARGET=i686-pc-linux-gnu
|
---|
9 |
|
---|
10 | IA-32_CC_DIR=/usr/local/i686/bin
|
---|
11 | IA-32_BINUTILS_DIR=/usr/local/i686/bin
|
---|
12 |
|
---|
13 | CC=$(IA-32_CC_DIR)/$(IA-32_TARGET)-gcc
|
---|
14 | AS=$(IA-32_BINUTILS_DIR)/$(IA-32_TARGET)-as
|
---|
15 | LD=$(IA-32_BINUTILS_DIR)/$(IA-32_TARGET)-ld
|
---|
16 | OBJCOPY=$(IA-32_BINUTILS_DIR)/$(IA-32_TARGET)-objcopy
|
---|
17 | OBJDUMP=$(IA-32_BINUTILS_DIR)/$(IA-32_TARGET)-objdump
|
---|
18 | endif
|
---|
19 |
|
---|
20 | BFD_NAME=elf32-i386
|
---|
21 | BFD_ARCH=i386
|
---|
22 |
|
---|
23 | DEFS:=-DARCH=$(ARCH) -DFPU_LAZY
|
---|
24 |
|
---|
25 | ifeq (${STRONG_ORDERING},yes)
|
---|
26 | DEFS+=-D__STRONG_ORDERING__
|
---|
27 | endif
|
---|
28 |
|
---|
29 | ifdef SMP
|
---|
30 | DEFS+=-D$(SMP)
|
---|
31 | endif
|
---|
32 |
|
---|
33 | ifdef HT
|
---|
34 | DEFS+=-D$(HT)
|
---|
35 | endif
|
---|
36 |
|
---|
37 | CPPFLAGS=$(DEFS) -nostdinc -Iinclude/
|
---|
38 | CFLAGS=$(CPPFLAGS) -nostdlib -fno-builtin -fomit-frame-pointer -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3
|
---|
39 | LFLAGS=-M
|
---|
40 |
|
---|
41 | arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in
|
---|
42 | $(CC) $(CFLAGS) -E -x c $< | grep -v "^\#" > $@
|
---|
43 |
|
---|
44 | arch_sources= \
|
---|
45 | generic/src/arch/context.s \
|
---|
46 | generic/src/arch/debug/panic.s \
|
---|
47 | generic/src/arch/delay.s \
|
---|
48 | generic/src/arch/asm.S \
|
---|
49 | generic/src/arch/proc/scheduler.c \
|
---|
50 | generic/src/arch/bios/bios.c \
|
---|
51 | generic/src/arch/smp/ap.S \
|
---|
52 | generic/src/arch/smp/apic.c \
|
---|
53 | generic/src/arch/smp/mps.c \
|
---|
54 | generic/src/arch/smp/smp.c \
|
---|
55 | generic/src/arch/atomic.S \
|
---|
56 | generic/src/arch/smp/ipi.c \
|
---|
57 | generic/src/arch/ia32.c \
|
---|
58 | generic/src/arch/interrupt.c \
|
---|
59 | generic/src/arch/pm.c \
|
---|
60 | generic/src/arch/userspace.c \
|
---|
61 | generic/src/arch/cpu/cpu.c \
|
---|
62 | generic/src/arch/mm/frame.c \
|
---|
63 | generic/src/arch/mm/memory_init.c \
|
---|
64 | generic/src/arch/mm/page.c \
|
---|
65 | generic/src/arch/mm/tlb.c \
|
---|
66 | generic/src/arch/drivers/i8042.c \
|
---|
67 | generic/src/arch/drivers/i8254.c \
|
---|
68 | generic/src/arch/drivers/i8259.c \
|
---|
69 | generic/src/arch/drivers/ega.c \
|
---|
70 | generic/src/arch/boot/boot.S \
|
---|
71 | generic/src/arch/boot/memmap.S\
|
---|
72 | generic/src/arch/fpu_context.c\
|
---|
73 | generic/src/arch/fmath.c
|
---|