Makefile.am 22.1 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
#  - 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
14 15
SUBDIRS = intl modules po . mozilla share m4 doc
DIST_SUBDIRS = $(SUBDIRS) src debian 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_help.h \
100
	include/vlc_interface.h \
Gildas Bazin's avatar
 
Gildas Bazin committed
101
	include/vlc_keys.h \
102 103 104 105 106
	include/vlc_messages.h \
	include/vlc_objects.h \
	include/vlc_playlist.h \
	include/vlc_threads.h \
	include/vlc_threads_funcs.h \
107
	include/vlc_video.h \
108
	include/vout_synchro.h \
109
	include/win32_specific.h \
110
	include/osd.h \
111
	$(NULL)
112 113

HEADERS_include_built = \
114 115
	include/vlc_symbols.h \
	$(NULL)
116 117

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

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

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

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

130 131 132 133 134
###############################################################################
# Optional libintl - FIXME, bad dependencies
###############################################################################

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

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

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

###############################################################################
199
# MS Visual Studio and eMbedded Visual Studio projects
200 201 202 203
###############################################################################

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

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

222 223 224 225 226 227
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config

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

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

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
237 238 239
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`
240 241

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

EXTRA_DIST += \
263 264 265 266 267
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
268 269
	$(NULL)

270
SOURCES_libvlc_beos = \
271
	src/misc/beos_specific.cpp \
272 273
	$(NULL)

274
SOURCES_libvlc_darwin = \
275
	src/misc/darwin_specific.m \
276 277
	$(NULL)

278
SOURCES_libvlc_win32 = \
279 280 281
	src/misc/win32_specific.c \
	$(NULL)

282
SOURCES_libvlc_dirent = \
283 284 285 286
	src/extras/dirent.c \
	src/extras/dirent.h \
	$(NULL)

287
SOURCES_libvlc_getopt = \
288 289 290 291 292
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

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

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

Sam Hocevar's avatar
Sam Hocevar committed
357
bin_PROGRAMS = vlc
358

359
vlc_SOURCES = src/vlc.c
360

Sam Hocevar's avatar
Sam Hocevar committed
361 362 363
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
364

365 366
# 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
367
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
368

Sam Hocevar's avatar
Sam Hocevar committed
369 370
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
371 372 373 374
	@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
375
	esac
Eric Petit's avatar
Eric Petit committed
376

377
if HAVE_BEOS
378
	xres -o $@ $(srcdir)/share/vlc_beos.rsrc
379
	mimeset -f $@
Sam Hocevar's avatar
Sam Hocevar committed
380
	rm -Rf $(srcdir)/locale ; mkdir -p "$(srcdir)/locale"
Eric Petit's avatar
Eric Petit committed
381
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
382 383 384
	  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
385
	done
386 387
endif

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

if HAVE_DARWIN
# Create the MacOS X app
411
vlc_app_DATA = VLC.app
412
vlc_appdir = $(bindir)
Sam Hocevar's avatar
Sam Hocevar committed
413
VLC.app: vlc
Loïc Minier's avatar
Loïc Minier committed
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
456
	cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)'
Loïc Minier's avatar
Loïc Minier committed
457 458 459 460 461 462 463
	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
464
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Loïc Minier's avatar
Loïc Minier committed
465 466 467
	  if test -n "$$i" ; \
	    then $(INSTALL) "$$i$(LIBEXT)" \
			   "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
468
	  fi ; done
469 470 471 472
	if test -d $(top_builddir)/extras/contrib/vlc-lib; then \
	  cp -R $(top_builddir)/extras/contrib/vlc-lib \
	    $(top_builddir)/VLC.app/Contents/MacOS/lib ; \
	fi
Loïc Minier's avatar
Loïc Minier committed
473 474 475 476 477 478 479 480
	$(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
481
	for i in $(ALL_LINGUAS); do \
Loïc Minier's avatar
Loïc Minier committed
482 483 484 485 486 487 488 489 490
	  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 ; \
491
	done
Loïc Minier's avatar
Loïc Minier committed
492
	printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo
493 494 495
endif

if HAVE_WIN32
496
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
497 498 499
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
500
	$(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 $@
501 502
endif

503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520
###############################################################################
# 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); }; }

521 522 523 524 525 526 527 528
###############################################################################
# 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
529 530 531
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
532
	  false; \
533
	else \
Gildas Bazin's avatar
 
Gildas Bazin committed
534
	  echo "OK."; mkdir -p "$(srcdir)/vlc-${VERSION}"; \
535 536
	fi
# Create installation script
Gildas Bazin's avatar
 
Gildas Bazin committed
537
	cp "$(srcdir)/install-win32" "$(srcdir)/vlc-${VERSION}/nsi"
538
# Copy relevant files
Gildas Bazin's avatar
 
Gildas Bazin committed
539 540
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(srcdir)/vlc-${VERSION}/"
	$(STRIP) "$(srcdir)/vlc-${VERSION}/vlc$(EXEEXT)"
Gildas Bazin's avatar
 
Gildas Bazin committed
541
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
542 543
	  do cp "$(srcdir)/$$file" "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
544

Gildas Bazin's avatar
 
Gildas Bazin committed
545
	mkdir -p "$(srcdir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
546
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
547
	  if test -n "$$i" ; then \
Gildas Bazin's avatar
 
Gildas Bazin committed
548 549
	    $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" \
            "$(srcdir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
550
	  fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
551

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

Gildas Bazin's avatar
 
Gildas Bazin committed
555
	mkdir $(srcdir)/vlc-${VERSION}/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
556
	for i in $(ALL_LINGUAS); do \
Gildas Bazin's avatar
 
Gildas Bazin committed
557
	  mkdir -p "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
558
	  cp "$(srcdir)/po/$${i}.gmo" \
Gildas Bazin's avatar
 
Gildas Bazin committed
559 560
	    "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
            || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
561 562
	done

Gildas Bazin's avatar
 
Gildas Bazin committed
563
	mkdir -p $(srcdir)/vlc-${VERSION}/skins/default
564
	for i in $(srcdir)/share/skins/default/*.*; do \
Gildas Bazin's avatar
 
Gildas Bazin committed
565
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/default/ || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
566
	done
567
	for i in $(srcdir)/doc/skins/*.txt; do \
Gildas Bazin's avatar
 
Gildas Bazin committed
568
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/ || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
569 570
	done

Gildas Bazin's avatar
 
Gildas Bazin committed
571
	mkdir -p "$(srcdir)/vlc-${VERSION}/http/admin"
Gildas Bazin's avatar
 
Gildas Bazin committed
572
	cp $(srcdir)/share/http/*.html $(srcdir)/vlc-${VERSION}/http/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
573
	cp $(srcdir)/share/http/*.css $(srcdir)/vlc-${VERSION}/http/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
574 575 576 577 578
	cp $(srcdir)/share/http/admin/*.html \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;
	cp $(srcdir)/share/http/admin/.access \
           $(srcdir)/vlc-${VERSION}/http/admin/ ;

Gildas Bazin's avatar
 
Gildas Bazin committed
579 580
	mkdir -p "$(srcdir)/vlc-${VERSION}/mozilla"
if BUILD_MOZILLA
Gildas Bazin's avatar
 
Gildas Bazin committed
581 582
	cp $(srcdir)/mozilla/*$(LIBEXT) $(srcdir)/vlc-${VERSION}/mozilla/ ;
	$(STRIP) $(srcdir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
Gildas Bazin's avatar
 
Gildas Bazin committed
583 584 585
	cp $(srcdir)/mozilla/vlcintf.xpt  $(srcdir)/vlc-${VERSION}/mozilla/ ;
endif

Gildas Bazin's avatar
 
Gildas Bazin committed
586 587 588 589
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
590

Gildas Bazin's avatar
 
Gildas Bazin committed
591
package-win32-base-zip:
592
# Create package 
Gildas Bazin's avatar
 
Gildas Bazin committed
593
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
Gildas Bazin's avatar
 
Gildas Bazin committed
594 595 596 597 598 599 600 601 602 603

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
604
# Clean up
Gildas Bazin's avatar
 
Gildas Bazin committed
605
	rm -Rf $(srcdir)/vlc-${VERSION}
606 607 608

package-beos:
# Check that tmp isn't in the way
609
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
610 611
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
	  false; \
612
	else \
Sam Hocevar's avatar
Sam Hocevar committed
613
	  echo "OK."; mkdir $(srcdir)/tmp; \
614
	fi
615

616
# Copy relevant files
617 618
	mkdir -p $(srcdir)/tmp/vlc
	cd $(srcdir) && \
Sam Hocevar's avatar
Sam Hocevar committed
619
	  cp vlc AUTHORS COPYING ChangeLog README THANKS NEWS tmp/vlc/
620
# We cannot use ${PLUGIN_FILES} as it looks like it is too "long" for the BeOS shell...
621
	if [ `find $(srcdir)/modules -name "lib*_plugin.so" | wc -l` -gt 0 ]; then \
Sam Hocevar's avatar
Sam Hocevar committed
622 623
	  mkdir -p $(srcdir)/tmp/vlc/plugins; \
	  find $(srcdir)/modules -name "lib*_plugin.so" | xargs -i{} cp {} $(srcdir)/tmp/vlc/plugins/; \
624 625
	fi
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
626 627
	  mkdir -p $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
628 629 630
	done

# Create package with debug symbols
631 632
	mimeset -f $(srcdir)/tmp/vlc/* $(srcdir)/tmp/vlc/*/*
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION}
633 634
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/
635 636

# Create package without debug symbols
637 638 639 640
	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; \
641
	fi
642 643 644
	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}
645 646
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/
647

648
# Clean up
649
	rm -Rf $(srcdir)/tmp
650 651 652

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
653 654
	@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
655
	  false; \
656
	else \
Loïc Minier's avatar
Loïc Minier committed
657
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
658 659 660
	fi

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

# Create disk image 
665
	$(srcdir)/extras/MacOSX/macosx-dmg 25 "vlc-${VERSION}" $(top_builddir)/tmp/* 
666 667

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

Sam Hocevar's avatar
Sam Hocevar committed
670 671 672
###############################################################################
# Stamp rules
###############################################################################
673
clean: clean-stamp
Sam Hocevar's avatar
Sam Hocevar committed
674
clean-stamp:
675
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
676 677 678 679 680 681 682 683 684 685

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

686 687 688 689
###############################################################################
# Force rule
###############################################################################
FORCE: