Merge branch 'master' of git://github.com/xbmc/xbmc
[vuplus_xbmc] / lib / Makefile.in
1 ARCH=@ARCH@
2 SYSROOT=@SYSROOT@
3
4 LD=@LD@
5 CC=@CC@
6 CXX=@CXX@
7 SHELL=@SHELL@
8 ifeq ($(findstring osx,$(ARCH)),osx)
9 ifeq ($(findstring arm,$(ARCH)),arm)
10 LDFLAGS=-arch armv7 -iphoneos_version_min 4.1 -bundle -undefined dynamic_lookup -read_only_relocs suppress
11 else
12 LDFLAGS=-bundle -undefined dynamic_lookup -read_only_relocs suppress
13 endif
14 else
15 LDFLAGS=-shared -fPIC -rdynamic
16 endif
17 SYSDIR=@abs_top_srcdir@/system/players/dvdplayer
18 WRAPPER=@abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper.o
19 WRAPPER_MACH_ALIAS=@abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper_mach_alias
20
21 DIRS=
22 ifneq (@USE_EXTERNAL_FFMPEG@,1)
23   DIRS+=ffmpeg
24 endif
25
26 LIBS=
27 ifneq (@USE_EXTERNAL_FFMPEG@,1)
28   LIBS+=avutil-50-$(ARCH).so \
29         avcodec-52-$(ARCH).so \
30         avcore-0-$(ARCH).so \
31         avformat-52-$(ARCH).so \
32         postproc-51-$(ARCH).so \
33         avfilter-1-$(ARCH).so \
34         swscale-0-$(ARCH).so
35 endif
36
37 ifneq (,$(findstring powerpc,$(ARCH)))
38   ARCH_DIR=ppc
39 else
40 ifeq ($(findstring arm,$(ARCH)),arm)
41   ARCH_DIR=arm
42 else
43   ARCH_DIR=x86
44 endif
45 endif
46
47 .PHONY: $(DIRS) codecs
48
49 codecs: $(addprefix $(SYSDIR)/, $(LIBS));
50
51
52 ifeq ($(findstring osx,$(ARCH)), osx)
53 # Add -lbundle1.o for powerpc-osx
54 ifeq ($(ARCH), powerpc-osx)
55 BUNDLE1_O = -lbundle1.o
56 endif
57
58 $(SYSDIR)/avutil-50-$(ARCH).so: $(WRAPPER) ffmpeg/libavutil/libavutil.dylib
59         $(LD) $(LDFLAGS) -alias_list $(WRAPPER_MACH_ALIAS) -o $@ \
60                 $(WRAPPER) ffmpeg/libavutil/*.o \
61                 ffmpeg/libavutil/$(ARCH_DIR)/*.o $(BUNDLE1_O)
62
63 $(SYSDIR)/avcodec-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavcodec/libavcodec.dylib
64         $(LD) $(LDFLAGS) -alias_list $(WRAPPER_MACH_ALIAS) -o $@ \
65                 $(WRAPPER) ffmpeg/libavcodec/*.o \
66                 ffmpeg/libavcodec/$(ARCH_DIR)/*.o $(BUNDLE1_O)
67
68 $(SYSDIR)/avcore-0-$(ARCH).so: $(WRAPPER) ffmpeg/libavcore/libavcore.dylib
69         $(LD) $(LDFLAGS) -alias_list $(WRAPPER_MACH_ALIAS)  -o $@ \
70                 $(WRAPPER) ffmpeg/libavcore/*.o $(BUNDLE1_O)
71
72 $(SYSDIR)/avformat-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavformat/libavformat.dylib
73         $(LD) $(LDFLAGS) -alias_list $(WRAPPER_MACH_ALIAS)  -o $@ \
74                 $(WRAPPER) ffmpeg/libavformat/*.o $(BUNDLE1_O)
75
76 $(SYSDIR)/avfilter-1-$(ARCH).so: $(WRAPPER) ffmpeg/libavfilter/libavfilter.dylib
77         $(LD) $(LDFLAGS) -alias_list $(WRAPPER_MACH_ALIAS)  -o $@ \
78                 $(WRAPPER) ffmpeg/libavfilter/*.o $(BUNDLE1_O)
79
80 ifneq ($(findstring arm,$(ARCH)), arm)
81 $(SYSDIR)/swscale-0-$(ARCH).so: $(WRAPPER) ffmpeg/libswscale/libswscale.dylib
82         $(LD) $(LDFLAGS) -alias_list $(WRAPPER_MACH_ALIAS)  -o $@ \
83                 $(WRAPPER) ffmpeg/libswscale/*.o \
84                 ffmpeg/libswscale/$(ARCH_DIR)/*.o $(BUNDLE1_O)
85 else # No ARM version of swscale available yet.
86 $(SYSDIR)/swscale-0-$(ARCH).so: $(WRAPPER) ffmpeg/libswscale/libswscale.dylib
87         $(LD) $(LDFLAGS) -alias_list $(WRAPPER_MACH_ALIAS)  -o $@ \
88                 $(WRAPPER) ffmpeg/libswscale/*.o
89 endif
90
91 $(SYSDIR)/postproc-51-$(ARCH).so: $(WRAPPER) ffmpeg/libpostproc/libpostproc.dylib
92         $(LD) $(LDFLAGS) -alias_list $(WRAPPER_MACH_ALIAS)  -o $@ \
93                 $(WRAPPER) ffmpeg/libpostproc/*.o $(BUNDLE1_O)
94
95 ffmpeg/libavutil/libavutil.dylib     : ffmpeg;
96 ffmpeg/libavcodec/libavcodec.dylib   : ffmpeg;
97 ffmpeg/libavcore/libavcore.dylib     : ffmpeg;
98 ffmpeg/libavformat/libavformat.dylib : ffmpeg;
99 ffmpeg/libavformat/libavfilter.dylib : ffmpeg;
100 ffmpeg/libswscale/libswscale.dylib   : ffmpeg;
101 ffmpeg/libpostproc/libpostproc.dylib : ffmpeg;
102 ffmpeg:
103         $(MAKE) -C $@
104
105 else
106
107 $(SYSDIR)/avutil-50-$(ARCH).so: ffmpeg/libavutil/libavutil.so
108         cp ffmpeg/libavutil/libavutil.so $@
109
110 $(SYSDIR)/avcodec-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavcodec/libavcodec.so
111         cp ffmpeg/libavcodec/libavcodec.so $@
112
113 $(SYSDIR)/avcore-0-$(ARCH).so: $(WRAPPER) ffmpeg/libavcore/libavcore.so
114         cp ffmpeg/libavcore/libavcore.so $@
115
116 $(SYSDIR)/avformat-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavformat/libavformat.so
117         cp ffmpeg/libavformat/libavformat.so $@
118
119 $(SYSDIR)/avfilter-1-$(ARCH).so: $(WRAPPER) ffmpeg/libavfilter/libavfilter.so
120         cp ffmpeg/libavfilter/libavfilter.so $@
121
122 ifneq ($(ARCH), arm)
123 $(SYSDIR)/swscale-0-$(ARCH).so: $(WRAPPER) ffmpeg/libswscale/libswscale.so
124         cp ffmpeg/libswscale/libswscale.so $@
125 else # No ARM version of swscale available yet.
126 $(SYSDIR)/swscale-0-$(ARCH).so: $(WRAPPER) ffmpeg/libswscale/libswscale.so
127         $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \
128                 ffmpeg/libswscale/*.o \
129                 `cat $(WRAPPER:.o=.def)` $(WRAPPER)
130 endif
131
132 $(SYSDIR)/postproc-51-$(ARCH).so: $(WRAPPER) ffmpeg/libpostproc/libpostproc.so
133         cp ffmpeg/libpostproc/libpostproc.so $@
134
135 ffmpeg/libavutil/libavutil.so     : ffmpeg;
136 ffmpeg/libavcodec/libavcodec.so   : ffmpeg;
137 ffmpeg/libavcore/libavcore.so     : ffmpeg;
138 ffmpeg/libavformat/libavformat.so : ffmpeg;
139 ffmpeg/libavfilter/libavfilter.so : ffmpeg;
140 ffmpeg/libswscale/libswscale.so   : ffmpeg;
141 ffmpeg/libpostproc/libpostproc.so : ffmpeg;
142 ffmpeg:
143         $(MAKE) -C $@
144
145 endif
146
147 clean:
148         rm -f $(addprefix $(SYSDIR)/, $(LIBS))
149         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
150
151 distclean:
152         rm -f $(addprefix $(SYSDIR)/, $(LIBS))
153         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done