Ignore:
File:
1 edited

Legend:

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

    r8786aa5 r00b1d20e  
    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 PRECHECK=$(PRECHECK)
     35ifndef CROSS_PREFIX
     36        CROSS_PREFIX = /usr/local
     37endif
     38
     39BFD_NAME = elf64-ia64-little
     40BFD_ARCH = ia64
     41TARGET = ia64-pc-linux-gnu
     42TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia64/bin
     43
     44ifeq ($(COMPILER),gcc_native)
     45        CC = gcc
     46        AS = as
     47        LD = ld
     48        OBJCOPY = objcopy
     49        OBJDUMP = objdump
     50        GEFI_PREFIX =
     51endif
     52
     53ifeq ($(COMPILER),icc_native)
     54        CC = icc
     55        AS = as
     56        LD = ld
     57        OBJCOPY = objcopy
     58        OBJDUMP = objdump
     59endif
     60
     61ifeq ($(COMPILER),gcc_cross)
     62        CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
     63        AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
     64        LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld
     65        OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy
     66        OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
     67        GEFI_PREFIX = $(TOOLCHAIN_DIR)/$(TARGET)-
     68endif
     69
     70#-mno-pic means do not use gp + imm22 to address data
     71CFLAGS = -DRELEASE=$(RELEASE) -I. -I../../../generic -I../../../genarch -I../../../../kernel/generic/include -imacros ../../../../config.h -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -fno-unwind-tables -mfixed-range=f32-f127 -mno-pic -pipe
     72
     73SOURCES = \
     74        main.c \
     75        ../../../generic/printf.c \
     76        ../../../generic/string.c \
     77        ../../../genarch/balloc.c \
     78        _components.c \
     79        asm.S \
     80        boot.S
     81
     82NOCOMPONENTS = \
     83        $(KERNELDIR)/kernel.bin
     84COMPONENTS = \
     85        $(KERNELDIR)/kernel.bin \
     86        $(USPACEDIR)/srv/ns/ns \
     87        $(USPACEDIR)/srv/loader/loader \
     88        $(USPACEDIR)/app/init/init \
     89        $(USPACEDIR)/srv/devmap/devmap \
     90        $(USPACEDIR)/srv/bd/rd/rd \
     91        $(USPACEDIR)/srv/vfs/vfs
     92ifeq ($(RDFMT),tmpfs)
     93        COMPONENTS += $(USPACEDIR)/srv/fs/tmpfs/tmpfs
     94endif
     95ifeq ($(RDFMT),fat)
     96        COMPONENTS += $(USPACEDIR)/srv/fs/fat/fat
     97endif
     98
     99RD_SRVS = \
     100        $(USPACEDIR)/srv/fb/fb \
     101        $(USPACEDIR)/srv/kbd/kbd \
     102        $(USPACEDIR)/srv/console/console \
     103        $(USPACEDIR)/srv/fs/devfs/devfs \
     104        $(USPACEDIR)/srv/fs/tmpfs/tmpfs \
     105        $(USPACEDIR)/srv/fs/fat/fat \
     106        $(USPACEDIR)/srv/bd/file_bd/file_bd \
     107        $(USPACEDIR)/srv/part/mbr_part/mbr_part
     108
     109RD_APPS = \
     110        $(USPACEDIR)/app/getvc/getvc \
     111        $(USPACEDIR)/app/tetris/tetris \
     112        $(USPACEDIR)/app/tester/tester \
     113        $(USPACEDIR)/app/trace/trace \
     114        $(USPACEDIR)/app/klog/klog \
     115        $(USPACEDIR)/app/bdsh/bdsh
     116
     117OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
     118COMPONENT_OBJECTS := $(addsuffix .o,$(basename $(notdir $(COMPONENTS))))
     119
     120.PHONY: all clean depend
     121
     122all: hello.efi disasm
     123
     124-include Makefile.depend
     125
     126hello.efi: image.boot
     127        make -C gefi/HelenOS PREFIX=$(GEFI_PREFIX)
     128        cp gefi/HelenOS/hello.efi ../../../../
     129        cp gefi/HelenOS/image.bin ../../../../
     130
     131image.boot: depend _components.h _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS)
     132        $(LD) -Map image.map -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) -o $@
     133
     134depend:
     135        -makedepend -f - -- $(DEFS) $(CFLAGS) -- $(SOURCES) > Makefile.depend 2> /dev/null
    37136
    38137clean:
    39         $(MAKE) -C gefi clean
    40         $(MAKE) -C gefi/HelenOS clean
    41         for file in $(RD_SRVS) ; do \
     138        -for file in $(RD_SRVS) ; do \
    42139                rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
    43140        done
    44         for file in $(RD_APPS) ; do \
     141        -for file in $(RD_APPS) ; do \
    45142                rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
    46143        done
    47         rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(HELLO) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
    48         find . -name '*.o' -follow -exec rm \{\} \;
    49         find . -name '*.co' -follow -exec rm \{\} \;
     144        -rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) image.boot image.map image.disasm initrd.img image.boot Makefile.depend ../../../../image.bin ../../../../hello.efi
     145        make -C gefi clean
     146        make -C gefi/HelenOS clean
     147
     148_components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o: $(COMPONENTS) $(RD_SRVS) $(RD_APPS) _link.ld.in
     149        for file in $(RD_SRVS) ; do \
     150                cp $$file $(USPACEDIR)/dist/srv/ ; \
     151        done
     152        for file in $(RD_APPS) ; do \
     153                cp $$file $(USPACEDIR)/dist/app/ ; \
     154        done
     155ifeq ($(RDFMT),tmpfs)
     156        ../../../../tools/mktmpfs.py $(USPACEDIR)/dist/ initrd.fs
     157endif
     158ifeq ($(RDFMT),fat)
     159        ../../../../tools/mkfat.py $(USPACEDIR)/dist/ initrd.fs
     160endif
     161        ../../../../tools/mkhord.py 16384 initrd.fs initrd.img
     162        rm initrd.fs
     163        ../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 16384 "unsigned long" $(COMPONENTS) ./initrd.img
     164
     165%.o: %.S
     166        $(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
     167
     168%.o: %.c
     169        $(CC) $(DEFS) $(CFLAGS) -c $< -o $@
     170
     171disasm: image.boot
     172        $(OBJDUMP) -d image.boot > image.disasm
Note: See TracChangeset for help on using the changeset viewer.