Changeset 6bc4dbd in mainline for arch/amd64


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

new build system upgrade
finished work for IA-32, IA-64, PPC-32, SPARC-64

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/amd64/Makefile.inc

    r849ba5cb r6bc4dbd  
    1 AMD64_TARGET=amd64-linux-gnu
    2 AMD64_CC_DIR=/usr/local/amd64/bin
    3 AMD64_BINUTILS_DIR=/usr/local/amd64/bin
     1#
     2# Copyright (C) 2005 Martin Decky
     3# All rights reserved.
     4#
     5# Redistribution and use in source and binary forms, with or without
     6# modification, are permitted provided that the following conditions
     7# are met:
     8#
     9# - Redistributions of source code must retain the above copyright
     10#   notice, this list of conditions and the following disclaimer.
     11# - Redistributions in binary form must reproduce the above copyright
     12#   notice, this list of conditions and the following disclaimer in the
     13#   documentation and/or other materials provided with the distribution.
     14# - The name of the author may not be used to endorse or promote products
     15#   derived from this software without specific prior written permission.
     16#
     17# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     18# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     19# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     20# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     21# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     22# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     23# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     24# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     25# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     26# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27#
    428
    5 CC=$(AMD64_CC_DIR)/$(AMD64_TARGET)-gcc
    6 AS=$(AMD64_BINUTILS_DIR)/$(AMD64_TARGET)-as
    7 LD=$(AMD64_BINUTILS_DIR)/$(AMD64_TARGET)-ld
    8 OBJDUMP=$(AMD64_BINUTILS_DIR)/$(AMD64_TARGET)-objdump
    9 OBJCOPY=$(AMD64_BINUTILS_DIR)/$(AMD64_TARGET)-objcopy
    10 BFD_NAME=elf64-x86-64
    11 BFD_ARCH=i386:x86-64
     29## Toolchain configuration
     30#
    1231
    13 DEFS=-DARCH=$(ARCH) -DFPU_LAZY
     32BFD_NAME = elf64-x86-64
     33BFD_ARCH = i386:x86-64
     34TARGET = amd64-linux-gnu
     35TOOLCHAIN_DIR = /usr/local/amd64/bin
    1436
    15 ifdef SMP
    16 DEFS+=-D$(SMP)
     37## Make some default assumptions
     38#
     39
     40ifndef CPU
     41        CPU = opteron
     42endif
     43CFLAGS += -fno-unwind-tables -m64 -mcmodel=kernel -mno-red-zone
     44
     45## Accepted CPUs
     46#
     47
     48ifeq ($(CPU),opteron)
     49        CFLAGS += -march=opteron
     50        DEFS += -DFENCES=p4
    1751endif
    1852
    19 ifdef HT
    20 DEFS+=-D$(HT)
     53## Own configuration directives
     54#
     55
     56CONFIG_ACPI = y
     57
     58## Accepted configuration directives
     59#
     60
     61ifeq ($(CONFIG_SMP),y)
     62        DEFS += -DSMP
     63endif
     64ifeq ($(CONFIG_HT),y)
     65        DEFS += -DHT
     66endif
     67ifeq ($(CONFIG_FPU_LAZY),y)
     68        DEFS += -DFPU_LAZY
    2169endif
    2270
     71ARCH_SOURCES = \
     72        arch/$(ARCH)/src/dummy.s \
     73        arch/$(ARCH)/src/fpu_context.c \
     74        arch/$(ARCH)/src/boot/boot.S \
     75        arch/$(ARCH)/src/boot/memmap.S \
     76        arch/$(ARCH)/src/pm.c \
     77        arch/$(ARCH)/src/context.S \
     78        arch/$(ARCH)/src/drivers/ega.c \
     79        arch/$(ARCH)/src/drivers/i8042.c \
     80        arch/$(ARCH)/src/drivers/i8254.c \
     81        arch/$(ARCH)/src/drivers/i8259.c \
     82        arch/$(ARCH)/src/delay.S \
     83        arch/$(ARCH)/src/amd64.c \
     84        arch/$(ARCH)/src/bios/bios.c \
     85        arch/$(ARCH)/src/interrupt.c \
     86        arch/$(ARCH)/src/mm/frame.c \
     87        arch/$(ARCH)/src/mm/page.c \
     88        arch/$(ARCH)/src/mm/tlb.c \
     89        arch/$(ARCH)/src/asm_utils.S \
     90        arch/$(ARCH)/src/fmath.c \
     91        arch/$(ARCH)/src/mm/memory_init.c \
     92        arch/$(ARCH)/src/cpu/cpu.c \
     93        arch/$(ARCH)/src/proc/scheduler.c \
     94        arch/$(ARCH)/src/userspace.c
    2395
    24 CFLAGS=$(DEFS) -nostdlib -fno-builtin -fno-unwind-tables -O3 -march=opteron -m64 -mcmodel=kernel -mno-red-zone
    25 LFLAGS=-M
    26 
    27 arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in
    28         $(CC) $(CFLAGS) -C -E -x c $< | grep -v "^\#" > $@
    29 
    30 arch_sources = \
    31         generic/src/arch/dummy.s \
    32         generic/src/arch/fpu_context.c \
    33         generic/src/arch/boot/boot.S \
    34         generic/src/arch/boot/memmap.S \
    35         generic/src/arch/pm.c \
    36         generic/src/arch/context.S \
    37         generic/src/arch/drivers/ega.c \
    38         generic/src/arch/drivers/i8042.c \
    39         generic/src/arch/drivers/i8254.c \
    40         generic/src/arch/drivers/i8259.c \
    41         generic/src/arch/delay.S \
    42         generic/src/arch/amd64.c \
    43         generic/src/arch/bios/bios.c \
    44         generic/src/arch/interrupt.c \
    45         generic/src/arch/mm/frame.c \
    46         generic/src/arch/mm/page.c \
    47         generic/src/arch/mm/tlb.c \
    48         generic/src/arch/asm_utils.S \
    49         generic/src/arch/fmath.c \
    50         generic/src/arch/mm/memory_init.c \
    51         generic/src/arch/cpu/cpu.c \
    52         generic/src/arch/proc/scheduler.c \
    53         generic/src/arch/userspace.c
    54 
    55 ifdef SMP
    56 arch_sources += generic/src/arch/smp/ap.S \
    57                 generic/src/arch/smp/apic.c \
    58                 generic/src/arch/smp/ipi.c \
    59                 generic/src/arch/smp/mps.c \
    60                 generic/src/arch/smp/smp.c
     96ifeq ($(CONFIG_SMP),y)
     97        ARCH_SOURCES += \
     98                arch/$(ARCH)/src/smp/ap.S \
     99                arch/$(ARCH)/src/smp/apic.c \
     100                arch/$(ARCH)/src/smp/ipi.c \
     101                arch/$(ARCH)/src/smp/mps.c \
     102                arch/$(ARCH)/src/smp/smp.c
    61103endif
Note: See TracChangeset for help on using the changeset viewer.