Changeset 389f41e in mainline for arch/mips32/Makefile.inc


Ignore:
Timestamp:
2005-11-08T11:57:23Z (20 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5f85c91
Parents:
5b65205
Message:

new build system almost finished

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/mips32/Makefile.inc

    r5b65205 r389f41e  
    3030#
    3131
    32 BFD_NAME = elf32-i386
    3332BFD_ARCH = mips
    3433TARGET = mipsel-linux-gnu
     
    3837#
    3938
    40 ifndef CPU
    41         CPU = pentium4
     39ifndef MACHINE
     40        MACHINE = msim
    4241endif
    4342
    44 ## Accepted CPUs
     43KERNEL_LOAD_ADDRESS = 0x80100000
     44CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss
     45DEFS += -DMACHINE=${MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS}
     46
     47## Accepted MACHINEs
    4548#
    4649
    47 ifeq ($(CPU),athlon-xp)
    48         CFLAGS += -march=athlon-xp -mmmx -msse -m3dnow
    49         DEFS += -DFENCES=486
    50         CONFIG_SMP = n
    51         CONFIG_HT = n
     50ifeq ($(MACHINE),indy)
     51        # GCC 4.0.1 compiled for mipsEL has problems compiling in
     52        # BigEndian mode with the swl/swr/lwl/lwr instructions.
     53        # We have to compile it with mips-sgi-irix5 to get it right.
     54       
     55        BFD_NAME = elf32-bigmips
     56        BFD = ecoff-bigmips
     57        TARGET = mips-sgi-irix5
     58        TOOLCHAIN_DIR = /usr/local/mips/bin
     59        KERNEL_LOAD_ADDRESS = 0x88002000
     60        CFLAGS += -EB -DBIG_ENDIAN -DHAVE_FPU -march=r4600
    5261endif
    53 ifeq ($(CPU),athlon-mp)
    54         CFLAGS += -march=athlon-mp -mmmx -msse -m3dnow
    55         DEFS += -DFENCES=486
     62ifeq ($(MACHINE}),lgxemul)
     63        BFD_NAME=elf32-tradlittlemips
     64        BFD = ecoff-littlemips
     65        CFLAGS += -DHAVE_FPU -mips3
    5666endif
    57 ifeq ($(CPU),pentium3)
    58         CFLAGS += -march=pentium3 -mmmx -msse -msse2
    59         DEFS += -DFENCES=486
     67ifeq ($(MACHINE),bgxemul)
     68        BFD_NAME=elf32-bigmips
     69        BFD = ecoff-bigmips
     70        TARGET = mips-sgi-irix5
     71        TOOLCHAIN_DIR = /usr/local/mips/bin
     72        CFLAGS += -EB -DBIG_ENDIAN -DHAVE_FPU -mips3
    6073endif
    61 ifeq ($(CPU),pentium4)
    62         CFLAGS += -march=pentium4 -mfpmath=sse -mmmx -msse -msse2 -msse3
    63         DEFS += -DFENCES=p4
     74ifeq ($(MACHINE),msim4kc)
     75        # MSIM needs lwl/swl patch & 4kc instruction patch to work
     76        # otherwise add -mmemcpy -mips3
     77       
     78        BFD_NAME = elf32-tradlittlemips
     79        BFD = binary
     80        CFLAGS += -mhard-float -march=4kc
     81endif
     82ifeq ($(MACHINE),simics)
     83        # SIMICS 4kc emulation is broken, although for instructions
     84        # that do not bother us
     85       
     86        BFD_NAME = elf32-tradlittlemips
     87        BFD = elf32-tradlittlemips
     88        CFLAGS += -mhard-float -mips3
     89endif
     90ifeq ($(MACHINE),msim)
     91        BFD_NAME = elf32-tradlittlemips
     92        BFD = binary
     93        CFLAGS += -mhard-float -mips3
    6494endif
    6595
     
    6797#
    6898
    69 CONFIG_ACPI = y
     99CONFIG_OFW = y
    70100
    71101## Accepted configuration directives
    72102#
    73103
    74 ifeq ($(CONFIG_SMP),y)
    75         DEFS += -DSMP
    76 endif
    77 ifeq ($(CONFIG_HT),y)
    78         DEFS += -DHT
    79 endif
    80104ifeq ($(CONFIG_FPU_LAZY),y)
    81105        DEFS += -DFPU_LAZY
     
    83107
    84108ARCH_SOURCES = \
    85         arch/$(ARCH)/src/context.s \
    86         arch/$(ARCH)/src/debug/panic.s \
    87         arch/$(ARCH)/src/delay.s \
     109        arch/$(ARCH)/src/start.S \
     110        arch/$(ARCH)/src/context.S \
     111        arch/$(ARCH)/src/panic.S \
     112        arch/$(ARCH)/src/mips32.c \
     113        arch/$(ARCH)/src/dummy.S \
     114        arch/$(ARCH)/src/console.c \
    88115        arch/$(ARCH)/src/asm.S \
    89         arch/$(ARCH)/src/proc/scheduler.c \
    90         arch/$(ARCH)/src/bios/bios.c \
    91         arch/$(ARCH)/src/smp/ap.S \
    92         arch/$(ARCH)/src/smp/apic.c \
    93         arch/$(ARCH)/src/smp/mps.c \
    94         arch/$(ARCH)/src/smp/smp.c \
    95         arch/$(ARCH)/src/atomic.S \
    96         arch/$(ARCH)/src/smp/ipi.c \
    97         arch/$(ARCH)/src/ia32.c \
     116        arch/$(ARCH)/src/exception.c \
    98117        arch/$(ARCH)/src/interrupt.c \
    99         arch/$(ARCH)/src/pm.c \
    100         arch/$(ARCH)/src/userspace.c \
     118        arch/$(ARCH)/src/cache.c \
    101119        arch/$(ARCH)/src/cpu/cpu.c \
     120        arch/$(ARCH)/src/mm/asid.c \
    102121        arch/$(ARCH)/src/mm/frame.c \
    103         arch/$(ARCH)/src/mm/memory_init.c \
    104122        arch/$(ARCH)/src/mm/page.c \
    105123        arch/$(ARCH)/src/mm/tlb.c \
    106         arch/$(ARCH)/src/drivers/i8042.c \
    107         arch/$(ARCH)/src/drivers/i8254.c \
    108         arch/$(ARCH)/src/drivers/i8259.c \
    109         arch/$(ARCH)/src/drivers/ega.c \
    110         arch/$(ARCH)/src/boot/boot.S \
    111         arch/$(ARCH)/src/boot/memmap.S \
    112         arch/$(ARCH)/src/fpu_context.c\
    113         arch/$(ARCH)/src/fmath.c
    114 
    115 
    116 
    117 
    118 
    119 
    120 
    121 
    122 
    123 
    124 
    125 
    126 
    127 
    128 
    129 
    130 DEFS= -DMACHINE=${MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS}
    131 CFLAGS=-mno-abicalls -G 0 -nostdlib -fno-builtin -O2  -fno-zero-initialized-in-bss
    132 LFLAGS=
    133 
    134 # GCC 4.0.1 compiled for mipsEL has problems compiling in
    135 # BigEndian mode with the swl/swr/lwl/lwr instructions.
    136 # We have to compile it with mips-sgi-irix5 to get it right.
    137 ifeq (${MACHINE},indy)
    138  MIPS_TARGET=mips-sgi-irix5
    139  MIPS_CC_DIR=/usr/local/mips/bin
    140  MIPS_BINUTILS_DIR=/usr/local/mips/bin
    141 
    142  CFLAGS += -EB -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY -march=r4600
    143  BFD = ecoff-bigmips
    144  KERNEL_LOAD_ADDRESS = 0x88002000
    145  BFD_NAME=elf32-bigmips
    146 endif
    147 
    148 ifeq (${MACHINE},lgxemul)
    149  CFLAGS += -DHAVE_FPU -DFPU_LAZY -mips3
    150  BFD = ecoff-littlemips
    151  KERNEL_LOAD_ADDRESS = 0x80100000
    152  BFD_NAME=elf32-tradlittlemips
    153 endif
    154 
    155 ifeq (${MACHINE},bgxemul)
    156  MIPS_TARGET=mips-sgi-irix5
    157  MIPS_CC_DIR=/usr/local/mips/bin
    158  MIPS_BINUTILS_DIR=/usr/local/mips/bin
    159 
    160  CFLAGS += -EB -DBIG_ENDIAN -DHAVE_FPU -DFPU_LAZY -mips3
    161  BFD = ecoff-bigmips
    162  KERNEL_LOAD_ADDRESS = 0x80100000
    163  BFD_NAME=elf32-bigmips
    164 endif
    165 
    166 # MSIM needs lwl/swl patch & 4kc instruction patch to work
    167 # otherwise add -mmemcpy -mips3
    168 ifeq (${MACHINE},msim4kc)
    169  BFD = binary
    170  CFLAGS += -mhard-float -march=4kc
    171  KERNEL_LOAD_ADDRESS = 0x80100000
    172  BFD_NAME=elf32-tradlittlemips
    173 endif
    174 
    175 ifeq (${MACHINE},msim)
    176  BFD = binary
    177  CFLAGS += -mhard-float -mips3
    178  KERNEL_LOAD_ADDRESS = 0x80100000
    179  BFD_NAME=elf32-tradlittlemips
    180 endif
    181 
    182 # SIMICS 4kc emulation is broken, although for instructions
    183 # that do not bother us
    184 ifeq (${MACHINE},simics)
    185  BFD = elf32-tradlittlemips
    186  CFLAGS += -mhard-float -mips3
    187  KERNEL_LOAD_ADDRESS = 0x80100000
    188  BFD_NAME=elf32-tradlittlemips
    189 endif
    190 
    191 arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in
    192         $(CC) $(CFLAGS) -C -DBFD=${BFD} -E -x c $< | grep -v "^\#" > $@
    193 
    194 arch_sources= \
    195         generic/src/arch/start.S \
    196         generic/src/arch/context.S \
    197         generic/src/arch/panic.S \
    198         generic/src/arch/mips32.c \
    199         generic/src/arch/dummy.S \
    200         generic/src/arch/console.c \
    201         generic/src/arch/asm.S \
    202         generic/src/arch/exception.c \
    203         generic/src/arch/interrupt.c \
    204         generic/src/arch/cache.c \
    205         generic/src/arch/cpu/cpu.c \
    206         generic/src/arch/mm/asid.c \
    207         generic/src/arch/mm/frame.c \
    208         generic/src/arch/mm/page.c \
    209         generic/src/arch/mm/tlb.c \
    210         generic/src/arch/mm/vm.c \
    211         generic/src/arch/fpu_context.c \
    212         generic/src/arch/fmath.c \
    213         generic/src/arch/drivers/arc.c
     124        arch/$(ARCH)/src/mm/vm.c \
     125        arch/$(ARCH)/src/fpu_context.c \
     126        arch/$(ARCH)/src/fmath.c \
     127        arch/$(ARCH)/src/drivers/arc.c
Note: See TracChangeset for help on using the changeset viewer.