SDL-1.2.14
[sdl_omap.git] / src / video / ps3 / spulibs / Makefile
1 # This Makefile is for building the CELL BE SPU libs
2 # libfb_writer_spu.so, libyuv2rgb_spu.so, libbilin_scaler_spu.so
3
4 # Toolchain
5 SPU_GCC=/usr/bin/spu-gcc
6 PPU_GCC=/usr/bin/gcc
7 PPU_EMBEDSPU=/usr/bin/embedspu
8 PPU_AR=/usr/bin/ar
9 PPU_LD=/usr/bin/ld
10 INSTALL=/usr/bin/install
11
12 SPU_CFLAGS=-W -Wall -Winline -Wno-main -I. -I /usr/spu/include -I /opt/cell/sdk/usr/spu/include -finline-limit=10000 -Winline -ftree-vectorize -funroll-loops -fmodulo-sched -ffast-math -fPIC -O2
13
14 # Usually /usr/lib, depending on your distribution
15 PREFIX=/usr/lib
16
17
18 all: libfb_writer_spu.a libfb_writer_spu.so \
19                                 libyuv2rgb_spu.so libyuv2rgb_spu.a \
20                                 libbilin_scaler_spu.so libbilin_scaler_spu.a
21
22
23 # fb_writer
24 fb_writer_spu-embed.o: fb_writer.c spu_common.h
25         $(SPU_GCC) $(SPU_CFLAGS) -o fb_writer_spu fb_writer.c -lm
26         $(PPU_EMBEDSPU) -m32 fb_writer_spu fb_writer_spu fb_writer_spu-embed.o
27
28 libfb_writer_spu.so: fb_writer_spu-embed.o
29         $(PPU_LD) -o libfb_writer_spu.so -shared -soname=libfb_writer_spu.so fb_writer_spu-embed.o
30
31 libfb_writer_spu.a: fb_writer_spu-embed.o
32         $(PPU_AR) -qcs libfb_writer_spu.a fb_writer_spu-embed.o
33
34
35 # yuv2rgb_converter
36 yuv2rgb_spu-embed.o: yuv2rgb_converter.c spu_common.h
37         $(SPU_GCC) $(SPU_CFLAGS) -o yuv2rgb_spu yuv2rgb_converter.c -lm
38         $(PPU_EMBEDSPU) -m32 yuv2rgb_spu yuv2rgb_spu yuv2rgb_spu-embed.o
39
40 libyuv2rgb_spu.a: yuv2rgb_spu-embed.o
41         $(PPU_AR) -qcs libyuv2rgb_spu.a yuv2rgb_spu-embed.o
42
43 libyuv2rgb_spu.so: yuv2rgb_spu-embed.o
44         $(PPU_LD) -o libyuv2rgb_spu.so -shared -soname=libyuv2rgb_spu.so yuv2rgb_spu-embed.o
45
46
47 # bilin_scaler
48 bilin_scaler_spu-embed.o: bilin_scaler.c spu_common.h
49         $(SPU_GCC) $(SPU_CFLAGS) -o bilin_scaler_spu bilin_scaler.c -lm
50         $(PPU_EMBEDSPU) -m32 bilin_scaler_spu bilin_scaler_spu bilin_scaler_spu-embed.o
51
52 libbilin_scaler_spu.a: bilin_scaler_spu-embed.o
53         $(PPU_AR) -qcs libbilin_scaler_spu.a bilin_scaler_spu-embed.o
54
55 libbilin_scaler_spu.so: bilin_scaler_spu-embed.o
56         $(PPU_LD) -o libbilin_scaler_spu.so -shared -soname=libbilin_scaler_spu.so bilin_scaler_spu-embed.o
57
58 install: libfb_writer_spu.a libfb_writer_spu.so \
59                                 libyuv2rgb_spu.so libyuv2rgb_spu.a \
60                                 libbilin_scaler_spu.so libbilin_scaler_spu.a
61         $(INSTALL) -c -m 0755 libfb_writer_spu.so $(PREFIX)/.
62         $(INSTALL) -c -m 0655 libfb_writer_spu.a $(PREFIX)/.
63         $(INSTALL) -c -m 0755 libyuv2rgb_spu.so $(PREFIX)/.
64         $(INSTALL) -c -m 0655 libyuv2rgb_spu.a $(PREFIX)/.
65         $(INSTALL) -c -m 0755 libbilin_scaler_spu.so $(PREFIX)/.
66         $(INSTALL) -c -m 0655 libbilin_scaler_spu.a $(PREFIX)/.
67
68
69 uninstall: $(PREFIX)/libfb_writer_spu.so $(PREFIX)/libfb_writer_spu.a \
70                 $(PREFIX)/libyuv2rgb_spu.so $(PREFIX)/libyuv2rgb_spu.a \
71                 $(PREFIX)/libbilin_scaler_spu.so $(PREFIX)/libbilin_scaler_spu.a
72         rm -f $(PREFIX)/libfb_writer_spu.a
73         rm -f $(PREFIX)/libfb_writer_spu.so
74         rm -f $(PREFIX)/libyuv2rgb_spu.so
75         rm -f $(PREFIX)/libyuv2rgb_spu.a
76         rm -f $(PREFIX)/libbilin_scaler_spu.so
77         rm -f $(PREFIX)/libbilin_scaler_spu.a
78
79
80 clean:
81         rm -f bilin_scaler_spu-embed.o libbilin_scaler_spu.so libbilin_scaler_spu.a bilin_scaler_spu
82         rm -f yuv2rgb_spu-embed.o libyuv2rgb_spu.so libyuv2rgb_spu.a yuv2rgb_spu
83         rm -f fb_writer_spu-embed.o libfb_writer_spu.so libfb_writer_spu.a fb_writer_spu