2 obj-
$(CONFIG_SPU_FS
) += spufs.o
3 spufs-y
+= inode.o file.o context.o syscalls.o coredump.o
4 spufs-y
+= sched.o backing_ops.o hw_ops.o run.o gang.o
5 spufs-y
+= switch.o fault.o lscsa_alloc.o
7 obj-
$(CONFIG_SPU_TRACE
) += sputrace.o
9 # Rules to build switch.o with the help of SPU tool chain
11 SPU_CC
:= $(SPU_CROSS
)gcc
12 SPU_AS
:= $(SPU_CROSS
)gcc
13 SPU_LD
:= $(SPU_CROSS
)ld
14 SPU_OBJCOPY
:= $(SPU_CROSS
)objcopy
15 SPU_CFLAGS
:= -O2
-Wall
-I
$(srctree
)/include \
16 -I
$(objtree
)/include2
-D__KERNEL__
17 SPU_AFLAGS
:= -c
-D__ASSEMBLY__
-I
$(srctree
)/include \
18 -I
$(objtree
)/include2
-D__KERNEL__
19 SPU_LDFLAGS
:= -N
-Ttext
=0x0
21 $(obj
)/switch.o
: $(obj
)/spu_save_dump.h
$(obj
)/spu_restore_dump.h
22 clean-files
:= spu_save_dump.h spu_restore_dump.h
25 cmd_spu_cc
= $(SPU_CC
) $(SPU_CFLAGS
) -c
-o
$@
$<
26 quiet_cmd_spu_cc
= SPU_CC
$@
27 $(obj
)/spu_
%.o
: $(src
)/spu_
%.c
28 $(call if_changed
,spu_cc
)
31 cmd_spu_as
= $(SPU_AS
) $(SPU_AFLAGS
) -o
$@
$<
32 quiet_cmd_spu_as
= SPU_AS
$@
33 $(obj
)/spu_
%.o
: $(src
)/spu_
%.S
34 $(call if_changed
,spu_as
)
36 # Link SPU Executables
37 cmd_spu_ld
= $(SPU_LD
) $(SPU_LDFLAGS
) -o
$@
$^
38 quiet_cmd_spu_ld
= SPU_LD
$@
39 $(obj
)/spu_
%: $(obj
)/spu_
%_crt0.o
$(obj
)/spu_
%.o
40 $(call if_changed
,spu_ld
)
42 # Copy into binary format
43 cmd_spu_objcopy
= $(SPU_OBJCOPY
) -O binary
$< $@
44 quiet_cmd_spu_objcopy
= OBJCOPY
$@
45 $(obj
)/spu_
%.bin
: $(src
)/spu_
%
46 $(call if_changed
,spu_objcopy
)
48 # create C code from ELF executable
51 echo
" * $*_dump.h: Copyright (C) 2005 IBM." ; \
52 echo
" * Hex-dump auto generated from $*.c." ; \
53 echo
" * Do not edit!" ; \
55 echo
"static unsigned int $*_code[] " \
56 "__attribute__((__aligned__(128))) = {" ; \
57 hexdump
-v
-e
'"0x" 4/1 "%02x" "," "\n"' $< ; \
60 quiet_cmd_hexdump
= HEXDUMP
$@
61 $(obj
)/%_dump.h
: $(obj
)/%.bin
62 $(call if_changed
,hexdump
)