Rev 341 | Rev 364 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
130 | decky | 1 | MIPS_TARGET=mipsel-linux-gnu |
2 | MIPS_CC_DIR=/usr/local/mipsel/bin |
||
3 | MIPS_BINUTILS_DIR=/usr/local/mipsel/bin |
||
1 | jermar | 4 | |
5 | CC=$(MIPS_CC_DIR)/$(MIPS_TARGET)-gcc |
||
6 | AS=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-as |
||
7 | LD=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-ld |
||
293 | palkovsky | 8 | OBJDUMP=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objdump |
268 | palkovsky | 9 | OBJCOPY=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objcopy |
10 | BFD_ARCH=mips |
||
1 | jermar | 11 | |
329 | palkovsky | 12 | DEFS=-DARCH=$(ARCH) -DMACHINE=${MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} |
13 | CFLAGS=$(DEFS) -mno-abicalls -G 0 -nostdlib -fno-builtin -O2 -fno-zero-initialized-in-bss |
||
14 | LFLAGS=-M -N |
||
332 | palkovsky | 15 | BFD_ARCH=mips |
1 | jermar | 16 | |
332 | palkovsky | 17 | # GCC 4.0.1 compiled for mipsEL has problems compiling in |
18 | # BigEndian mode with the swl/swr/lwl/lwr instructions. |
||
19 | # We have to compile it with mips-sgi-irix5 to get it right. |
||
20 | ifeq (${MACHINE},indy) |
||
21 | MIPS_TARGET=mips-sgi-irix5 |
||
22 | MIPS_CC_DIR=/usr/local/mips/bin |
||
23 | MIPS_BINUTILS_DIR=/usr/local/mips/bin |
||
326 | palkovsky | 24 | |
332 | palkovsky | 25 | CFLAGS += -EB -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY -march=r4600 |
329 | palkovsky | 26 | BFD = ecoff-bigmips |
27 | KERNEL_LOAD_ADDRESS = 0x88002000 |
||
339 | palkovsky | 28 | BFD_NAME=elf32-bigmips |
326 | palkovsky | 29 | endif |
30 | |||
31 | ifeq (${MACHINE},lgxemul) |
||
329 | palkovsky | 32 | CFLAGS += -DHAVE_FPU -DFPU_LAZY -mips3 |
326 | palkovsky | 33 | BFD = ecoff-littlemips |
330 | palkovsky | 34 | KERNEL_LOAD_ADDRESS = 0x80100000 |
332 | palkovsky | 35 | BFD_NAME=elf32-little |
326 | palkovsky | 36 | endif |
37 | |||
38 | ifeq (${MACHINE},bgxemul) |
||
332 | palkovsky | 39 | MIPS_TARGET=mips-sgi-irix5 |
40 | MIPS_CC_DIR=/usr/local/mips/bin |
||
41 | MIPS_BINUTILS_DIR=/usr/local/mips/bin |
||
42 | |||
43 | CFLAGS += -EB -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY -mips3 |
||
326 | palkovsky | 44 | BFD = ecoff-bigmips |
330 | palkovsky | 45 | KERNEL_LOAD_ADDRESS = 0x80100000 |
339 | palkovsky | 46 | BFD_NAME=elf32-bigmips |
326 | palkovsky | 47 | endif |
48 | |||
329 | palkovsky | 49 | # MSIM needs lwl/swl patch & 4kc instruction patch to work |
50 | # otherwise add -mmemcpy -mips3 |
||
326 | palkovsky | 51 | ifeq (${MACHINE},msim) |
52 | BFD = binary |
||
329 | palkovsky | 53 | CFLAGS += -msoft-float -march=4kc |
330 | palkovsky | 54 | KERNEL_LOAD_ADDRESS = 0x80100000 |
332 | palkovsky | 55 | BFD_NAME=elf32-little |
326 | palkovsky | 56 | endif |
57 | |||
329 | palkovsky | 58 | # SIMICS 4kc emulation is broken, although for instructions |
59 | # that do not bother us |
||
326 | palkovsky | 60 | ifeq (${MACHINE},simics) |
61 | BFD = elf32-little |
||
329 | palkovsky | 62 | CFLAGS += -msoft-float -mips3 |
330 | palkovsky | 63 | KERNEL_LOAD_ADDRESS = 0x80100000 |
332 | palkovsky | 64 | BFD_NAME=elf32-little |
326 | palkovsky | 65 | endif |
66 | |||
67 | ../arch/$(ARCH)/_link.ld: ../arch/$(ARCH)/_link.ld.in |
||
68 | $(CC) $(CFLAGS) -C -DBFD=${BFD} -E -x c $< | grep -v "^\#" > $@ |
||
69 | |||
1 | jermar | 70 | arch_sources= \ |
71 | arch/start.S \ |
||
72 | arch/context.S \ |
||
313 | palkovsky | 73 | arch/panic.S \ |
342 | jermar | 74 | arch/mips32.c \ |
313 | palkovsky | 75 | arch/dummy.S \ |
324 | palkovsky | 76 | arch/console.c \ |
313 | palkovsky | 77 | arch/asm.S \ |
1 | jermar | 78 | arch/exception.c \ |
79 | arch/interrupt.c \ |
||
80 | arch/cache.c \ |
||
81 | arch/cpu/cpu.c \ |
||
82 | arch/mm/frame.c \ |
||
83 | arch/mm/page.c \ |
||
52 | vana | 84 | arch/mm/tlb.c \ |
230 | cejka | 85 | arch/fpu_context.c \ |
332 | palkovsky | 86 | arch/fmath.c \ |
87 | arch/drivers/arc.c |