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 mkdir -p $(top_builddir)/tmp/modules/gui/macosx
626 cp "$(srcdir)/modules/gui/macosx/$$i" \
627 $(top_builddir)/tmp/modules/gui/macosx; \
629 case $(target_triplet) in \
630 *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
632 cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
633 $(top_builddir)/VLC-release.app;; \
634 *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
636 cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
637 $(top_builddir)/VLC-release.app;; \
638 *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
640 cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
641 $(top_builddir)/VLC-release.app;; \
643 rm -Rf $(top_builddir)/tmp
644 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS
645 $(INSTALL) $(top_builddir)/vlc \
646 $(top_builddir)/VLC-release.app/Contents/MacOS/VLC
647 ln -sf ./VLC $(top_builddir)/VLC-release.app/Contents/MacOS/clivlc
648 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/modules
649 for i in "" `$(VLC_CONFIG) --target plugin` ; do \
651 then $(INSTALL) "$$i$(LIBEXT)" \
652 "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \
654 if test -d $(srcdir)/extras/contrib/vlc-lib; then \
655 mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \
656 for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
657 $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
660 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share
661 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http
662 for i in $(srcdir)/share/http/* ; do \
663 $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \
665 $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale
666 for i in $(ALL_LINGUAS); do \
667 mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
668 cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
669 mkdir -p $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
670 ln -sf ../English.lproj/InfoPlist.strings \
671 $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
672 ln -sf ../English.lproj/MainMenu.nib \
673 $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
674 ln -sf ../English.lproj/vlc.scriptTerminology \
675 $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \
677 printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo
680 @if test -e "$(top_builddir)/tmp"; then \
681 echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
684 echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
686 rm -Rf $(top_builddir)/VLC.app
687 cp -R $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
688 for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
689 cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
691 mkdir -p $(top_builddir)/tmp/modules/audio_output
692 mkdir -p $(top_builddir)/tmp/modules/gui/macosx
731 cp "$(srcdir)/modules/gui/macosx/$$i" \
732 $(top_builddir)/tmp/modules/gui/macosx; \
734 case $(target_triplet) in \
735 *darwin6*) cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
737 cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
738 $(top_builddir)/VLC.app;; \
739 *darwin7*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
741 cp -R $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
742 $(top_builddir)/VLC.app;; \
743 *darwin8*) cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'; \
745 cp -R $(top_builddir)/tmp/extras/MacOSX/build/Default/VLC.bundle \
746 $(top_builddir)/VLC.app;; \
748 rm -Rf $(top_builddir)/tmp
749 $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
750 $(INSTALL) $(top_builddir)/vlc \
751 $(top_builddir)/VLC.app/Contents/MacOS/VLC
752 ln -sf ./VLC $(top_builddir)/VLC.app/Contents/MacOS/clivlc
753 $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
754 for i in "" `$(VLC_CONFIG) --target plugin` ; do \
756 then ln -sfn "`pwd`/$$i$(LIBEXT)" \
757 "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
759 if test -d $(srcdir)/extras/contrib/vlc-lib; then \
760 mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
761 for i in $(srcdir)/extras/contrib/vlc-lib/*.dylib ; do \
762 ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \
765 ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/
766 $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
767 for i in $(ALL_LINGUAS); do \
768 mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
769 ln -sfn `pwd`/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
770 mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
771 ln -sf ../English.lproj/InfoPlist.strings \
772 $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
773 ln -sf ../English.lproj/MainMenu.nib \
774 $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
776 printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
780 DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
781 noinst_share_vlc_win32_rc_DATA = share/vlc_win32_rc.$(OBJEXT)
782 noinst_share_vlc_win32_rcdir = $(libdir)
783 share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc
784 $(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 $@
788 ###############################################################################
789 # Building specific source packages
790 ###############################################################################
793 $(remove_distdir_woody)
794 mv $(distdir) $(PACKAGE)-woody-$(VERSION)
795 $(srcdir)/toolbox --make-woody $(PACKAGE)-woody-$(VERSION)
796 $(AMTAR) chof - $(PACKAGE)-woody-$(VERSION) \
797 | GZIP=$(GZIP_ENV) gzip -c >$(PACKAGE)-woody-$(VERSION).tar.gz
798 $(remove_distdir_woody)
800 remove_distdir_woody = \
801 { test ! -d $(PACKAGE)-woody-$(VERSION) \
802 || { find $(PACKAGE)-woody-$(VERSION) -type d ! -perm -200 \
803 -exec chmod u+w {} ';' \
804 && rm -fr $(PACKAGE)-woody-$(VERSION); }; }
806 ###############################################################################
807 # Building architecture-specific binary packages
808 ###############################################################################
810 # XXX: this rule is probably only useful to you if you have exactly
811 # the same setup as me. Contact sam@zoy.org if you need to use it.
814 # Check that tmp isn't in the way
815 @if test -e "$(top_builddir)/vlc-${VERSION}"; then \
816 echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \
819 echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
822 # Copy relevant files
823 cp "$(srcdir)/vlc.win32.nsi" "$(top_builddir)/vlc-${VERSION}/"
824 cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
825 cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
826 $(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
828 for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
829 do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
830 unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done
832 mkdir -p "$(top_builddir)/vlc-${VERSION}/plugins"
833 for i in "" `$(VLC_CONFIG) --target plugin` ; do \
834 if test -n "$$i" ; then \
835 $(INSTALL) "$(top_builddir)/$$i$(LIBEXT)" \
836 "$(top_builddir)/vlc-${VERSION}/plugins/" ; \
839 for i in "" $(top_builddir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
840 do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done
842 mkdir $(top_builddir)/vlc-${VERSION}/locale
843 for i in $(ALL_LINGUAS); do \
844 mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
845 cp "$(srcdir)/po/$${i}.gmo" \
846 "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
850 mkdir -p $(top_builddir)/vlc-${VERSION}/skins/fonts
851 for i in $(srcdir)/share/skins2/fonts/*.*; do \
852 cp $$i $(top_builddir)/vlc-${VERSION}/skins/fonts/ || true ; \
854 for i in $(srcdir)/share/skins2/*.*; do \
855 cp $$i $(top_builddir)/vlc-${VERSION}/skins/ || true ; \
858 mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu"
859 cp $(srcdir)/share/osdmenu/*.* "$(top_builddir)/vlc-${VERSION}/osdmenu"
860 for dir in dvd dvd/selected dvd/unselect dvd/selection dvd/volume default default/selected default/selection default/volume;do \
861 mkdir -p "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir"; \
862 for file in $(srcdir)/share/osdmenu/$${dir}/*.*;do \
863 cp $$file "$(top_builddir)/vlc-${VERSION}/osdmenu/$$dir" || true; \
866 unix2dos $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg;
867 sed -i 's%share/osdmenu%osdmenu%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg
868 sed -i 's%/%\\%g' $(top_builddir)/vlc-${VERSION}/osdmenu/*.cfg
870 mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
871 mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
872 cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
873 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
874 cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
875 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
876 cp $(srcdir)/share/http/*.js $(top_builddir)/vlc-${VERSION}/http/ ;
877 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.js ;
878 cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
879 cp $(srcdir)/share/http/images/*.png $(top_builddir)/vlc-${VERSION}/http/images/
880 cp $(srcdir)/share/http/requests/*.xml $(top_builddir)/vlc-${VERSION}/http/requests/ ;
881 unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/*.xml ;
883 cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
885 mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
887 cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
888 $(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
889 cp $(top_builddir)/mozilla/vlcintf.xpt $(top_builddir)/vlc-${VERSION}/mozilla/ ;
892 mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
894 cp $(srcdir)/activex/README.TXT $(top_builddir)/vlc-${VERSION}/activex/ ;
895 cp $(srcdir)/activex/test.html $(top_builddir)/vlc-${VERSION}/activex/ ;
896 unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;
898 cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
899 $(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
901 # Rebase all those DLLs to speed up loading (need cygwin rebase)
902 if [ -x rebase ]; then \
903 find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
906 package-win32-base-exe:
908 wine C:/Program\ Files/NSIS/makensis.exe \
909 /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
911 package-win32-base-exe-cygwin:
913 C:/Program\ Files/NSIS/makensis.exe \
914 /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
916 package-win32-base-exe-linux:
918 makensis -DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi
920 package-win32-base-zip:
922 zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
924 package-win32-exe: package-win32-base package-win32-base-exe
926 rm -Rf $(top_builddir)/vlc-${VERSION}
928 package-win32-exe-linux: package-win32-base package-win32-base-exe-linux
930 rm -Rf $(top_builddir)/vlc-${VERSION}
932 package-win32-zip: package-win32-base package-win32-base-zip
934 rm -Rf $(top_builddir)/vlc-${VERSION}
936 package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
938 rm -Rf $(top_builddir)/vlc-${VERSION}
941 # Check that tmp isn't in the way
942 @if test -e "$(top_builddir)/vlc-${VERSION}"; then \
943 echo "Error: please remove $(top_builddir)/vlc-${VERSION}, it is in the way"; \
946 echo "OK."; mkdir -p "$(top_builddir)/vlc-${VERSION}"; \
949 # Copy relevant files
950 cp "$(top_builddir)/vlc$(EXEEXT)" "$(top_builddir)/vlc-${VERSION}/"
951 cp "$(top_srcdir)/vlc.exe.manifest" "$(top_builddir)/vlc-${VERSION}/"
952 $(STRIP) "$(top_builddir)/vlc-${VERSION}/vlc$(EXEEXT)"
954 for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
955 do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; \
956 unix2dos "$(top_builddir)/vlc-${VERSION}/$${file}.txt" ; done
958 mkdir $(top_builddir)/vlc-${VERSION}/locale
959 for i in $(ALL_LINGUAS); do \
960 mkdir -p "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
961 cp "$(srcdir)/po/$${i}.gmo" \
962 "$(top_builddir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
967 mkdir -p "$(top_builddir)/vlc-${VERSION}/http/images"
968 mkdir -p "$(top_builddir)/vlc-${VERSION}/http/requests"
969 cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ;
970 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ;
971 cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ;
972 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ;
973 cp $(srcdir)/share/http/*.js $(top_builddir)/vlc-${VERSION}/http/ ;
974 unix2dos $(top_builddir)/vlc-${VERSION}/http/*.js ;
975 cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ;
976 cp $(srcdir)/share/http/images/*.png $(top_builddir)/vlc-${VERSION}/http/images/
977 cp $(srcdir)/share/http/requests/*.xml $(top_builddir)/vlc-${VERSION}/http/requests/ ;
978 unix2dos $(top_builddir)/vlc-${VERSION}/http/requests/*.xml ;
980 cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ;
983 mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla"
984 cp $(top_builddir)/mozilla/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/mozilla/ ;
985 $(STRIP) $(top_builddir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
986 cp $(top_builddir)/mozilla/vlcintf.xpt $(top_builddir)/vlc-${VERSION}/mozilla/ ;
990 mkdir -p "$(top_builddir)/vlc-${VERSION}/activex"
991 cp $(srcdir)/activex/README.TXT $(top_builddir)/vlc-${VERSION}/activex/ ;
992 cp $(srcdir)/activex/test.html $(top_builddir)/vlc-${VERSION}/activex/ ;
993 unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ;
995 cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ;
996 $(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT);
998 # Rebase all those DLLs to speed up loading (need cygwin rebase)
999 if [ -x rebase ]; then \
1000 find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \
1003 package-wince-base-zip:
1005 zip -r vlc-${VERSION}-wince.zip vlc-${VERSION}
1007 package-wince: package-wince-base package-wince-base-zip
1009 rm -Rf $(top_builddir)/vlc-${VERSION}
1013 # Check that tmp isn't in the way
1014 @if test -e $(srcdir)/tmp; then \
1015 echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
1018 echo "OK." ; mkdir $(srcdir)/tmp ; \
1021 # Copy relevant files
1022 mkdir -p $(srcdir)/tmp/vlc ;
1023 cd $(srcdir) && cp -R vlc-bundle/* AUTHORS COPYING ChangeLog README \
1024 THANKS NEWS tmp/vlc/ ;
1026 # Create debug package
1027 xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
1028 find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
1029 mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
1030 (cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
1031 mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/ ;
1032 mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ;
1034 # Create normal package
1035 $(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ;
1036 find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \
1037 --strip-debug --strip-unneeded "{}" \; ;
1038 xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ;
1039 find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ;
1040 mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION} ;
1041 (cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
1042 mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/ ;
1045 rm -Rf $(srcdir)/tmp ;
1048 # Check that tmp isn't in the way
1049 @if test -e "$(top_builddir)/tmp"; then \
1050 echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
1053 echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
1056 # Copy relevant files
1057 cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/tmp/VLC.app"
1058 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/
1061 $(srcdir)/extras/MacOSX/macosx-dmg "vlc-${VERSION}" $(top_builddir)/tmp
1064 rm -Rf $(top_builddir)/tmp
1066 package-translations:
1067 @if test -e "$(srcdir)/vlc-translations-${VERSION}"; then \
1068 echo "Error: please remove $(srcdir)/vlc-translations-${VERSION}, it is in the way"; \
1071 echo "OK."; mkdir -p "$(srcdir)/vlc-translations-${VERSION}"; \
1074 for i in $(ALL_LINGUAS); do \
1075 cp "$(srcdir)/po/$${i}.po" \
1076 "$(srcdir)/vlc-translations-${VERSION}/$${i}.po" \
1079 cp "$(srcdir)/doc/translations.txt" \
1080 "$(srcdir)/vlc-translations-${VERSION}/README.txt"
1082 echo "#!/bin/sh" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1083 echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1084 echo 'if test $$# != 1; then' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1085 echo " echo \"Usage: convert-po.sh <.po file>\"" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1086 echo " exit 1" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1087 echo "fi" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1088 echo "" >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1089 echo 'msgfmt --statistics -o vlc.mo $$1' >>"$(srcdir)/vlc-translations-$(VERSION)/convert.po.sh"
1091 $(AMTAR) chof - $(srcdir)/vlc-translations-$(VERSION) \
1092 | GZIP=$(GZIP_ENV) gzip -c >$(srcdir)/vlc-translations-$(VERSION).tar.gz
1094 ###############################################################################
1095 # PO translation files update
1096 ###############################################################################
1100 rm -f $(top_srcdir)/po/POTFILES.in
1102 cd $(top_srcdir) ; \
1103 echo "# automatically created by make update-po" ; \
1105 echo "# main sources" ; \
1106 find include src -name '*.[chm]' -o -name '*.[ch]pp' \
1107 | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/version.c\)' \
1110 echo "# modules" ; \
1111 find modules -name '*.[chm]' -o -name '*.[ch]pp' \
1112 | grep -v '\(\.moc\.\|gui/gtk2/\)' \
1114 } > $(top_srcdir)/po/POTFILES.in
1115 rm -f $(top_srcdir)/po/vlc.pot
1116 cd po && $(MAKE) POTFILES vlc.pot update-po
1118 #cd po && $(MAKE) update-po
1120 ###############################################################################
1122 ###############################################################################
1123 stamp-builtin: FORCE
1124 @for dep in "" `$(VLC_CONFIG) --target builtin`; do \
1125 if test "$${dep}" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \
1130 @if test ! -f $@; then printf "" > $@; fi
1132 stamp-api: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl
1133 ( cd $(srcdir) && cat $(HEADERS_include) ) | \
1134 top_srcdir="$(top_srcdir)" perl $(top_srcdir)/vlc-api.pl
1137 ###############################################################################
1139 ###############################################################################