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
12 LDFLAGS=-bundle -undefined dynamic_lookup -read_only_relocs suppress
15 LDFLAGS=-shared -fPIC -rdynamic
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
22 ifneq (@USE_EXTERNAL_FFMPEG@,1)
27 ifneq (@USE_EXTERNAL_FFMPEG@,1)
28 LIBS+=avutil-50-$(ARCH).so \
29 avcodec-52-$(ARCH).so \
31 avformat-52-$(ARCH).so \
32 postproc-51-$(ARCH).so \
33 avfilter-1-$(ARCH).so \
37 ifneq (,$(findstring powerpc,$(ARCH)))
40 ifeq ($(findstring arm,$(ARCH)),arm)
47 .PHONY: $(DIRS) codecs
49 codecs: $(addprefix $(SYSDIR)/, $(LIBS));
52 ifeq ($(findstring osx,$(ARCH)), osx)
53 # Add -lbundle1.o for powerpc-osx
54 ifeq ($(ARCH), powerpc-osx)
55 BUNDLE1_O = -lbundle1.o
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)
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)
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)
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)
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)
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
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)
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;
107 $(SYSDIR)/avutil-50-$(ARCH).so: ffmpeg/libavutil/libavutil.so
108 cp ffmpeg/libavutil/libavutil.so $@
110 $(SYSDIR)/avcodec-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavcodec/libavcodec.so
111 cp ffmpeg/libavcodec/libavcodec.so $@
113 $(SYSDIR)/avcore-0-$(ARCH).so: $(WRAPPER) ffmpeg/libavcore/libavcore.so
114 cp ffmpeg/libavcore/libavcore.so $@
116 $(SYSDIR)/avformat-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavformat/libavformat.so
117 cp ffmpeg/libavformat/libavformat.so $@
119 $(SYSDIR)/avfilter-1-$(ARCH).so: $(WRAPPER) ffmpeg/libavfilter/libavfilter.so
120 cp ffmpeg/libavfilter/libavfilter.so $@
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)
132 $(SYSDIR)/postproc-51-$(ARCH).so: $(WRAPPER) ffmpeg/libpostproc/libpostproc.so
133 cp ffmpeg/libpostproc/libpostproc.so $@
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;
148 rm -f $(addprefix $(SYSDIR)/, $(LIBS))
149 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
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