Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
[mesa.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/linux-cell
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_main.c \
20 spu_blend.c \
21 spu_dcache.c \
22 spu_per_fragment_op.c \
23 spu_render.c \
24 spu_texture.c \
25 spu_tile.c \
26 spu_tri.c \
27 spu_exec.c \
28 spu_util.c \
29 spu_vertex_fetch.c \
30 spu_vertex_shader.c
31
32 SPU_OBJECTS = $(SOURCES:.c=.o) \
33
34 SPU_ASM_OUT = $(SOURCES:.c=.s) \
35
36 INCLUDE_DIRS = \
37 -I$(TOP)/src/mesa \
38 -I$(TOP)/src/gallium/include \
39 -I$(TOP)/src/gallium/auxiliary \
40 -I$(TOP)/src/gallium/drivers
41
42
43 .c.o:
44 $(SPU_CC) $(SPU_CFLAGS) -c $<
45
46 .c.s:
47 $(SPU_CC) $(SPU_CFLAGS) -S $<
48
49
50 # The .a file will be linked into the main/PPU executable
51 default: $(PROG_SPU_A)
52
53 $(PROG_SPU_A): $(PROG_SPU_EMBED_O)
54 $(SPU_AR) $(SPU_AR_FLAGS) $(PROG_SPU_A) $(PROG_SPU_EMBED_O)
55
56 $(PROG_SPU_EMBED_O): $(PROG_SPU)
57 $(SPU_EMBED) $(SPU_EMBED_FLAGS) $(PROG_SPU) $(PROG_SPU) $(PROG_SPU_EMBED_O)
58
59 $(PROG_SPU): $(SPU_OBJECTS)
60 $(SPU_CC) -o $(PROG_SPU) $(SPU_OBJECTS) $(SPU_LFLAGS)
61
62
63
64 asmfiles: $(SPU_ASM_OUT)
65
66
67 clean:
68 rm -f *~ *.o *.a *.d *.s $(PROG_SPU)
69
70
71
72 depend: $(SOURCES)
73 rm -f depend
74 touch depend
75 $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(SOURCES) 2> /dev/null
76
77 include depend
78