1 ###############################################################################
2 # Automake targets and declarations
3 ###############################################################################
7 # SUBDIRS stores the directories where a "make" is required when building
8 # something. DIST_SUBDIRS stores the directories where nothing is built but
9 # which have makefiles with distribution information.
10 # - intl should come before modules and . because all the code uses gettext
11 # - modules should come before . because vlc needs the builtins
12 # - . should come before mozilla/bindings because the plugin needs libvlc_pic.a
13 # - po should come before . because VLC.app needs the pofiles
14 # - loader should come before modules because some plugins need it
15 SUBDIRS = intl loader modules po . mozilla bindings activex share m4 doc
16 DIST_SUBDIRS = $(SUBDIRS) debian ipkg lib
33 src/misc/modules_builtin.h.in \
36 BUILT_SOURCES_distclean = vlc-config
37 BUILT_SOURCES_clean = \
39 src/misc/modules_builtin.h \
43 BUILT_SOURCES = $(BUILT_SOURCES_distclean) $(BUILT_SOURCES_clean)
47 DISTCHECK_CONFIGURE_FLAGS = --disable-dvd --disable-mad --disable-libmpeg2 \
48 --disable-ffmpeg --disable-faad --disable-skins2
50 # Tell aclocal to use -I m4. Wonder if it really works.
51 ACLOCAL_AMFLAGS = -I m4
53 # XXX: these flags could be set in configure.ac, but we set them here
54 # because old versions of automake don't support them in configure.ac.
55 AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects
57 ###############################################################################
59 ###############################################################################
61 pkgincludedir = $(includedir)/vlc
63 dist_pkginclude_HEADERS = \
68 include/vlc/decoder.h \
71 include/vlc/control.h \
74 noinst_HEADERS = $(HEADERS_include)
75 noinst_DATA = $(DATA_noinst_beos) $(DATA_noinst_libvlc)
78 include/aout_internal.h \
79 include/audio_output.h \
80 include/beos_specific.h \
83 include/configuration.h \
84 include/darwin_specific.h \
85 include/intf_eject.h \
90 include/modules_inner.h \
93 include/os_specific.h \
95 include/stream_output.h \
97 include/video_output.h \
98 include/vlc_access.h \
101 include/vlc_block.h \
102 include/vlc_block_helper.h \
103 include/vlc_codec.h \
104 include/vlc_common.h \
105 include/vlc_config.h \
107 include/vlc_demux.h \
108 include/vlc_error.h \
110 include/vlc_es_out.h \
111 include/vlc_filter.h \
112 include/vlc_config_cat.h \
113 include/vlc_httpd.h \
116 include/vlc_image.h \
117 include/vlc_input.h \
118 include/vlc_interaction.h \
119 include/vlc_interface.h \
121 include/vlc_messages.h \
123 include/vlc_objects.h \
125 include/vlc_playlist.h \
127 include/vlc_stream.h \
128 include/vlc_symbols.h \
129 include/vlc_threads_funcs.h \
130 include/vlc_threads.h \
131 include/vlc_video.h \
135 include/vout_synchro.h \
136 include/win32_specific.h \
139 src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in vlc-config
140 srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
141 touch src/misc/modules_builtin.h
143 src/misc/modules.c: src/misc/modules_builtin.h
145 src/misc/version.c: FORCE
146 srcdir=$(srcdir) $(srcdir)/toolbox --update-version
148 # These dependencies are mandatory
149 $(SOURCES_libvlc): $(LIB_intl)
151 ###############################################################################
152 # Optional libintl - FIXME, bad dependencies
153 ###############################################################################
155 intl/libintl.a: FORCE
156 cd $(top_builddir)/intl && $(MAKE) $(AM_MAKEFLAGS)
159 LIB_intl = intl/libintl.a
162 ###############################################################################
164 ###############################################################################
167 extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
168 extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
169 extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib \
170 extras/MacOSX/Resources/English.lproj/About.nib/classes.nib \
171 extras/MacOSX/Resources/English.lproj/About.nib/info.nib \
172 extras/MacOSX/Resources/English.lproj/About.nib/keyedobjects.nib \
173 extras/MacOSX/Resources/English.lproj/Open.nib/classes.nib \
174 extras/MacOSX/Resources/English.lproj/Open.nib/info.nib \
175 extras/MacOSX/Resources/English.lproj/Open.nib/keyedobjects.nib \
176 extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \
177 extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \
178 extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \
179 extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib \
180 extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib \
181 extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib \
182 extras/MacOSX/Resources/English.lproj/Bookmarks.nib/classes.nib \
183 extras/MacOSX/Resources/English.lproj/Bookmarks.nib/info.nib \
184 extras/MacOSX/Resources/English.lproj/Bookmarks.nib/keyedobjects.nib \
185 extras/MacOSX/Resources/English.lproj/Extended.nib/classes.nib \
186 extras/MacOSX/Resources/English.lproj/Extended.nib/info.nib \
187 extras/MacOSX/Resources/English.lproj/Extended.nib/keyedobjects.nib \
188 extras/MacOSX/Resources/English.lproj/SFilters.nib/classes.nib \
189 extras/MacOSX/Resources/English.lproj/SFilters.nib/info.nib \
190 extras/MacOSX/Resources/English.lproj/SFilters.nib/keyedobjects.nib \
191 extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
192 extras/MacOSX/Resources/a52.icns \
193 extras/MacOSX/Resources/aac.icns \
194 extras/MacOSX/Resources/asf.icns \
195 extras/MacOSX/Resources/asx.icns \
196 extras/MacOSX/Resources/avi.icns \
197 extras/MacOSX/Resources/bin.icns \
198 extras/MacOSX/Resources/cue.icns \
199 extras/MacOSX/Resources/dat.icns \
200 extras/MacOSX/Resources/divx.icns \
201 extras/MacOSX/Resources/dv.icns \
202 extras/MacOSX/Resources/generic.icns \
203 extras/MacOSX/Resources/m3u.icns \
204 extras/MacOSX/Resources/mov.icns \
205 extras/MacOSX/Resources/mp3.icns \
206 extras/MacOSX/Resources/mp4.icns \
207 extras/MacOSX/Resources/mpeg.icns \
208 extras/MacOSX/Resources/mpeg1.icns \
209 extras/MacOSX/Resources/mpeg2.icns \
210 extras/MacOSX/Resources/mpeg4.icns \
211 extras/MacOSX/Resources/mpg.icns \
212 extras/MacOSX/Resources/ogg.icns \
213 extras/MacOSX/Resources/ogm.icns \
214 extras/MacOSX/Resources/pls.icns \
215 extras/MacOSX/Resources/srt.icns \
216 extras/MacOSX/Resources/sub.icns \
217 extras/MacOSX/Resources/vlc.icns \
218 extras/MacOSX/Resources/vob.icns \
219 extras/MacOSX/Resources/wma.icns \
220 extras/MacOSX/Resources/wmv.icns \
221 extras/MacOSX/Resources/pause.png \
222 extras/MacOSX/Resources/pause_blue.png \
223 extras/MacOSX/Resources/play.png \
224 extras/MacOSX/Resources/play_blue.png \
225 extras/MacOSX/Resources/stop.png \
226 extras/MacOSX/Resources/stop_blue.png \
227 extras/MacOSX/Resources/display.png \
228 extras/MacOSX/Resources/display_slider.png \
229 extras/MacOSX/Resources/display_track.png \
230 extras/MacOSX/Resources/equalizerdrawer_active.png \
231 extras/MacOSX/Resources/equalizerdrawer_blue.png \
232 extras/MacOSX/Resources/fullscreen_active.png \
233 extras/MacOSX/Resources/fullscreen_blue.png \
234 extras/MacOSX/Resources/next_active.png \
235 extras/MacOSX/Resources/next_blue.png \
236 extras/MacOSX/Resources/playlistdrawer_active.png \
237 extras/MacOSX/Resources/playlistdrawer_blue.png \
238 extras/MacOSX/Resources/previous_active.png \
239 extras/MacOSX/Resources/previous_blue.png \
240 extras/MacOSX/Resources/skip_forward_active.png \
241 extras/MacOSX/Resources/skip_forward_blue.png \
242 extras/MacOSX/Resources/skip_previous_active.png \
243 extras/MacOSX/Resources/skip_previous_blue.png \
244 extras/MacOSX/Resources/volume_high.png \
245 extras/MacOSX/Resources/volume_low.png \
246 extras/MacOSX/Resources/volumeslider_blue.png \
247 extras/MacOSX/Resources/volumeslider_normal.png \
248 extras/MacOSX/Resources/volumetrack.png \
249 extras/MacOSX/Resources/about_bg.png \
250 extras/MacOSX/Resources/vlc.scriptSuite \
251 extras/MacOSX/Resources/vlc.scriptTerminology \
252 extras/MacOSX/Resources/README \
253 extras/MacOSX/vlc.pbproj/project.pbxproj \
254 extras/MacOSX/macosx-dmg \
255 extras/MacOSX/Delete_Preferences.app/Contents/Info.plist \
256 extras/MacOSX/Delete_Preferences.app/Contents/PkgInfo \
257 extras/MacOSX/Delete_Preferences.app/Contents/MacOS/applet \
258 extras/MacOSX/Delete_Preferences.app/Contents/Resources/description.rtfd/TXT.rtf \
259 extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.icns \
260 extras/MacOSX/Delete_Preferences.app/Contents/Resources/applet.rsrc \
261 extras/MacOSX/Delete_Preferences.app/Contents/Resources/Scripts/main.scpt \
266 ###############################################################################
267 # MS Visual Studio and eMbedded Visual Studio projects
268 ###############################################################################
273 msvc/plugins.dsp.in \
276 msvc/modules_builtin_msvc.h \
283 evc/modules_builtin_evc.h \
287 cd $(distdir) && srcdir=. $(SHELL) ./toolbox --update-vc
288 distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib
290 ###############################################################################
292 ###############################################################################
294 bin_SCRIPTS = vlc-config
295 vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in
296 $(SHELL) ./config.status --file=vlc-config
297 chmod 0755 vlc-config
299 vlc-config.in: vlc-config.in.in
300 ./config.status --recheck
302 MOSTLYCLEANFILES = $(DATA_noinst_libvlc)
303 CLEANFILES = $(BUILT_SOURCES_clean) stamp-builtin
304 DISTCLEANFILES = $(BUILT_SOURCES_distclean) vlc-config.in compile
307 lib_LIBRARIES = lib/libvlc.a
309 lib_LIBRARIES = lib/libvlc.a
311 lib_LIBRARIES += lib/libvlc_pic.a
316 lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
317 lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
318 lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
319 lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
321 lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
322 lib_libvlc_pic_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc pic`
323 lib_libvlc_pic_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc pic`
324 lib_libvlc_pic_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc pic`
327 OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
330 OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
333 OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
336 OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
339 OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
342 OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
345 # Build libvlc as a shared library
347 DATA_noinst_libvlc = libvlc$(LIBEXT)
349 OBJECTS_libvlc_so = $(lib_libvlc_a_OBJECTS)
351 OBJECTS_libvlc_so = $(lib_libvlc_pic_a_OBJECTS)
355 libvlc$(LIBEXT): $(OBJECTS_libvlc_so)
356 @ldfl="`$(VLC_CONFIG) --libs plugin vlc $(pic) builtin`" ; \
357 case `$(VLC_CONFIG) --linkage vlc` in \
358 c++) ld="$(CXXLINK)" ;; \
359 objc) ld="$(OBJCLINK)" ;; \
360 c|*) ld="$(LINK)" ;; \
362 echo $$ld $(OBJECTS_libvlc_so) $$ldfl ; \
363 $$ld $(OBJECTS_libvlc_so) $$ldfl
366 $(SOURCES_libvlc_beos) \
367 $(SOURCES_libvlc_darwin) \
368 $(SOURCES_libvlc_win32) \
369 $(SOURCES_libvlc_dirent) \
370 $(SOURCES_libvlc_getopt) \
373 SOURCES_libvlc_beos = \
374 src/misc/beos_specific.cpp \
377 SOURCES_libvlc_darwin = \
378 src/misc/darwin_specific.m \
381 SOURCES_libvlc_win32 = \
382 src/misc/win32_specific.c \
385 SOURCES_libvlc_dirent = \
386 src/extras/dirent.c \
389 SOURCES_libvlc_getopt = \
390 src/extras/getopt.c \
391 src/extras/getopt.h \
392 src/extras/getopt1.c \
395 SOURCES_libvlc_common = \
398 src/interface/interface.c \
399 src/interface/intf_eject.c \
400 src/interface/interaction.c \
401 src/playlist/playlist.c \
402 src/playlist/sort.c \
403 src/playlist/loadsave.c \
404 src/playlist/view.c \
405 src/playlist/item.c \
406 src/playlist/item-ext.c \
407 src/playlist/services_discovery.c \
410 src/input/control.c \
411 src/input/decoder.c \
415 src/input/input_internal.h \
417 src/input/mem_stream.c \
418 src/input/subtitles.c \
420 src/video_output/video_output.c \
421 src/video_output/vout_pictures.c \
422 src/video_output/vout_pictures.h \
423 src/video_output/video_text.c \
424 src/video_output/video_widgets.c \
425 src/video_output/vout_subpictures.c \
426 src/video_output/vout_synchro.c \
427 src/video_output/vout_intf.c \
428 src/audio_output/common.c \
429 src/audio_output/dec.c \
430 src/audio_output/filters.c \
431 src/audio_output/input.c \
432 src/audio_output/mixer.c \
433 src/audio_output/output.c \
434 src/audio_output/intf.c \
435 src/stream_output/stream_output.c \
436 src/stream_output/announce.c \
437 src/stream_output/sap.c \
439 src/osd/osd_parser.c \
441 src/osd/osd_widgets.c \
443 src/network/getaddrinfo.c \
447 src/network/httpd.c \
457 src/misc/configuration.c \
459 src/misc/iso_lang.c \
460 src/misc/iso-639_def.h \
461 src/misc/messages.c \
463 src/misc/variables.c \
471 src/control/audio_video.c \
474 # These should be distributed, but not compiled
475 EXTRA_DIST += src/control/init.c src/control/plugin.c
478 $(SOURCES_libvlc_common) \
479 $(OPT_SOURCES_libvlc_beos) \
480 $(OPT_SOURCES_libvlc_darwin) \
481 $(OPT_SOURCES_libvlc_win32) \
482 $(OPT_SOURCES_libvlc_dirent) \
483 $(OPT_SOURCES_libvlc_getopt) \
486 ###############################################################################
488 ###############################################################################
492 vlc_SOURCES = src/vlc.c
494 # Work around a bug in the arm-wince-pe linker
496 vlc_WORKAROUNDLDFLAGS = $(LIB_libvlc)
500 ### libvlc.so cannot be created into lib/
501 LIB_libvlc = libvlc$(LIBEXT)
503 #-Wl,-rpath $(libdir)
505 LIB_libvlc = lib/libvlc.a
506 LDFLAGS_libvlc = `$(VLC_CONFIG) --libs vlc builtin`
509 vlc_LDFLAGS = $(LDFLAGS_libvlc) $(vlc_WORKAROUNDLDFLAGS)
510 vlc_LDADD = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl)
511 vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
513 # We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
514 # old automake-1.5 bug (automake/279).
515 DEPENDENCIES_vlc = $(LIB_libvlc) $(DATA_win32_rc) $(LIB_intl)
517 vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
519 @case `$(VLC_CONFIG) --linkage vlc builtin` in \
520 c++) cmd="$(CXXLINK)" ;; \
521 objc) cmd="$(OBJCLINK)" ;; \
522 c|*) cmd="$(LINK)" ;; \
524 cmd="$$cmd $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS)" ; \
529 DATA_noinst_beos = vlc-bundle
531 rm -Rf $(top_builddir)/vlc-bundle ; mkdir -p $(top_builddir)/vlc-bundle
532 cp $(top_builddir)/vlc $(top_builddir)/vlc-bundle/
533 xres -o $(top_builddir)/vlc-bundle/vlc $(srcdir)/share/vlc_beos.rsrc
534 for i in "" `$(VLC_CONFIG) --target plugin` ; do \
535 if test -n "$$i" ; then \
536 mkdir -p $(top_builddir)/vlc-bundle/plugins ; \
537 cp "$$i$(LIBEXT)" $(top_builddir)/vlc-bundle/plugins/ ; \
540 if test -d $(top_builddir)/extras/contrib/vlc-lib ; then \
541 mkdir -p $(top_builddir)/vlc-bundle/lib ; \
542 for i in $(top_builddir)/extras/contrib/vlc-lib/*.so ; do \
543 cp $$i $(top_builddir)/vlc-bundle/lib/ ; \
546 for i in $(ALL_LINGUAS); do \
547 mkdir -p "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES" ; \
548 cp "$(top_builddir)/po/$$i.gmo" \
549 "$(top_builddir)/vlc-bundle/locale/$$i/LC_MESSAGES/vlc.mo" || true ; \
551 find $(top_builddir)/vlc-bundle -type f -exec mimeset -f "{}" \;
554 # Install the symlinks and shared libvlc
556 for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
557 rm -f "$(DESTDIR)$(bindir)/$$i" && \
558 ln -sf vlc "$(DESTDIR)$(bindir)/$$i" ; \
560 test -z "$(DATA_noinst_libvlc)" || $(INSTALL_PROGRAM) "$(DATA_noinst_libvlc)" "$(DESTDIR)$(libdir)"
562 # the opposite of install-{data,exec}-local
564 for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
565 rm -f "$(DESTDIR)$(bindir)/$$i" ; \
567 test -z "$(DATA_noinst_libvlc)" || rm -f "$(DESTDIR)$(libdir)/$(DATA_noinst_libvlc)"
570 # Create the MacOS X app
571 vlc_app_DATA = VLC.app
572 vlc_appdir = $(bindir)
573 # VLC-release.app is the old VLC.app target
575 @if test -e "$(top_builddir)/tmp"; then \
576 echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
579 echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
581 rm -Rf $(top_builddir)/VLC-release.app
582 cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
583 for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
584 cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
586 mkdir -p $(top_builddir)/tmp/modules/audio_output
587 cp $(srcdir)/modules/audio_output/coreaudio.c \
588 $(top_builddir)/tmp/modules/audio_output/coreaudio.c
589 mkdir -p $(top_builddir)/tmp/modules/gui/macosx
628 cp "$(srcdir)/modules/gui/macosx/$$i" \
629 $(top_builddir)/tmp/modules/gui/macosx; \
631 case $(target_triplet) in \
632 *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
634 cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
635 $(top_builddir)/VLC-release.app;; \
636 *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
638 cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
639 $(top_builddir)/VLC-release.app;; \
640 *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
642 cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
643 $(top_builddir)/VLC-release.app;; \
645 rm -Rf $(top_builddir)/tmp
646 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
647 $(INSTALL) $(top_builddir)/vlc \
648 $(top_builddir)/VLC-release.app/Contents/MacOS/VLC
649 ln -sf ./VLC $(top_builddir)/VLC-release.app/Contents/MacOS/clivlc
650 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/modules
651 for i in "" `$(VLC_CONFIG) --target plugin` ; do \
653 then $(INSTALL) "$$i$(LIBEXT)" \
654 "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \
656 if test -d $(srcdir)/extras/contrib/vlc-lib; then \
657 mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
658 for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
659 $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
662 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share
663 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http
664 for i in $(srcdir)/share/http/* ; do \
665 $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
667 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale
668 for i in $(ALL_LINGUAS); do \
669 mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
670 cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
671 mkdir -p $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
672 ln -sf ../English.lproj/InfoPlist.strings \
673 $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
674 ln -sf ../English.lproj/MainMenu.nib \
675 $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
676 ln -sf ../English.lproj/vlc.scriptTerminology \
677 $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
679 printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo
682 @if test -e "$(top_builddir)/tmp"; then \
683 echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
686 echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
688 rm -Rf $(top_builddir)/VLC.app
689 cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
690 for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
691 cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
693 mkdir -p $(top_builddir)/tmp/modules/audio_output
694 cp $(srcdir)/modules/audio_output/coreaudio.c \
695 $(top_builddir)/tmp/modules/audio_output/coreaudio.c
696 mkdir -p $(top_builddir)/tmp/modules/gui/macosx
735 cp "$(srcdir)/modules/gui/macosx/$$i" \
736 $(top_builddir)/tmp/modules/gui/macosx; \
738 case $(target_triplet) in \
739 *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
741 cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
742 $(top_builddir)/VLC.app;; \
743 *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
745 cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
746 $(top_builddir)/VLC.app;; \
747 *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
749 cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
750 $(top_builddir)/VLC.app;; \
752 rm -Rf $(top_builddir)/tmp
753 $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
754 $(INSTALL) $(top_builddir)/vlc \
755 $(top_builddir)/VLC.app/Contents/MacOS/VLC
756 ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
757 $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
758 for i in "" `$(VLC_CONFIG) --target plugin` ; do \
760 then ln -sfn "`pwd`/$$i$(LIBEXT)" \
761 "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
763 if test -d $(srcdir)/extras/contrib/vlc-lib; then \
764 mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
765 for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
766 ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
769 ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
770 $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
771 for i in $(ALL_LINGUAS); do \
772 mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
773 ln -sfn `pwd`/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
774 mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
775 ln -sf ../English.lproj/InfoPlist.strings \
776 $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
777 ln -sf ../English.lproj/MainMenu.nib \
778 $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
780 printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
784 DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
785 noinst_share_vlc_win32_rc_DATA = share/vlc_win32_rc.$(OBJEXT)
786 noinst_share_vlc_win32_rcdir = $(libdir)
787 share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc
788 $(WINDRES) -DVERSION=$(VERSION) -DVERSION_NUMBER=`echo $(VERSION).0.0.0 | sed 's/\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\).*/\1,\2,\3,\4/'` --include-dir $(srcdir)/share -i $< -o $@
792 ###############################################################################
793 # Building specific source packages
794 ###############################################################################
797 $(remove_distdir_woody)
798 mv $(distdir) $(PACKAGE)-woody-$(VERSION)
799 $(srcdir)/toolbox --make-woody $(PACKAGE)-woody-$(VERSION)
800 $(AMTAR) chof - $(PACKAGE)-woody-$(VERSION) \
801 | GZIP=$(GZIP_ENV) gzip -c >$(PACKAGE)-woody-$(VERSION).tar.gz
802 $(remove_distdir_woody)
804 remove_distdir_woody = \
805 { test ! -d $(PACKAGE)-woody-$(VERSION) \
806 || { find $(PACKAGE)-woody-$(VERSION) -type d ! -perm -200 \
807 -exec chmod u+w {} ';' \
808 && rm -fr $(PACKAGE)-woody-$(VERSION); }; }
810 ###############################################################################
811 # Building architecture-specific binary packages
812 ###############################################################################
814 # XXX: this rule is probably only useful to you if you have exactly
815 # the same setup as me. Contact sam@zoy.org if you need to use it.
818 # Check that tmp isn't in the way
819 @if test -e "$(top_builddir)/vlc-${VERSION}"; then \
820 echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \
823 echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
826 # Copy relevant files
827 cp "$(srcdir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
828 cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
829 cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
830 $(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
832 for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
833 do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
834 unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done
836 mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
837 for i in "" `$(VLC_CONFIG) --target plugin` ; do \
838 if test -n "$$i" ; then \
839 $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
840 "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
843 for i in "" $(top_builddir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
844 do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done
846 mkdir $(top_builddir)/vlc-${VERSION}/locale
847 for i in $(ALL_LINGUAS); do \
848 mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
849 cp "$(srcdir)/po/$${i}.gmo" \
850 "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
854 mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
855 for i in $(srcdir)/share/skins2/fonts/*.*; do \
856 cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
858 for i in $(srcdir)/share/skins2/*.*; do \
859 cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
862 mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu"
863 cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-${VERSION}/osdmenu"
864 for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume;do \
865 mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir"; \
866 for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \
867 cp $$file "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir" || true; \
870 unix2dos $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg;
871 sed -i 's%share/osdmenu%osdmenu%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg
872 sed -i 's%/%\\%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg
874 mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
875 mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
876 cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
877 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
878 cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
879 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
880 cp $(srcdir)/share/http/*.js $(top_builddir)/vlc-${VERSION}/http/ ;
881 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.js ;
882 cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
883 cp $(srcdir)/share/http/images/*.png $(top_builddir)/vlc-${VERSION}/http/images/
884 cp $(srcdir)/share/http/requests/*.xml $(top_builddir)/vlc-${VERSION}/http/requests/ ;
885 unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/*.xml ;
887 cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
889 mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
891 cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
892 $(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
893 cp $(top_builddir)/mozilla/vlcintf.xpt $(top_builddir)/vlc-${VERSION}/mozilla/ ;
896 mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
898 cp $(srcdir)/activex/README.TXT $(top_builddir)/vlc-${VERSION}/activex/ ;
899 cp $(srcdir)/activex/test.html $(top_builddir)/vlc-${VERSION}/activex/ ;
900 unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;
902 cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
903 $(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
905 # Rebase all those DLLs to speed up loading (need cygwin rebase)
906 if [ -x rebase ]; then \
907 find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
910 package-win32-base-exe:
912 wine C:/Program\ Files/NSIS/makensis.exe \
913 /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
915 package-win32-base-exe-cygwin:
917 C:/Program\ Files/NSIS/makensis.exe \
918 /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
920 package-win32-base-exe-linux:
922 makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
924 package-win32-base-zip:
926 zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
928 package-win32-exe: package-win32-base package-win32-base-exe
930 rm -Rf $(top_builddir)/vlc-${VERSION}
932 package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
934 rm -Rf $(top_builddir)/vlc-${VERSION}
936 package-win32-zip: package-win32-base package-win32-base-zip
938 rm -Rf $(top_builddir)/vlc-${VERSION}
940 package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
942 rm -Rf $(top_builddir)/vlc-${VERSION}
945 # Check that tmp isn't in the way
946 @if test -e "$(top_builddir)/vlc-${VERSION}"; then \
947 echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \
950 echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
953 # Copy relevant files
954 cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
955 cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
956 $(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
958 for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
959 do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
960 unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done
962 mkdir $(top_builddir)/vlc-${VERSION}/locale
963 for i in $(ALL_LINGUAS); do \
964 mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
965 cp "$(srcdir)/po/$${i}.gmo" \
966 "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
971 mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
972 mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
973 cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
974 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
975 cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
976 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
977 cp $(srcdir)/share/http/*.js $(top_builddir)/vlc-${VERSION}/http/ ;
978 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.js ;
979 cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
980 cp $(srcdir)/share/http/images/*.png $(top_builddir)/vlc-${VERSION}/http/images/
981 cp $(srcdir)/share/http/requests/*.xml $(top_builddir)/vlc-${VERSION}/http/requests/ ;
982 unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/*.xml ;
984 cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
987 mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
988 cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
989 $(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
990 cp $(top_builddir)/mozilla/vlcintf.xpt $(top_builddir)/vlc-${VERSION}/mozilla/ ;
994 mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
995 cp $(srcdir)/activex/README.TXT $(top_builddir)/vlc-${VERSION}/activex/ ;
996 cp $(srcdir)/activex/test.html $(top_builddir)/vlc-${VERSION}/activex/ ;
997 unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;
999 cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
1000 $(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
1002 # Rebase all those DLLs to speed up loading (need cygwin rebase)
1003 if [ -x rebase ]; then \
1004 find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
1007 package-wince-base-zip:
1009 zip -r vlc-${VERSION}-wince.zip vlc-${VERSION}
1011 package-wince: package-wince-base package-wince-base-zip
1013 rm -Rf $(top_builddir)/vlc-${VERSION}
1017 # Check that tmp isn't in the way
1018 @if test -e $(srcdir)/tmp; then \
1019 echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
1022 echo "OK." ; mkdir $(srcdir)/tmp ; \
1025 # Copy relevant files
1026 mkdir -p $(srcdir)/tmp/vlc ;
1027 cd $(srcdir) && cp -R vlc-bundle/* AUTHORS COPYING ChangeLog README \
1028 THANKS NEWS tmp/vlc/ ;
1030 # Create debug package
1031 xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
1032 find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
1033 mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
1034 (cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
1035 mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
1036 mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
1038 # Create normal package
1039 $(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
1040 find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
1041 --strip-debug --strip-unneeded "{}" \; ;
1042 xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
1043 find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
1044 mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
1045 (cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
1046 mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
1049 rm -Rf $(srcdir)/tmp ;
1052 # Check that tmp isn't in the way
1053 @if test -e "$(top_builddir)/tmp"; then \
1054 echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
1057 echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
1060 # Copy relevant files
1061 cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/tmp/VLC.app"
1062 cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/tmp/ && cp -R extras/MacOSX/Delete_Preferences.app $(top_builddir)/tmp/
1065 $(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
1068 rm -Rf $(top_builddir)/tmp
1070 package-translations:
1071 @if test -e "$(srcdir)/vlc-translations-${VERSION}"; then \
1072 echo "Error: please remove $(srcdir)/vlc-translations-${VERSION}, it is in the way"; \
1075 echo "OK."; mkdir -p "$(srcdir)/vlc-translations-${VERSION}"; \
1078 for i in $(ALL_LINGUAS); do \
1079 cp "$(srcdir)/po/$${i}.po" \
1080 "$(srcdir)/vlc-translations-${VERSION}/$${i}.po" \
1083 cp "$(srcdir)/doc/translations.txt" \
1084 "$(srcdir)/vlc-translations-${VERSION}/README.txt"
1086 echo "#!/bin/sh" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1087 echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1088 echo 'if test $$# != 1; then' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1089 echo " echo \"Usage: convert-po.sh <.po file>\"" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1090 echo " exit 1" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1091 echo "fi" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1092 echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1093 echo 'msgfmt --statistics -o vlc.mo $$1' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1095 $(AMTAR) chof - $(srcdir)/vlc-translations-$(VERSION) \
1096 | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz
1098 ###############################################################################
1099 # PO translation files update
1100 ###############################################################################
1104 rm -f $(top_srcdir)/po/POTFILES.in
1106 cd $(top_srcdir) ; \
1107 echo "# automatically created by make update-po" ; \
1109 echo "# main sources" ; \
1110 find include src -name '*.[chm]' -o -name '*.[ch]pp' \
1111 | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \
1114 echo "# modules" ; \
1115 find modules -name '*.[chm]' -o -name '*.[ch]pp' \
1116 | grep -v '\(\.moc\.\|gui/gtk2/\)' \
1118 } > $(top_srcdir)/po/POTFILES.in
1119 rm -f $(top_srcdir)/po/vlc.pot
1120 cd po && $(MAKE) POTFILES vlc.pot update-po
1122 #cd po && $(MAKE) update-po
1124 ###############################################################################
1126 ###############################################################################
1127 stamp-builtin: FORCE
1128 @for dep in "" `$(VLC_CONFIG) --target builtin`; do \
1129 if test "$${dep}" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \
1134 @if test ! -f $@; then printf "" > $@; fi
1136 stamp-api: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl
1137 ( cd $(srcdir) && cat $(HEADERS_include) ) | \
1138 top_srcdir="$(top_srcdir)" perl $(top_srcdir)/vlc-api.pl
1141 ###############################################################################
1143 ###############################################################################