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