Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / gallium / drivers / cell / spu / Makefile
1 # Gallium3D Cell driver: SPU code
2
3 # This makefile builds the g3d_spu.a file that's linked into the
4 # PPU code/library.
5
6
7 TOP = ../../../../..
8 include $(TOP)/configs/current
9
10
11 PROG = g3d
12
13 PROG_SPU = $(PROG)_spu
14 PROG_SPU_A = $(PROG)_spu.a
15 PROG_SPU_EMBED_O = $(PROG)_spu-embed.o
16
17
18 SOURCES = \
19         spu_command.c \
20         spu_dcache.c \
21         spu_funcs.c \
22         spu_main.c \
23         spu_per_fragment_op.c \
24         spu_render.c \
25         spu_texture.c \
26         spu_tile.c \
27         spu_tri.c
28
29 OLD_SOURCES = \
30         spu_exec.c \
31         spu_util.c \
32         spu_vertex_fetch.c \
33         spu_vertex_shader.c
34
35
36 SPU_OBJECTS = $(SOURCES:.c=.o)
37
38 SPU_ASM_OUT = $(SOURCES:.c=.s)
39
40
41 INCLUDE_DIRS = \
42         -I$(TOP)/src/mesa \
43         -I$(TOP)/src/gallium/include \
44         -I$(TOP)/src/gallium/auxiliary \
45         -I$(TOP)/src/gallium/drivers
46
47
48 .c.o:
49         $(SPU_CC) $(SPU_CFLAGS) -c $<
50
51 .c.s:
52         $(SPU_CC) $(SPU_CFLAGS) -O3 -S $<
53
54
55 # The .a file will be linked into the main/PPU executable
56 default: $(PROG_SPU_A)
57
58 $(PROG_SPU_A): $(PROG_SPU_EMBED_O)
59         $(SPU_AR) $(SPU_AR_FLAGS) $(PROG_SPU_A) $(PROG_SPU_EMBED_O)
60
61 $(PROG_SPU_EMBED_O): $(PROG_SPU)
62         $(SPU_EMBED) $(SPU_EMBED_FLAGS) $(PROG_SPU) $(PROG_SPU) $(PROG_SPU_EMBED_O)
63
64 $(PROG_SPU): $(SPU_OBJECTS)
65         $(SPU_CC) -o $(PROG_SPU) $(SPU_OBJECTS) $(SPU_LFLAGS)
66
67
68
69 asmfiles: $(SPU_ASM_OUT)
70
71
72 clean:
73         rm -f *~ *.o *.a *.d *.s $(PROG_SPU)
74
75
76
77 depend: $(SOURCES)
78         rm -f depend
79         touch depend
80         $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(SOURCES) 2> /dev/null
81
82 include depend
83