Makefile.am 21.4 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/encoder.h \
75
	include/ninput.h \
76 77 78 79 80
	include/input_ext-dec.h \
	include/input_ext-intf.h \
	include/input_ext-plugins.h \
	include/intf_eject.h \
	include/iso_lang.h \
81
	include/httpd.h \
82 83 84 85 86 87 88 89 90
	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
91
	include/variables.h \
92
	include/video_output.h \
93
	include/vlc_block.h \
94 95 96
	include/vlc_common.h \
	include/vlc_config.h \
	include/vlc_cpu.h \
97
	include/vlc_error.h \
98
	include/vlc_interface.h \
99 100 101 102 103
	include/vlc_messages.h \
	include/vlc_objects.h \
	include/vlc_playlist.h \
	include/vlc_threads.h \
	include/vlc_threads_funcs.h \
104
	include/vlc_video.h \
105
	include/vout_synchro.h \
106
	include/win32_specific.h \
107
	include/osd.h \
108
	$(NULL)
109 110

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

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

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

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

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

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

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

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

138 139 140 141 142 143 144 145 146
###############################################################################
# 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 \
147
	extras/MacOSX/Resources/English.lproj/vlc.scriptTerminology \
148 149 150 151 152 153 154 155
	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 \
156
	extras/MacOSX/Resources/divx.icns \
157
	extras/MacOSX/Resources/dv.icns \
158
	extras/MacOSX/Resources/generic.icns \
159 160 161 162
	extras/MacOSX/Resources/m3u.icns \
	extras/MacOSX/Resources/mov.icns \
	extras/MacOSX/Resources/mp3.icns \
	extras/MacOSX/Resources/mp4.icns \
163 164 165 166
	extras/MacOSX/Resources/mpeg.icns \
	extras/MacOSX/Resources/mpeg1.icns \
	extras/MacOSX/Resources/mpeg2.icns \
	extras/MacOSX/Resources/mpeg4.icns \
167 168 169 170 171 172
	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 \
173
	extras/MacOSX/Resources/vlc.icns \
174 175 176
	extras/MacOSX/Resources/vob.icns \
	extras/MacOSX/Resources/wma.icns \
	extras/MacOSX/Resources/wmv.icns \
177 178 179 180 181
	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 \
182 183
	extras/MacOSX/Resources/pause.png \
	extras/MacOSX/Resources/play.png \
184
	extras/MacOSX/Resources/prefs.png \
185
	extras/MacOSX/Resources/slow.png \
186
	extras/MacOSX/Resources/stop.png \
187
	extras/MacOSX/Resources/vlc_hg.png \
188
	extras/MacOSX/Resources/about_bg.png \
189
	extras/MacOSX/Resources/vlc.scriptSuite \
190
	extras/MacOSX/Resources/README \
191
	extras/MacOSX/vlc.pbproj/project.pbxproj \
192
	extras/MacOSX/macosx-dmg \
193 194 195
	$(NULL)

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

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

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

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

