Makefile.am 21.5 KB
Newer Older
1 2 3
###############################################################################
# Automake targets and declarations
###############################################################################
4

5 6
NULL =

7 8 9
# SUBDIRS stores the directories where a "make" is required when building
# something. DIST_SUBDIRS stores the directories where nothing is built but
# which have makefiles with distribution information.
10 11 12 13 14
#  - intl should come before modules and . because all the code uses gettext
#  - modules should come before . because vlc needs the builtins
#  - . should come before mozilla because the plugin needs libvlc_pic.a
#  - po should come before . because VLC.app needs the pofiles
SUBDIRS = intl modules po . mozilla share m4
Sam Hocevar's avatar
Sam Hocevar committed
15
DIST_SUBDIRS = $(SUBDIRS) src debian doc ipkg lib autotools
16

17 18 19 20 21 22 23 24 25
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	install-win32 \
	src/extras/COPYING \
	toolbox \
Sam Hocevar's avatar
Sam Hocevar committed
26
	vlc-config.in.in \
27
	vlc.ebuild \
28
	vlc.spec \
Alexis de Lattre's avatar
Alexis de Lattre committed
29
	vlc.spec.mdk \
30 31
	$(NULL)

32 33 34 35 36 37
BUILT_SOURCES =
SUFFIXES = 

# Tell aclocal to use -I m4. Wonder if it really works.
ACLOCAL_AMFLAGS = -I m4

38
# XXX: these flags could be set in configure.ac, but we set them here
39
# because old versions of automake don't support them in configure.ac.
40
AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects
41

42 43 44 45 46 47 48
###############################################################################
# Headers
###############################################################################

BUILT_SOURCES += \
	include/vlc_symbols.h \
	src/misc/modules_builtin.h \
49 50
	src/misc/modules_plugin.h \
	$(NULL)
51 52 53 54 55 56 57 58 59 60

pkgincludedir = $(includedir)/vlc

dist_pkginclude_HEADERS = \
	include/vlc/vlc.h \
	include/vlc/aout.h \
	include/vlc/vout.h \
	include/vlc/sout.h \
	include/vlc/decoder.h \
	include/vlc/input.h \
61 62
	include/vlc/intf.h \
	$(NULL)
63

Sam Hocevar's avatar
Sam Hocevar committed
64
noinst_HEADERS = $(HEADERS_include) $(HEADERS_include_built)
65 66 67 68 69 70 71

HEADERS_include = \
	include/aout_internal.h \
	include/audio_output.h \
	include/beos_specific.h \
	include/configuration.h \
	include/darwin_specific.h \
72
	include/charset.h \
73
	include/codecs.h \
74
	include/ninput.h \
75 76 77 78 79
	include/input_ext-dec.h \
	include/input_ext-intf.h \
	include/input_ext-plugins.h \
	include/intf_eject.h \
	include/iso_lang.h \
80
	include/httpd.h \
81 82 83 84 85 86 87 88 89
	include/main.h \
	include/mmx.h \
	include/modules.h \
	include/modules_inner.h \
	include/mtime.h \
	include/network.h \
	include/os_specific.h \
	include/stream_control.h \
	include/stream_output.h \
Sam Hocevar's avatar
Sam Hocevar committed
90
	include/variables.h \
91
	include/video_output.h \
92
	include/vlc_block.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
93
	include/vlc_block_helper.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
94
	include/vlc_codec.h \
95 96 97
	include/vlc_common.h \
	include/vlc_config.h \
	include/vlc_cpu.h \
98
	include/vlc_error.h \
99
	include/vlc_interface.h \
100 101 102 103 104
	include/vlc_messages.h \
	include/vlc_objects.h \
	include/vlc_playlist.h \
	include/vlc_threads.h \
	include/vlc_threads_funcs.h \
105
	include/vlc_video.h \
106
	include/vout_synchro.h \
107
	include/win32_specific.h \
108
	include/osd.h \
109
	$(NULL)
110 111

HEADERS_include_built = \
112 113
	include/vlc_symbols.h \
	$(NULL)
114 115

include/vlc_symbols.h: Makefile $(HEADERS_include)
Sam Hocevar's avatar
Sam Hocevar committed
116
	srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
117 118

src/misc/modules_plugin.h: Makefile src/misc/modules_plugin.h.in $(HEADERS_include)
Sam Hocevar's avatar
Sam Hocevar committed
119
	srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
