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
11 LDFLAGS=-bundle -undefined dynamic_lookup -read_only_relocs suppress
14 LDFLAGS=-shared -fPIC -rdynamic
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
21 ifneq (@USE_EXTERNAL_FFMPEG@,1)
26 ifneq (@USE_EXTERNAL_FFMPEG@,1)
27 LIBS+=avutil-50-$(ARCH).so \
28 avcodec-52-$(ARCH).so \
30 avformat-52-$(ARCH).so \
31 postproc-51-$(ARCH).so \
32 avfilter-1-$(ARCH).so \
36 ifneq (,$(findstring powerpc,$(ARCH)))
39 ifeq ($(findstring arm,$(ARCH)),arm)
46 .PHONY: $(DIRS) codecs
48 codecs: $(addprefix $(SYSDIR)/, $(LIBS));
51 ifeq ($(findstring osx,$(ARCH)), osx)
52 # Add -lbundle1.o for powerpc-osx
53 ifeq ($(ARCH), powerpc-osx)
54 BUNDLE1_O = -lbundle1.o
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)
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)
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)
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)
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)
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
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)
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;
113 $(SYSDIR)/avutil-50-$(ARCH).so: ffmpeg/libavutil/libavutil.so
114 cp ffmpeg/libavutil/libavutil.so $@
116 $(SYSDIR)/avcodec-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavcodec/libavcodec.so
117 cp ffmpeg/libavcodec/libavcodec.so $@
119 $(SYSDIR)/avcore-0-$(ARCH).so: $(WRAPPER) ffmpeg/libavcore/libavcore.so
120 cp ffmpeg/libavcore/libavcore.so $@
122 $(SYSDIR)/avformat-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavformat/libavformat.so
123 cp ffmpeg/libavformat/libavformat.so $@
125 $(SYSDIR)/avfilter-1-$(ARCH).so: $(WRAPPER) ffmpeg/libavfilter/libavfilter.so
126 cp ffmpeg/libavfilter/libavfilter.so $@
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)
138 $(SYSDIR)/postproc-51-$(ARCH).so: $(WRAPPER) ffmpeg/libpostproc/libpostproc.so
139 cp ffmpeg/libpostproc/libpostproc.so $@
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;
154 rm -f $(addprefix $(SYSDIR)/, $(LIBS))
155 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
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