Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/sparc64/loader/Makefile

    r50989793 r3052ff4  
    11#
    2 # Copyright (c) 2005 Martin Decky
    3 # Copyright (c) 2007 Jakub Jermar
     2# Copyright (c) 2006 Martin Decky
    43# All rights reserved.
    54#
     
    2827#
    2928
    30 include Makefile.common
     29include ../../../../version
     30-include ../../../../Makefile.config
    3131
    32 .PHONY: all clean
     32## Toolchain configuration
     33#
    3334
    34 all: ../../../../version ../../../../Makefile.config ../../../../config.h ../../../../config.defs
    35         -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
    36         $(MAKE) -f Makefile.build
     35ifndef CROSS_PREFIX
     36        CROSS_PREFIX = /usr/local
     37endif
     38
     39BFD_NAME = elf64-sparc
     40BFD_ARCH = sparc
     41TARGET = sparc64-linux-gnu
     42TOOLCHAIN_DIR = $(CROSS_PREFIX)/sparc64/bin
     43
     44ifeq ($(COMPILER),gcc_native)
     45        CC = gcc
     46        AS = as
     47        LD = ld
     48        OBJCOPY = objcopy
     49        OBJDUMP = objdump
     50endif
     51
     52ifeq ($(COMPILER),gcc_cross)
     53        CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
     54        AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
     55        LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld
     56        OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy
     57        OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
     58endif
     59
     60CFLAGS = -DRELEASE=$(RELEASE) -I. -I../../../generic -I../../../genarch -imacros ../../../../config.h -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mcpu=ultrasparc -m64 -mno-fpu -pipe
     61
     62SOURCES = \
     63        main.c \
     64        _components.c \
     65        ../../../generic/printf.c \
     66        ../../../generic/string.c \
     67        ../../../genarch/balloc.c \
     68        ../../../genarch/ofw.c \
     69        ../../../genarch/ofw_tree.c \
     70        ofwarch.c \
     71        asm.S \
     72        boot.S
     73
     74#
     75# All components that go to image.boot without the ramdisk.
     76#
     77COMPONENTS = \
     78        $(KERNELDIR)/kernel.bin \
     79        $(USPACEDIR)/srv/ns/ns \
     80        $(USPACEDIR)/app/init/init \
     81        $(USPACEDIR)/srv/loader/loader \
     82        $(USPACEDIR)/srv/devmap/devmap \
     83        $(USPACEDIR)/srv/bd/rd/rd \
     84        $(USPACEDIR)/srv/vfs/vfs
     85ifeq ($(RDFMT),tmpfs)
     86        COMPONENTS += $(USPACEDIR)/srv/fs/tmpfs/tmpfs
     87endif
     88ifeq ($(RDFMT),fat)
     89        COMPONENTS += $(USPACEDIR)/srv/fs/fat/fat
     90endif
     91
     92#
     93# Final list of all components that go to image.boot.
     94#
     95ALL_COMPONENTS = $(COMPONENTS)
     96ifeq ($(CONFIG_RD_EXTERNAL),n)
     97        ALL_COMPONENTS += ./initrd.img
     98endif
     99
     100RD_SRVS = \
     101        $(USPACEDIR)/srv/fb/fb \
     102        $(USPACEDIR)/srv/kbd/kbd \
     103        $(USPACEDIR)/srv/console/console \
     104        $(USPACEDIR)/srv/fs/devfs/devfs \
     105        $(USPACEDIR)/srv/fs/tmpfs/tmpfs \
     106        $(USPACEDIR)/srv/bd/file_bd/file_bd \
     107        $(USPACEDIR)/srv/part/mbr_part/mbr_part
     108
     109ifeq ($(MACHINE),generic)
     110RD_SRVS += \
     111        $(USPACEDIR)/srv/fs/fat/fat \
     112        $(USPACEDIR)/srv/cir/fhc/fhc \
     113        $(USPACEDIR)/srv/cir/obio/obio
     114endif
     115
     116RD_APPS = \
     117        $(USPACEDIR)/app/edit/edit \
     118        $(USPACEDIR)/app/getvc/getvc \
     119        $(USPACEDIR)/app/tetris/tetris \
     120        $(USPACEDIR)/app/trace/trace \
     121        $(USPACEDIR)/app/bdsh/bdsh \
     122        $(USPACEDIR)/app/klog/klog
     123
     124ifeq ($(MACHINE),generic)
     125RD_APPS += \
     126        $(USPACEDIR)/app/tester/tester
     127endif
     128
     129OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
     130ALL_COMPONENT_OBJECTS := $(addsuffix .o,$(basename $(notdir $(ALL_COMPONENTS))))
     131
     132.PHONY: all clean depend
     133
     134all: image.boot disasm
     135
     136-include Makefile.depend
     137
     138image.boot: depend _components.h _link.ld $(ALL_COMPONENT_OBJECTS) $(OBJECTS)
     139        $(LD) -Map image.map -no-check-sections -N -T _link.ld $(ALL_COMPONENT_OBJECTS) $(OBJECTS) -o $@
     140
     141depend:
     142        -makedepend -f - -- $(DEFS) $(CFLAGS) -- $(SOURCES) > Makefile.depend 2> /dev/null
    37143
    38144clean:
    39         for file in $(RD_SRVS) $(RD_SRVS_GENERIC) ; do \
     145        -for file in $(RD_SRVS) ; do \
    40146                rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
    41147        done
    42         for file in $(RD_APPS) $(RD_APPS_GENERIC) ; do \
     148        -for file in $(RD_APPS) ; do \
    43149                rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
    44150        done
    45         rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
    46         find . -name '*.o' -follow -exec rm \{\} \;
    47         find . -name '*.co' -follow -exec rm \{\} \;
     151        -rm -f _components.h _components.c _link.ld $(ALL_COMPONENT_OBJECTS) $(OBJECTS) initrd.img image.boot image.map image.disasm Makefile.depend
     152
     153_components.h _components.c _link.ld $(ALL_COMPONENT_OBJECTS): $(COMPONENTS) $(RD_SRVS) $(RD_APPS) _link.ld.in
     154        for file in $(RD_SRVS) ; do \
     155                cp $$file $(USPACEDIR)/dist/srv/ ; \
     156        done
     157        for file in $(RD_APPS) ; do \
     158                cp $$file $(USPACEDIR)/dist/app/ ; \
     159        done
     160ifeq ($(RDFMT),tmpfs)
     161        ../../../../tools/mktmpfs.py $(USPACEDIR)/dist/ initrd.fs
     162endif
     163ifeq ($(RDFMT),fat)
     164        ../../../../tools/mkfat.py $(USPACEDIR)/dist/ initrd.fs
     165endif
     166        ../../../../tools/mkhord.py 16384 initrd.fs initrd.img
     167        rm initrd.fs
     168        ../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 1 "unsigned long" $(ALL_COMPONENTS)
     169
     170%.o: %.S
     171        $(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
     172
     173%.o: %.c
     174        $(CC) $(DEFS) $(CFLAGS) -c $< -o $@
     175
     176disasm: image.boot
     177        $(OBJDUMP) -d image.boot > image.disasm
Note: See TracChangeset for help on using the changeset viewer.