OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rc203soc/] [sw/] [uClinux/] [arch/] [alpha/] [boot/] [Makefile] - Rev 1622

Go to most recent revision | Compare with Previous | Blame | View Log

#
# arch/alpha/boot/Makefile
#
# This file is subject to the terms and conditions of the GNU General Public
# License.  See the file "COPYING" in the main directory of this archive
# for more details.
#
# Copyright (C) 1994 by Linus Torvalds
#

ifdef CONFIG_CROSSCOMPILE
# enable this for linking under OSF/1:
LINKFLAGS = -non_shared -T 0x20000000 -N
else
 elf=$(shell if $(LD) --help | grep elf64alpha >/dev/null; then echo yes; fi)
 ifeq ($(elf),yes)
  LINKFLAGS = -static -Ttext 0x20000000 -N
 else
  LINKFLAGS = -static -T bootloader.lds -N
 endif
endif

.S.s:
        $(CC) -D__ASSEMBLY__ -traditional -E -o $*.o $<
.S.o:
        $(CC) -D__ASSEMBLY__ -traditional -c -o $*.o $<

OBJECTS = head.o main.o
BPOBJECTS = head.o bootp.o
TARGETS = vmlinux.gz tools/objstrip # also needed by aboot & milo
VMLINUX = $(TOPDIR)/vmlinux
OBJSTRIP = tools/objstrip

all:    $(TARGETS)
        @echo Ready to install kernel in $(shell pwd)/vmlinux.gz

# normally no need to build these:
rawboot: vmlinux.nh tools/lxboot tools/bootlx

msb:    tools/lxboot tools/bootlx vmlinux.nh
        ( cat tools/lxboot tools/bootlx vmlinux.nh ) > /dev/rz0a
        disklabel -rw rz0 'linux' tools/lxboot tools/bootlx

bootimage:      tools/mkbb tools/lxboot tools/bootlx vmlinux.nh
        ( cat tools/lxboot tools/bootlx vmlinux.nh ) > bootimage
        tools/mkbb bootimage tools/lxboot

bootpfile:      tools/bootph vmlinux.nh
        ( cat tools/bootph vmlinux.nh ) > bootpfile

srmboot:        bootdevice bootimage
        dd if=bootimage of=$(BOOTDEV) bs=512 seek=1 skip=1
        tools/mkbb $(BOOTDEV) tools/lxboot

bootdevice:
        @test "$(BOOTDEV)" != ""  || (echo You must specify BOOTDEV ; exit -1)

vmlinux.gz: vmlinux
        gzip -fv vmlinux

#
# A raw binary without header.  Used by raw boot.
#
main.o: ksize.h

bootp.o: ksize.h

ksize.h: $(OBJSTRIP) vmlinux.nh
        echo "#define KERNEL_SIZE `$(OBJSTRIP) -p vmlinux.nh /dev/null`" > $@

vmlinux.nh: $(VMLINUX) $(OBJSTRIP)
ifeq ($(elf),yes)
        cp $(VMLINUX) vmlinux.stripped
        strip vmlinux.stripped          # work around ELF binutils bug...
        $(OBJSTRIP) -v vmlinux.stripped vmlinux.nh
        rm -f vmlinux.stripped
else
        $(OBJSTRIP) -v $(VMLINUX) vmlinux.nh
endif

vmlinux: $(TOPDIR)/vmlinux
        cp $(TOPDIR)/vmlinux vmlinux
        strip vmlinux

tools/lxboot: $(OBJSTRIP) bootloader
        $(OBJSTRIP) -p bootloader tools/lxboot

tools/bootlx: bootloader $(OBJSTRIP)
        $(OBJSTRIP) -vb bootloader tools/bootlx

tools/bootph: bootpheader $(OBJSTRIP)
        $(OBJSTRIP) -vb bootpheader tools/bootph

$(OBJSTRIP): $(OBJSTRIP).c
        $(HOSTCC) $(OBJSTRIP).c -o $(OBJSTRIP)

tools/mkbb: tools/mkbb.c
        $(HOSTCC) tools/mkbb.c -o tools/mkbb

bootloader: $(OBJECTS)
        $(LD) $(LINKFLAGS) \
                $(OBJECTS) \
                $(LIBS) \
                -o bootloader && strip bootloader || \
                (rm -f bootloader && exit 1)

bootpheader: $(BPOBJECTS)
        $(LD) $(LINKFLAGS) \
                $(BPOBJECTS) \
                $(LIBS) \
                -o bootpheader && strip bootpheader || \
                (rm -f bootpheader && exit 1)

clean:
        rm -f $(TARGETS) bootloader bootimage vmlinux.nh \
                tools/mkbb tools/bootlx tools/lxboot ksize.h

dep:

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.