Subversion Repositories HelenOS-historic

Rev

Rev 324 | 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
1 jermar 2
 
130 decky 3
MIPS_CC_DIR=/usr/local/mipsel/bin
4
MIPS_BINUTILS_DIR=/usr/local/mipsel/bin
1 jermar 5
 
6
CC=$(MIPS_CC_DIR)/$(MIPS_TARGET)-gcc
7
AS=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-as
8
LD=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-ld
293 palkovsky 9
OBJDUMP=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objdump
268 palkovsky 10
OBJCOPY=$(MIPS_BINUTILS_DIR)/$(MIPS_TARGET)-objcopy
11
BFD_NAME=elf32-tradlittlemips
12
BFD_ARCH=mips
1 jermar 13
 
130 decky 14
ASFLAGS=-mips3
1 jermar 15
 
326 palkovsky 16
DEFS=-DARCH=$(ARCH) -DMACHINE=${MACHINE}
17
CFLAGS=$(DEFS) -mno-abicalls -mips3 -G 0 -nostdlib -fno-builtin -O2 
289 palkovsky 18
LFLAGS=-mips2 -M -no-check-sections
1 jermar 19
 
326 palkovsky 20
# It seems that on big endian either GCC or the simulators
21
# have the swl/swr/lwl/lwr instructions wrong. Just for sure,
22
# disable it with -mmemcpy (force calling memcpy instead of inlining)
23
 
24
ifeq (${MACHINE},indy)
25
 CFLAGS += -EB -mmemcpy -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY
26
 BFD = elf32-big
27
endif
28
 
29
ifeq (${MACHINE},lgxemul)
30
 CFLAGS += -DHAVE_FPU -DFPU_LAZY
31
 BFD = ecoff-littlemips
32
endif
33
 
34
ifeq (${MACHINE},bgxemul)
35
 CFLAGS += -EB -mmemcpy -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY
36
 BFD = ecoff-bigmips
37
endif
38
 
39
ifeq (${MACHINE},msim)
40
 BFD = binary
41
 CFLAGS += -msoft-float
42
endif
43
 
44
ifeq (${MACHINE},simics)
45
 BFD = elf32-little
46
 CFLAGS += -msoft-float
47
endif
48
 
49
../arch/$(ARCH)/_link.ld: ../arch/$(ARCH)/_link.ld.in
50
	$(CC) $(CFLAGS) -C -DBFD=${BFD} -E -x c $< | grep -v "^\#" > $@
51
 
1 jermar 52
arch_sources= \
53
	arch/start.S \
54
	arch/context.S \
313 palkovsky 55
	arch/panic.S \
1 jermar 56
	arch/mips.c \
313 palkovsky 57
	arch/dummy.S \
324 palkovsky 58
	arch/console.c \
313 palkovsky 59
	arch/asm.S \
1 jermar 60
	arch/exception.c \
61
	arch/interrupt.c \
62
	arch/cache.c \
63
	arch/cpu/cpu.c \
64
	arch/mm/frame.c \
65
	arch/mm/page.c \
52 vana 66
	arch/mm/tlb.c \
230 cejka 67
	arch/fpu_context.c \
68
	arch/fmath.c