120 121

src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in
Sam Hocevar's avatar
Sam Hocevar committed
122
	srcdir=$(srcdir) $(srcdir)/toolbox --update-includes
123

124 125
# These dependencies are mandatory
$(SOURCES): include/vlc_symbols.h
126
$(SOURCES_libvlc): src/misc/modules_plugin.h src/misc/modules_builtin.h $(LIB_intl)
127

128 129 130 131 132
###############################################################################
# Optional libintl - FIXME, bad dependencies
###############################################################################

intl/libintl.a: FORCE
Sam Hocevar's avatar
Sam Hocevar committed
133
	cd $(top_builddir)/intl && $(MAKE) $(AM_MAKEFLAGS)
134 135 136 137 138

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

139 140 141 142 143 144 145 146 147
###############################################################################
# MacOS X project
###############################################################################

EXTRA_DIST += \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
	extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib \
	extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
148
	extras/MacOSX/Resources/English.lproj/vlc.scriptTerminology \
149 150 151 152 153 154 155 156
	extras/MacOSX/Resources/a52.icns \
	extras/MacOSX/Resources/aac.icns \
	extras/MacOSX/Resources/asf.icns \
	extras/MacOSX/Resources/asx.icns \
	extras/MacOSX/Resources/avi.icns \
	extras/MacOSX/Resources/bin.icns \
	extras/MacOSX/Resources/cue.icns \
	extras/MacOSX/Resources/dat.icns \
157
	extras/MacOSX/Resources/divx.icns \
158
	extras/MacOSX/Resources/dv.icns \
159
	extras/MacOSX/Resources/generic.icns \
160 161 162 163
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
164 165 166 167
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
168 169 170 171 172 173
	extras/MacOSX/Resources/mpg.icns \
	extras/MacOSX/Resources/ogg.icns \
	extras/MacOSX/Resources/ogm.icns \
	extras/MacOSX/Resources/pls.icns \
	extras/MacOSX/Resources/srt.icns \
	extras/MacOSX/Resources/sub.icns \
174
	extras/MacOSX/Resources/vlc.icns \
175 176 177
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
178 179 180 181 182
	extras/MacOSX/Resources/back.png \
	extras/MacOSX/Resources/begin.png \
	extras/MacOSX/Resources/end.png \
	extras/MacOSX/Resources/forw.png \
	extras/MacOSX/Resources/list.png \
183 184
	extras/MacOSX/Resources/pause.png \
	extras/MacOSX/Resources/play.png \
185
	extras/MacOSX/Resources/prefs.png \
186
	extras/MacOSX/Resources/slow.png \
187
	extras/MacOSX/Resources/stop.png \
188
	extras/MacOSX/Resources/vlc_hg.png \
189
	extras/MacOSX/Resources/about_bg.png \
190
	extras/MacOSX/Resources/vlc.scriptSuite \
191
	extras/MacOSX/Resources/README \
192
	extras/MacOSX/vlc.pbproj/project.pbxproj \
193
	extras/MacOSX/macosx-dmg \
194 195 196
	$(NULL)

###############################################################################
197
# MS Visual Studio and eMbedded Visual Studio projects
198 199 200 201
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
202 203
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
204
	msvc/vlc.dsp.in \
205
	msvc/config.h.in \
206
	msvc/modules_builtin_msvc.h \
207
	evc/vlc.vcw \
208
	evc/libvlc.vcp.in \
209
	evc/vlc.vcp.in \
210
	evc/plugins.vcp.in \
211
	evc/vlc.c \
212
	evc/config.h.in \
213
	evc/modules_builtin_evc.h \
214 215
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
216
dist-hook:
217
	mv $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild
Sam Hocevar's avatar
Sam Hocevar committed
218
	cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc
Gildas Bazin's avatar
 
Gildas Bazin committed
219

220 221 222 223 224 225
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config

Sam Hocevar's avatar
Sam Hocevar committed
226
lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic)
227 228

lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
Gildas Bazin's avatar
 
