3 OBJCFLAGS=-fobjc-exceptions
4 LDFLAGS=-single_module -read_only_relocs suppress
6 # We should set this properly.
10 LIBVLC=$(top_builddir)/src/.libs/libvlc.1.dylib $(top_builddir)/src/.libs/libvlc-control.0.dylib
11 LIBVLC_HEADERS=$(top_srcdir)/include
12 VLCCONFIG=$(top_srcdir)/vlc-config
14 MODULES = $(patsubst %,$(SRC_DIR)/%,$(_MODULES))
21 VLC/VLCMediaDiscoverer.h \
22 VLC/VLCMediaLibrary.h \
24 VLC/VLCPlaylistDataSource.h \
25 VLC/VLCServicesDiscoverer.h \
29 EXPORTED_HEADERS = $(patsubst %,$(HEADERS_DIR)/%,$(_EXPORTED_HEADERS))
32 Resources/Info.plist \
33 Resources/version.plist
43 VLCMediaDiscoverer.m \
45 VLCPlaylistDataSource.m \
46 VLCServicesDiscoverer.m \
50 SRC = $(patsubst %,$(SRC_DIR)/%,$(_SRC))
52 HEADERS = $(EXPORTED_HEADERS)
54 INCLUDES= -I . -I $(LIBVLC_HEADERS) -I $(HEADERS_DIR)
56 FRAMEWORKS= -framework Cocoa
62 $(OBJECTS): $(HEADERS)
65 $(CC) -c $(CFLAGS) $(OBJCFLAGS) $(INCLUDES) $< -o $@
68 VLC.framework/Version/Current/Framework \
69 VLC.framework/Version/Current/Headers \
71 VLC.framework/lib/libvlc.dylib: $(top_builddir)/src/.libs/libvlc.dylib VLC.framework/lib
72 cp -f $(top_builddir)/src/.libs/libvlc.1.dylib VLC.framework/lib/libvlc.dylib && \
73 install_name_tool -id `pwd`/VLC.framework/lib/libvlc.1.dylib \
74 VLC.framework/lib/libvlc.dylib
75 install_name_tool -change @executable_path/lib/vlc_libintl.dylib \
76 `pwd`/VLC.framework/lib/vlc_libintl.dylib $@
78 VLC.framework/lib/libvlc-control.dylib: $(top_builddir)/src/.libs/libvlc-control.dylib VLC.framework/lib
79 mkdir -p VLC.framework/Version/Current/lib && \
81 install_name_tool -id `pwd`/$@ $@ && \
82 install_name_tool -change /usr/local/lib/libvlc.1.dylib \
83 `pwd`/VLC.framework/lib/libvlc.dylib $@
84 install_name_tool -change @executable_path/lib/vlc_libintl.dylib \
85 `pwd`/VLC.framework/lib/vlc_libintl.dylib $@
88 VLC.framework/Headers: $(HEADERS)
89 mkdir -p VLC.framework/Version/Current/Headers && \
90 cp -f $(EXPORTED_HEADERS) VLC.framework/Version/Current/Headers && \
91 ln -sf Version/Current/Headers VLC.framework
93 VLC.framework/Resources:
94 mkdir -p VLC.framework/Version/Current/Resources && \
95 cp -f $(EXPORTED_RESOURCES) VLC.framework/Version/Current/Resources && \
96 ln -sf Version/Current/Resources VLC.framework
99 VLC.framework/modules:
100 /usr/bin/install -c -d ./VLC.framework/Version/Current/modules && \
101 for i in `top_builddir="$(top_builddir)" $(VLCCONFIG) --target plugin` ; do \
104 cp "`pwd`/`dirname $$i`/.libs/`basename $$i`.dylib" \
105 "./VLC.framework/Version/Current/modules" ; \
106 module="./VLC.framework/Version/Current/modules/`basename $$i`.dylib"; \
107 install_name_tool -change /usr/local/lib/libvlc.1.dylib \
108 @loader_path/../lib/libvlc.dylib \
110 echo "changing install name of $$module";\
111 for lib in `otool -L "$$module" | grep @executable_path | sed 's/(\([0-z]*\ *\.*\,*\)*)//g'` ; do \
112 install_name_tool -change "$$lib" \
113 `echo "$$lib" | sed 's:executable_path:loader_path/../:'` \
118 ln -sf Version/Current/modules VLC.framework
122 cp -R $(top_builddir)/share ./VLC.framework/Version/Current && \
123 ln -sf Version/Current/share ./VLC.framework
126 mkdir -p VLC.framework/Version/Current/lib && \
127 if test -d $(top_builddir)/extras/contrib/vlc-lib; then \
128 for i in $(top_builddir)/extras/contrib/vlc-lib/*.dylib ; do \
129 module="VLC.framework/Version/Current/lib/`basename $${i}`"; \
130 cp `pwd`/$${i} $${module} ; \
131 install_name_tool -change /usr/local/lib/libvlc.1 @loader_path/../lib/libvlc.dylib \
133 echo "changing install name of $$module";\
134 for lib in `otool -L "$$module" | grep @executable_path | sed 's/(\([0-z]*\ *\.*\,*\)*)//g'` ; do \
135 install_name_tool -change "$$lib" \
136 `echo "$$lib" | sed 's:executable_path:loader_path/../:'` \
141 ln -sf Version/Current/lib VLC.framework
144 ln -sf Version/Current/VLC VLC.framework
146 VLC.framework/Version/Current/VLC: $(OBJECTS) VLC.framework/Headers VLC.framework/Resources VLC.framework/lib/libvlc-control.dylib VLC.framework/lib/libvlc.dylib VLC.framework/modules VLC.framework/share VLC.framework/VLC
147 mkdir -p VLC.framework/Version/Current/Framework && \
148 $(CXX) -dynamiclib $(LDFLAGS) $(OBJECTS) $(FRAMEWORKS) $(LIBVLC) $(MODULES) $(LIBS) -install_name @loader_path/../Frameworks/VLC.framework/Version/Current/VLC -o VLC.framework/Version/Current/VLC && \
149 install_name_tool -change /usr/local/lib/libvlc-control.0.dylib \
150 `pwd`/VLC.framework/lib/libvlc-control.dylib \
151 VLC.framework/Version/Current/VLC && \
152 install_name_tool -change /usr/local/lib/libvlc.1.dylib \
153 `pwd`/VLC.framework/lib/libvlc.dylib \
154 VLC.framework/Version/Current/VLC && \
157 VLC.framework:: VLC.framework/Version/Current/VLC
163 rm -Rf $(OBJECTS) *.o $(SRC_DIR)/*.o