Merge commit 'origin/gallium-master-merge'
[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/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 INCLUDE_DIRS = \
41 -I$(TOP)/src/mesa \
42 -I$(TOP)/src/gallium/include \
43 -I$(TOP)/src/gallium/auxiliary \
44 -I$(TOP)/src/gallium/drivers
45
46
47 .c.o:
48 $(SPU_CC) $(SPU_CFLAGS) -c $<
49
50 .c.s:
51 $(SPU_CC) $(SPU_CFLAGS) -O3 -S $<
52
53
54 # The .a file will be linked into the main/PPU executable
55 default: $(PROG_SPU_A)
56
57 $(PROG_SPU_A): $(PROG_SPU_EMBED_O)
58 $(SPU_AR) $(SPU_AR_FLAGS) $(PROG_SPU_A) $(PROG_SPU_EMBED_O)
59
60 $(PROG_SPU_EMBED_O): $(PROG_SPU)
61 $(SPU_EMBED) $(SPU_EMBED_FLAGS) $(PROG_SPU) $(PROG_SPU) $(PROG_SPU_EMBED_O)
62
63 $(PROG_SPU): $(SPU_OBJECTS)
64 $(SPU_CC) -o $(PROG_SPU) $(SPU_OBJECTS) $(SPU_LFLAGS)
65
66
67
68 asmfiles: $(SPU_ASM_OUT)
69
70
71 clean:
72 rm -f *~ *.o *.a *.d *.s $(PROG_SPU)
73
74
75
76 depend: $(SOURCES)
77 rm -f depend
78 touch depend
79 $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(SOURCES) 2> /dev/null
80
81 include depend
82