Gildas Bazin committed
229
dist_lib_libvlc_a_SOURCES = src/misc/modules_plugin.h
Sam Hocevar's avatar
Sam Hocevar committed
230 231 232
lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
233 234

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
235 236 237
lib_libvlc_pic_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc pic`
lib_libvlc_pic_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc pic`
lib_libvlc_pic_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc pic`
238 239

if HAVE_BEOS
240
OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
241 242
endif
if HAVE_DARWIN
243
OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
244 245
endif
if HAVE_WIN32
246
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
247 248
endif
if BUILD_DIRENT
249
OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
250 251
endif
if BUILD_GETOPT
252
OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
253
endif
254 255 256 257 258
if BUILD_MOZILLA
LIBRARIES_libvlc_pic = lib/libvlc_pic.a
endif

EXTRA_DIST += \
259 260 261 262 263
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
264 265
	$(NULL)

266
SOURCES_libvlc_beos = \
267
	src/misc/beos_specific.cpp \
268 269
	$(NULL)

270
SOURCES_libvlc_darwin = \
271
	src/misc/darwin_specific.m \
272 273
	$(NULL)

274
SOURCES_libvlc_win32 = \
275 276 277
	src/misc/win32_specific.c \
	$(NULL)

278
SOURCES_libvlc_dirent = \
279 280 281 282
	src/extras/dirent.c \
	src/extras/dirent.h \
	$(NULL)

283
SOURCES_libvlc_getopt = \
284 285 286 287 288
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

289
SOURCES_libvlc_common = \
290 291 292 293 294 295
	src/libvlc.c \
	src/libvlc.h \
	src/interface/interface.c \
	src/interface/intf_eject.c \
	src/playlist/playlist.c \
	src/input/input.c \
296
	src/input/stream.c \
297
	src/input/demux.c \
298 299
	src/input/subtitles.c \
        src/input/input_ext-plugins.c \
300 301 302 303 304 305 306 307 308 309 310
	src/input/input_ext-dec.c \
	src/input/input_ext-intf.c \
	src/input/input_dec.c \
	src/input/input_programs.c \
	src/input/input_clock.c \
	src/input/input_info.c \
	src/video_output/video_output.c \
	src/video_output/vout_pictures.c \
	src/video_output/vout_pictures.h \
	src/video_output/video_text.c \
	src/video_output/vout_subpictures.c \
311
	src/video_output/vout_synchro.c \
312 313 314 315 316 317 318 319
	src/audio_output/common.c \
	src/audio_output/dec.c \
	src/audio_output/filters.c \
	src/audio_output/input.c \
	src/audio_output/mixer.c \
	src/audio_output/output.c \
	src/audio_output/intf.c \
	src/stream_output/stream_output.c \
320
	src/misc/charset.c \
321
	src/misc/mtime.c \
322
	src/misc/block.c \
323 324 325 326 327
	src/misc/modules.c \
	src/misc/threads.c \
	src/misc/cpu.c \
	src/misc/configuration.c \
	src/misc/iso_lang.c \
328
	src/misc/iso-639_def.h \
329 330
	src/misc/messages.c \
	src/misc/objects.c \
Sam Hocevar's avatar
Sam Hocevar committed
331
	src/misc/variables.c \
332
	src/misc/error.c \
333
	src/extras/libc.c \
334 335 336 337 338 339 340 341 342
	$(NULL)

SOURCES_libvlc = \
	$(SOURCES_libvlc_common) \
	$(OPT_SOURCES_libvlc_beos) \
	$(OPT_SOURCES_libvlc_darwin) \
	$(OPT_SOURCES_libvlc_win32) \
	$(OPT_SOURCES_libvlc_dirent) \
	$(OPT_SOURCES_libvlc_getopt) \
343
	$(NULL)
344 345 346 347 348

###############################################################################
# Building vlc
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
349
bin_PROGRAMS = vlc
350

351
vlc_SOURCES = src/vlc.c
352

Sam Hocevar's avatar
Sam Hocevar committed
353 354 355
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
356

357 358
# We use DEPENDENCIES_vlc instead of vlc_DEPENDENCIES because of an
# old automake-1.5 bug (automake/279).
Sam Hocevar's avatar
Sam Hocevar committed
359
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
360

Sam Hocevar's avatar
Sam Hocevar committed
361 362
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
363 364 365 366
	@case `$(VLC_CONFIG) --linkage vlc builtin` in \
	  c++) echo $(CXXLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ; $(CXXLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ;; \
	  objc) echo $(OBJCLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ; $(OBJCLINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ;; \
	  c|*) echo $(LINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ; $(LINK) $(vlc_OBJECTS) $(vlc_LDADD) $(vlc_LDFLAGS) $(LIBS) ;; \
Sam Hocevar's avatar
Sam Hocevar committed
367
	esac
Eric Petit's avatar
Eric Petit committed
368

369
if HAVE_BEOS
370
	xres -o $@ $(srcdir)/share/vlc_beos.rsrc
371
	mimeset -f $@
Sam Hocevar's avatar
Sam Hocevar committed
372
	rm -Rf $(srcdir)/locale ; mkdir -p "$(srcdir)/locale"
Eric Petit's avatar
Eric Petit committed
373
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
374 375 376
	  mkdir -p "$(srcdir)/locale/$${i}/LC_MESSAGES" ; \
	  cp "$(srcdir)/po/$${i}.gmo" \
	    "$(srcdir)/locale/$${i}/LC_MESSAGES/vlc.mo" || true ; \
Eric Petit's avatar
Eric Petit committed
377
	done
378 379
endif

Sam Hocevar's avatar
Sam Hocevar committed
380
# Install the modules and the symlinks
381
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
382
	for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \
383 384
	  echo $(INSTALL) -m 755 "$$i$(LIBEXT)" "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`" ; \
	  $(INSTALL) -m 755 "$$i$(LIBEXT)" "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`" ; \
Sam Hocevar's avatar
Sam Hocevar committed
385
	fi ; done
386
	for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \
387
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
388
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
Sam Hocevar's avatar
Sam Hocevar committed
389
	fi ; done
390 391 392 393 394 395
if BUILD_MOZILLA
	for i in "" `$(VLC_CONFIG) --target builtin pic` ; do if test -n "$$i" ; then \
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
	fi ; done
endif
Sam Hocevar's avatar
Sam Hocevar committed
396
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
397 398
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
399 400 401 402
	fi ; done

if HAVE_DARWIN
# Create the MacOS X app
403
vlc_app_DATA = VLC.app
404
vlc_appdir = $(bindir)
Sam Hocevar's avatar
Sam Hocevar committed
405
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
	  false; \
	else \
	  echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \
	fi
	rm -Rf $(top_builddir)/VLC.app
	cp -r $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras
	for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \
	  cp "$(srcdir)/$$i" $(top_builddir)/tmp; \
	done
	mkdir -p $(top_builddir)/tmp/modules/audio_output
	cp $(srcdir)/modules/audio_output/coreaudio.c \
	   $(top_builddir)/tmp/modules/audio_output/coreaudio.c
	mkdir -p $(top_builddir)/tmp/modules/gui/macosx
	for i in \
	    about.h \
	    about.m \
	    applescript.h \
	    applescript.m \
	    controls.h \
	    controls.m \
	    info.h \
	    info.m \
	    intf.h \
	    intf.m \
	    macosx.m \
	    misc.h \
	    misc.m \
	    open.h \
	    open.m \
	    output.h \
	    output.m \
	    playlist.h \
	    playlist.m \
	    prefs.h \
	    prefs.m \
	    vout.h \
	    vout.m; do \
	  cp "$(srcdir)/modules/gui/macosx/$$i" \
             $(top_builddir)/tmp/modules/gui/macosx; \
	done
	cd $(top_builddir)/tmp/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'
	cp -r $(top_builddir)/tmp/extras/MacOSX/build/vlc.bundle \
	      $(top_builddir)/VLC.app
	rm -Rf $(top_builddir)/tmp
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS
	$(INSTALL) $(top_builddir)/vlc \
		   $(top_builddir)/VLC.app/Contents/MacOS/VLC
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
456
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
457 458 459
	  if test -n "$$i" ; \
	    then $(INSTALL) "$$i$(LIBEXT)" \
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
460
	  fi ; done
Loïc Minier's avatar
Loïc Minier committed
461 462 463 464 465 466 467 468
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http
	$(INSTALL) -m 644 $(srcdir)/share/http/*.html \
	    $(top_builddir)/VLC.app/Contents/MacOS/share/http
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin
	$(INSTALL) -m 644 $(srcdir)/share/http/admin/*.html \
	    $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin
	$(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale
469
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
470 471 472 473 474 475 476 477 478
	  mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
	  mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/InfoPlist.strings \
	      $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/MainMenu.nib \
	      $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/vlc.scriptTerminology \
	      $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \
479
	done
Loïc Minier's avatar
Loïc Minier committed
480
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
481 482 483
endif

if HAVE_WIN32
484
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
485 486 487
noinst_share_vlc_win32_rc_DATA = share/vlc_win32_rc.$(OBJEXT)
noinst_share_vlc_win32_rcdir = $(libdir)
share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc
488
	$(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 $@
489 490
endif

491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508
###############################################################################
# Building specific source packages
###############################################################################

dist-woody: distdir
	$(remove_distdir_woody)
	mv $(distdir) $(PACKAGE)-woody-$(VERSION)
	$(srcdir)/toolbox --make-woody $(PACKAGE)-woody-$(VERSION)
	$(AMTAR) chof - $(PACKAGE)-woody-$(VERSION) \
	  | GZIP=$(GZIP_ENV) gzip -c >$(PACKAGE)-woody-$(VERSION).tar.gz
	$(remove_distdir_woody)

remove_distdir_woody = \
  { test ! -d $(PACKAGE)-woody-$(VERSION) \
    || { find $(PACKAGE)-woody-$(VERSION) -type d ! -perm -200 \
           -exec chmod u+w {} ';' \
         && rm -fr $(PACKAGE)-woody-$(VERSION); }; }

509 510 511 512 513 514 515 516
###############################################################################
# Building architecture-specific binary packages
###############################################################################

# XXX: this rule is probably only useful to you if you have exactly
# the same setup as me. Contact sam@zoy.org if you need to use it.
#
# Check that tmp isn't in the way
Gildas Bazin's avatar
 
Gildas Bazin committed
517 518 519
package-win32-base:
	@if test -e "$(srcdir)/vlc-${VERSION}"; then \
	  echo "Error: please remove $(srcdir)/vlc-${VERSION}, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
520
	  false; \
521
	else \
Gildas Bazin's avatar
 
Gildas Bazin committed
522
	  echo "OK."; mkdir -p "$(srcdir)/vlc-${VERSION}"; \
523 524
	fi
# Create installation script
Gildas Bazin's avatar
 
Gildas Bazin committed
525
	cp "$(srcdir)/install-win32" "$(srcdir)/vlc-${VERSION}/nsi"
526
# Copy relevant files
Gildas Bazin's avatar
 
Gildas Bazin committed
527 528
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(srcdir)/vlc-${VERSION}/"
	$(STRIP) "$(srcdir)/vlc-${VERSION}/vlc$(EXEEXT)"
Gildas Bazin's avatar
 
Gildas Bazin committed
529
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
530 531
	  do cp "$(srcdir)/$$file" "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
532

Gildas Bazin's avatar
 
Gildas Bazin committed
533
	mkdir -p "$(srcdir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
534
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
535
	  if test -n "$$i" ; then \
Gildas Bazin's avatar
 
Gildas Bazin committed
536 537
	    $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" \
            "$(srcdir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
538
	  fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
539

Gildas Bazin's avatar
 
Gildas Bazin committed
540
	for i in "" $(srcdir)/vlc-${VERSION}/plugins/*$(LIBEXT) ; \
Sam Hocevar's avatar
Sam Hocevar committed
541
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
542

Gildas Bazin's avatar
 
Gildas Bazin committed
543
	mkdir $(srcdir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
544
	for i in $(ALL_LINGUAS); do \
Gildas Bazin's avatar
 
Gildas Bazin committed
545
	  mkdir -p "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
546
	  cp "$(srcdir)/po/$${i}.gmo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
547 548
	    "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
549 550
	done

Gildas Bazin's avatar
 
Gildas Bazin committed
551
	mkdir -p $(srcdir)/vlc-${VERSION}/skins/default
552
	for i in $(srcdir)/share/skins/default/*.*; do \
Gildas Bazin's avatar
 
Gildas Bazin committed
553
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/default/ || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
554
	done
555
	for i in $(srcdir)/doc/skins/*.txt; do \
Gildas Bazin's avatar
 
Gildas Bazin committed
556
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/ || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
557 558
	done

Gildas Bazin's avatar
 
Gildas Bazin committed
559
	mkdir -p "$(srcdir)/vlc-${VERSION}/http/admin"
Gildas Bazin's avatar
 
Gildas Bazin committed
560 561 562 563 564 565 566 567 568 569
	cp $(srcdir)/share/http/*.html $(srcdir)/vlc-${VERSION}/http/ ;
	cp $(srcdir)/share/http/admin/*.html \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;
	cp $(srcdir)/share/http/admin/.access \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;

package-win32-base-exe:
# Create package 
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \
             -- /DVERSION=${VERSION} $(srcdir)/vlc-${VERSION}/nsi
Gildas Bazin's avatar
 
Gildas Bazin committed
570

Gildas Bazin's avatar
 
Gildas Bazin committed
571
package-win32-base-zip:
572
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
573
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
574 575 576 577 578 579 580 581 582 583

package-win32-exe: package-win32-base package-win32-base-exe
# Clean up
	rm -Rf $(srcdir)/vlc-${VERSION}

package-win32-zip: package-win32-base package-win32-base-zip
# Clean up
	rm -Rf $(srcdir)/vlc-${VERSION}

package-win32: package-win32-base package-win32-base-exe package-win32-base-zip
584
# Clean up
Gildas Bazin's avatar
 
Gildas Bazin committed
585
	rm -Rf $(srcdir)/vlc-${VERSION}
586 587 588

package-beos:
# Check that tmp isn't in the way
589
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
590 591
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
	  false; \
592
	else \
Sam Hocevar's avatar
Sam Hocevar committed
593
	  echo "OK."; mkdir $(srcdir)/tmp; \
594
	fi
595

596
# Copy relevant files
597 598
	mkdir -p $(srcdir)/tmp/vlc
	cd $(srcdir) && \
Sam Hocevar's avatar
Sam Hocevar committed
599
	  cp vlc AUTHORS COPYING ChangeLog README THANKS NEWS tmp/vlc/
600
# We cannot use ${PLUGIN_FILES} as it looks like it is too "long" for the BeOS shell...
601
	if [ `find $(srcdir)/modules -name "lib*_plugin.so" | wc -l` -gt 0 ]; then \
Sam Hocevar's avatar
Sam Hocevar committed
602 603
	  mkdir -p $(srcdir)/tmp/vlc/plugins; \
	  find $(srcdir)/modules -name "lib*_plugin.so" | xargs -i{} cp {} $(srcdir)/tmp/vlc/plugins/; \
604 605
	fi
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
606 607
	  mkdir -p $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
608 609 610
	done

# Create package with debug symbols
611 612
	mimeset -f $(srcdir)/tmp/vlc/* $(srcdir)/tmp/vlc/*/*
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION}
613 614
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/
615 616

# Create package without debug symbols
617 618 619 620
	mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc
	strip $(srcdir)/tmp/vlc/vlc
	if [ -d $(srcdir)/tmp/vlc/plugins ]; then \
	  strip $(srcdir)/tmp/vlc/plugins/lib*_plugin.so; \
621
	fi
622 623 624
	xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc
	mimeset -f $(srcdir)/tmp/vlc/* $(srcdir)/tmp/vlc/*/*
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION}
625 626
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/
627

628
# Clean up
629
	rm -Rf $(srcdir)/tmp
630 631 632

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
633 634
	@if test -e "$(top_builddir)/tmp"; then \
	  echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \
Sam Hocevar's avatar
Sam Hocevar committed
635
	  false; \
636
	else \
Loïc Minier's avatar
Loïc Minier committed
637
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
638 639 640
	fi

# Copy relevant files 
Loïc Minier's avatar
Loïc Minier committed
641 642
	cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/tmp/"
	cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/tmp/
643 644

# Create disk image 
Loïc Minier's avatar
Loïc Minier committed
645
	$(srcdir)/extras/MacOSX/macosx-dmg 18 "vlc-${VERSION}" $(top_builddir)/tmp/* 
646 647

# Clean up
Loïc Minier's avatar
Loïc Minier committed
648
	rm -Rf $(top_builddir)/tmp
649

Sam Hocevar's avatar
Sam Hocevar committed
650 651 652
###############################################################################
# Stamp rules
###############################################################################
653
clean: clean-stamp
Sam Hocevar's avatar
Sam Hocevar committed
654
clean-stamp:
655
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
656 657 658 659 660 661 662 663 664 665

stamp-builtin: FORCE
	@for dep in "" `$(VLC_CONFIG) --target builtin`; do \
	  if test "$${dep}" -nt "$(top_builddir)/vlc$(EXEEXT)"; then \
	    rm -f $@; \
	    break; \
	  fi; \
	done
	@if test ! -f $@; then printf "" > $@; fi

666 667 668 669
###############################################################################
# Force rule
###############################################################################
FORCE: