Subversion Repositories HelenOS-historic

Rev

Rev 324 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 324 Rev 326
Line 11... Line 11...
11
BFD_NAME=elf32-tradlittlemips
11
BFD_NAME=elf32-tradlittlemips
12
BFD_ARCH=mips
12
BFD_ARCH=mips
13
 
13
 
14
ASFLAGS=-mips3
14
ASFLAGS=-mips3
15
 
15
 
16
DEFS=-DARCH=$(ARCH)
16
DEFS=-DARCH=$(ARCH) -DMACHINE=${MACHINE}
17
CPPFLAGS=$(DEFS) -mno-abicalls -nostdinc -I../include
17
CFLAGS=$(DEFS) -mno-abicalls -mips3 -G 0 -nostdlib -fno-builtin -O2 
18
CFLAGS=$(CPPFLAGS) -mips2 -G 0 -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O2 -msoft-float
-
 
19
LFLAGS=-mips2 -M -no-check-sections
18
LFLAGS=-mips2 -M -no-check-sections
20
 
19
 
-
 
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
 
21
arch_sources= \
52
arch_sources= \
22
	arch/start.S \
53
	arch/start.S \
23
	arch/context.S \
54
	arch/context.S \
24
	arch/panic.S \
55
	arch/panic.S \
25
	arch/mips.c \
56
	arch/mips.c \