bin_SCRIPTS = vlc-config

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

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

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
234 235 236
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`
237 238

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

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

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

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

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

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

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

288
SOURCES_libvlc_common = \
289 290 291 292 293 294
	src/libvlc.c \
	src/libvlc.h \
	src/interface/interface.c \
	src/interface/intf_eject.c \
	src/playlist/playlist.c \
	src/input/input.c \
295
	src/input/stream.c \
296
	src/input/demux.c \
297 298 299 300 301 302 303 304 305 306 307 308 309
	src/input/input_ext-plugins.c \
	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/video_text.h \
	src/video_output/vout_subpictures.c \
310
	src/video_output/vout_synchro.c \
311 312 313 314 315 316 317 318
	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 \
319
	src/misc/charset.c \
320
	src/misc/mtime.c \
321
	src/misc/block.c \
322 323 324 325 326
	src/misc/modules.c \
	src/misc/threads.c \
	src/misc/cpu.c \
	src/misc/configuration.c \
	src/misc/iso_lang.c \
327
	src/misc/iso-639_def.h \
328 329
	src/misc/messages.c \
	src/misc/objects.c \
Sam Hocevar's avatar
Sam Hocevar committed
330
	src/misc/variables.c \
331
	src/misc/error.c \
332
	src/extras/libc.c \
333 334 335 336 337 338 339 340 341
	$(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) \
342
	$(NULL)
343 344 345 346 347

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

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

350
vlc_SOURCES = src/vlc.c
351

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

356 357
# 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
358
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
359

Sam Hocevar's avatar
Sam Hocevar committed
360 361
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
362 363 364 365
	@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
366
	esac
Eric Petit's avatar
Eric Petit committed
367

368
if HAVE_BEOS
369
	xres -o $@ $(srcdir)/share/vlc_beos.rsrc
370
	mimeset -f $@
Sam Hocevar's avatar
Sam Hocevar committed
371
	rm -Rf $(srcdir)/locale ; mkdir -p "$(srcdir)/locale"
Eric Petit's avatar
Eric Petit committed
372
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
373 374 375
	  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
376
	done
377 378
endif

Sam Hocevar's avatar
Sam Hocevar committed
379
# Install the modules and the symlinks
380
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
381
	for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \
382 383
	  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
384
	fi ; done
385
	for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \
386
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
387
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
Sam Hocevar's avatar
Sam Hocevar committed
388
	fi ; done
389 390 391 392 393 394
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
395
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
396 397
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
398 399 400 401
	fi ; done

if HAVE_DARWIN
# Create the MacOS X app
402
vlc_app_DATA = VLC.app
403
vlc_appdir = $(bindir)
Sam Hocevar's avatar
Sam Hocevar committed
404
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
405 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
	@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
455
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
456 457 458
	  if test -n "$$i" ; \
	    then $(INSTALL) "$$i$(LIBEXT)" \
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
459
	  fi ; done
Loïc Minier's avatar
Loïc Minier committed
460 461 462 463 464 465 466 467
	$(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
468
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
469 470 471 472 473 474 475 476 477
	  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 ; \
478
	done
Loïc Minier's avatar
Loïc Minier committed
479
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
480 481 482
endif

if HAVE_WIN32
483
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
484 485 486
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
487
	$(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 $@
488 489
endif

490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507
###############################################################################
# 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); }; }

508 509 510 511 512 513 514 515
###############################################################################
# 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
516 517 518
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
519
	  false; \
520
	else \
Gildas Bazin's avatar
 
Gildas Bazin committed
521
	  echo "OK."; mkdir -p "$(srcdir)/vlc-${VERSION}"; \
522 523
	fi
# Create installation script
Gildas Bazin's avatar
 
Gildas Bazin committed
524
	cp "$(srcdir)/install-win32" "$(srcdir)/vlc-${VERSION}/nsi"
525
# Copy relevant files
Gildas Bazin's avatar
 
Gildas Bazin committed
526 527
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(srcdir)/vlc-${VERSION}/"
	$(STRIP) "$(srcdir)/vlc-${VERSION}/vlc$(EXEEXT)"
Gildas Bazin's avatar
 
Gildas Bazin committed
528
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
529 530
	  do cp "$(srcdir)/$$file" "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
531

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

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

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

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

Gildas Bazin's avatar
 
Gildas Bazin committed
558
	mkdir -p "$(srcdir)/tmp/http/admin"
Gildas Bazin's avatar
 
Gildas Bazin committed
559 560 561 562 563 564 565 566 567 568
	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
569

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

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
583
# Clean up
Gildas Bazin's avatar
 
Gildas Bazin committed
584
	rm -Rf $(srcdir)/vlc-${VERSION}
585 586 587

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

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

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

# Create package without debug symbols
616 617 618 619
	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; \
620
	fi
621 622 623
	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}
624 625
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/
626

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

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
632 633
	@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
634
	  false; \
635
	else \
Loïc Minier's avatar
Loïc Minier committed
636
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
637 638 639
	fi

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

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

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

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

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

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