Makefile.am 21.7 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.
Sam Hocevar's avatar
Sam Hocevar committed
10 11
SUBDIRS = intl modules . share po m4
DIST_SUBDIRS = $(SUBDIRS) src debian doc ipkg lib autotools
12

13 14 15 16 17 18 19 20 21
EXTRA_DIST = \
	HACKING \
	INSTALL.win32 \
	MAINTAINERS \
	README.MacOSX.rtf \
	bootstrap \
	install-win32 \
	src/extras/COPYING \
	toolbox \
Sam Hocevar's avatar
Sam Hocevar committed
22
	vlc-config.in.in \
23
	vlc.ebuild \
24
	vlc.spec \
25
	vlc.spec.redhat \
26 27
	$(NULL)

28 29 30 31 32 33
BUILT_SOURCES =
SUFFIXES = 

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

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

38 39 40 41 42 43 44
###############################################################################
# Headers
###############################################################################

BUILT_SOURCES += \
	include/vlc_symbols.h \
	src/misc/modules_builtin.h \
45 46
	src/misc/modules_plugin.h \
	$(NULL)
47 48 49 50 51 52 53 54 55 56

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 \
57 58
	include/vlc/intf.h \
	$(NULL)
59

Sam Hocevar's avatar
Sam Hocevar committed
60
noinst_HEADERS = $(HEADERS_include) $(HEADERS_include_built)
61 62 63 64 65 66 67

HEADERS_include = \
	include/aout_internal.h \
	include/audio_output.h \
	include/beos_specific.h \
	include/configuration.h \
	include/darwin_specific.h \
68
	include/codecs.h \
69
	include/encoder.h \
70 71 72 73 74
	include/input_ext-dec.h \
	include/input_ext-intf.h \
	include/input_ext-plugins.h \
	include/intf_eject.h \
	include/iso_lang.h \
75
	include/httpd.h \
76 77 78 79 80 81 82 83 84
	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 \
85
	include/announce.h \
Sam Hocevar's avatar
Sam Hocevar committed
86
	include/variables.h \
87 88 89 90
	include/video_output.h \
	include/vlc_common.h \
	include/vlc_config.h \
	include/vlc_cpu.h \
91
	include/vlc_error.h \
92
	include/vlc_interface.h \
93 94 95 96 97
	include/vlc_messages.h \
	include/vlc_objects.h \
	include/vlc_playlist.h \
	include/vlc_threads.h \
	include/vlc_threads_funcs.h \
98
	include/vlc_video.h \
99
	include/vout_synchro.h \
100
	include/win32_specific.h \
101
	include/osd.h \
102
	$(NULL)
103 104

HEADERS_include_built = \
105 106
	include/vlc_symbols.h \
	$(NULL)
107 108

include/vlc_symbols.h: Makefile $(HEADERS_include)
Sam Hocevar's avatar
Sam Hocevar committed
109
	$(srcdir)/toolbox --update-includes
110 111

src/misc/modules_plugin.h: Makefile src/misc/modules_plugin.h.in $(HEADERS_include)
Sam Hocevar's avatar
Sam Hocevar committed
112
	$(srcdir)/toolbox --update-includes
113 114

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

117 118
# These dependencies are mandatory
$(SOURCES): include/vlc_symbols.h
119
$(SOURCES_libvlc): src/misc/modules_plugin.h src/misc/modules_builtin.h $(LIB_intl)
120

121 122 123 124 125
###############################################################################
# Optional libintl - FIXME, bad dependencies
###############################################################################

intl/libintl.a: FORCE
Sam Hocevar's avatar
Sam Hocevar committed
126
	cd $(top_builddir)/intl && $(MAKE) $(AM_MAKEFLAGS)
127 128 129 130 131

if BUILD_INTL
LIB_intl = intl/libintl.a
endif

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

###############################################################################
190
# MS Visual Studio and eMbedded Visual Studio projects
191 192 193 194
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
195 196
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
197
	msvc/vlc.dsp.in \
198
	msvc/config.h.in \
199
	msvc/modules_builtin_msvc.h \
200
	evc/vlc.vcw \
201
	evc/libvlc.vcp.in \
202
	evc/vlc.vcp.in \
203
	evc/plugins.vcp.in \
204
	evc/vlc.c \
205
	evc/config.h.in \
206
	evc/modules_builtin_evc.h \
207 208
	$(NULL)

Gildas Bazin's avatar
 
Gildas Bazin committed
209
dist-hook:
210 211
	mv $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild
	cd $(distdir) && $(srcdir)/toolbox --update-vc
Gildas Bazin's avatar
 
Gildas Bazin committed
212

213 214 215 216 217 218
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config

Sam Hocevar's avatar
Sam Hocevar committed
219
lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic)
220 221

lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
Gildas Bazin's avatar
 
Gildas Bazin committed
222
dist_lib_libvlc_a_SOURCES = src/misc/modules_plugin.h
Sam Hocevar's avatar
Sam Hocevar committed
223 224 225
lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
226 227

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
228 229 230
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`
231 232

if HAVE_BEOS
233
OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
234 235
endif
if HAVE_DARWIN
236
OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
237 238
endif
if HAVE_WIN32
239
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
240 241
endif
if BUILD_DIRENT
242
OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
243 244
endif
if BUILD_GETOPT
245
OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
246
endif
247 248 249 250 251
if BUILD_MOZILLA
LIBRARIES_libvlc_pic = lib/libvlc_pic.a
endif

EXTRA_DIST += \
252 253 254 255 256
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
257 258
	$(NULL)

259
SOURCES_libvlc_beos = \
260
	src/misc/beos_specific.cpp \
261 262
	$(NULL)

263
SOURCES_libvlc_darwin = \
264
	src/misc/darwin_specific.m \
265 266
	$(NULL)

267
SOURCES_libvlc_win32 = \
268 269 270
	src/misc/win32_specific.c \
	$(NULL)

271
SOURCES_libvlc_dirent = \
272 273 274 275
	src/extras/dirent.c \
	src/extras/dirent.h \
	$(NULL)

276
SOURCES_libvlc_getopt = \
277 278 279 280 281
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

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

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

Sam Hocevar's avatar
Sam Hocevar committed
339
bin_PROGRAMS = vlc
340

341
vlc_SOURCES = src/vlc.c
342

Sam Hocevar's avatar
Sam Hocevar committed
343 344 345
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
346

347 348
# 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
349
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
350

Sam Hocevar's avatar
Sam Hocevar committed
351 352
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
353 354 355 356
	@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
357
	esac
Eric Petit's avatar
Eric Petit committed
358

359
if HAVE_BEOS
360
	xres -o $@ $(srcdir)/share/vlc_beos.rsrc
361
	mimeset -f $@
Sam Hocevar's avatar
Sam Hocevar committed
362
	rm -Rf $(srcdir)/locale ; mkdir -p "$(srcdir)/locale"
Eric Petit's avatar
Eric Petit committed
363
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
364 365 366
	  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
367
	done
368 369
endif

Sam Hocevar's avatar
Sam Hocevar committed
370
# Install the modules and the symlinks
371
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
372
	for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \
373 374
	  echo $(INSTALL) -m 755 "$$i$(LIBEXT)" "$(DESTDIR)$(libdir)/vlc/`echo $$i | cut -f2 -d/`" ; \
	  $(INSTALL) -m 755 "$$i$(LIBEXT)" "$(DESTDIR)$(libdir)/vlc/`echo $$i | cut -f2 -d/`" ; \
Sam Hocevar's avatar
Sam Hocevar committed
375
	fi ; done
376
	for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \
377
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
378
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
Sam Hocevar's avatar
Sam Hocevar committed
379
	fi ; done
380 381 382 383 384 385
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
386
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
387 388
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
389 390 391 392
	fi ; done

if HAVE_DARWIN
# Create the MacOS X app
393
vlc_app_DATA = VLC.app
394
vlc_appdir = $(bindir)
Sam Hocevar's avatar
Sam Hocevar committed
395
VLC.app: vlc
396
	rm -Rf VLC.app
397 398 399 400 401
	cd $(srcdir)/extras/MacOSX && pbxbuild -target vlc | grep -v '^\([ \t]\|$$\)'
	cp -r $(srcdir)/extras/MacOSX/build/vlc.bundle $(srcdir)/VLC.app
	$(INSTALL) -d $(srcdir)/VLC.app/Contents/MacOS
	$(INSTALL) vlc $(srcdir)/VLC.app/Contents/MacOS/VLC
	$(INSTALL) -d $(srcdir)/VLC.app/Contents/MacOS/modules
Sam Hocevar's avatar
Sam Hocevar committed
402
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
403
	  if test -n "$$i" ; then $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" \
404
	    "$(srcdir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
405
	  fi ; done
406 407
	$(INSTALL) -d $(srcdir)/VLC.app/Contents/MacOS/share
	$(INSTALL) -m 644 $(srcdir)/share/*.psf $(srcdir)/share/*.rle \
Sam Hocevar's avatar
Sam Hocevar committed
408
	  $(srcdir)/VLC.app/Contents/MacOS/share
409
	$(INSTALL) -d $(srcdir)/VLC.app/Contents/MacOS/locale
410
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
411 412 413 414 415 416
	  mkdir -p $(srcdir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(srcdir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
	  mkdir -p $(srcdir)/VLC.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/InfoPlist.strings $(srcdir)/VLC.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/MainMenu.nib $(srcdir)/VLC.app/Contents/Resources/$${i}.lproj ; \
	  ln -sf ../English.lproj/vlc.scriptTerminology $(srcdir)/VLC.app/Contents/Resources/$${i}.lproj ; \
417
	done
418
	printf "APPLVLC#" >| $(srcdir)/VLC.app/Contents/PkgInfo
419 420 421
endif

if HAVE_WIN32
422
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
423 424 425
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
426
	$(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 $@
427 428
endif

429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446
###############################################################################
# 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); }; }

447 448 449 450 451 452 453 454 455
###############################################################################
# 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
package-win32:
Sam Hocevar's avatar
Sam Hocevar committed
456 457 458
	@if test -e "$(srcdir)/tmp"; then \
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
	  false; \
459
	else \
Sam Hocevar's avatar
Sam Hocevar committed
460
	  echo "OK."; mkdir -p "$(srcdir)/tmp"; \
461 462
	fi
# Create installation script
Sam Hocevar's avatar
Sam Hocevar committed
463
	cp "$(srcdir)/install-win32" "$(srcdir)/tmp/nsi"
464
# Copy relevant files
Sam Hocevar's avatar
Sam Hocevar committed
465
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(srcdir)/tmp/"
Sam Hocevar's avatar
Sam Hocevar committed
466 467 468
	$(STRIP) "$(srcdir)/tmp/vlc$(EXEEXT)"
	cp "$(srcdir)/INSTALL.win32" "$(srcdir)/tmp/INSTALL.txt"
	unix2dos "$(srcdir)/tmp/INSTALL.txt"
Gildas Bazin's avatar
 
Gildas Bazin committed
469
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
Sam Hocevar's avatar
Sam Hocevar committed
470 471
	  do cp "$(srcdir)/$$file" "$(srcdir)/tmp/$${file}.txt" ; \
	  unix2dos "$(srcdir)/tmp/$${file}.txt" ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
472

Sam Hocevar's avatar
Sam Hocevar committed
473
	mkdir -p "$(srcdir)/tmp/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
474
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
475
	  if test -n "$$i" ; then \
476
	    $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" "$(srcdir)/tmp/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
477
	  fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
478

Sam Hocevar's avatar
Sam Hocevar committed
479 480
	for i in "" $(srcdir)/tmp/plugins/*$(LIBEXT) ; \
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done
Gildas Bazin's avatar
 
Gildas Bazin committed
481

Sam Hocevar's avatar
Sam Hocevar committed
482
	mkdir -p "$(srcdir)/tmp/share"
483
	cp $(srcdir)/share/*.rle $(srcdir)/tmp/share/ ;
Gildas Bazin's avatar
 
Gildas Bazin committed
484

485
	mkdir $(srcdir)/tmp/locale
Gildas Bazin's avatar
 
Gildas Bazin committed
486
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
487 488 489
	  mkdir -p "$(srcdir)/tmp/locale/$${i}/LC_MESSAGES" ; \
	  cp "$(srcdir)/po/$${i}.gmo" \
	    "$(srcdir)/tmp/locale/$${i}/LC_MESSAGES/vlc.mo" || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
490 491
	done

492 493
	mkdir -p $(srcdir)/tmp/skins/default
	for i in $(srcdir)/share/skins/default/*.*; do \
Sam Hocevar's avatar
Sam Hocevar committed
494
	  cp $$i $(srcdir)/tmp/skins/default/ || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
495
	done
496
	for i in $(srcdir)/doc/skins/*.txt; do \
Sam Hocevar's avatar
Sam Hocevar committed
497
	  cp $$i $(srcdir)/tmp/skins/ || true ; \
Gildas Bazin's avatar
 
Gildas Bazin committed
498 499
	done

500
# Create package 
501
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe -- /DVERSION=${VERSION} $(srcdir)/tmp/nsi
502
# Clean up
503
	rm -Rf $(srcdir)/tmp
504 505 506

package-beos:
# Check that tmp isn't in the way
507
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
508 509
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
	  false; \
510
	else \
Sam Hocevar's avatar
Sam Hocevar committed
511
	  echo "OK."; mkdir $(srcdir)/tmp; \
512
	fi
513

514
# Copy relevant files
515 516
	mkdir -p $(srcdir)/tmp/vlc
	cd $(srcdir) && \
Sam Hocevar's avatar
Sam Hocevar committed
517
	  cp vlc AUTHORS COPYING ChangeLog README THANKS NEWS tmp/vlc/
518
# We cannot use ${PLUGIN_FILES}, it looks like it is too long for the BeOS shell...
519
	if [ `find $(srcdir)/modules -name "lib*_plugin.so" | wc -l` -gt 0 ]; then \
Sam Hocevar's avatar
Sam Hocevar committed
520 521
	  mkdir -p $(srcdir)/tmp/vlc/plugins; \
	  find $(srcdir)/modules -name "lib*_plugin.so" | xargs -i{} cp {} $(srcdir)/tmp/vlc/plugins/; \
522 523
	fi
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
524 525
	  mkdir -p $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
526
	done
527 528
	mkdir -p $(srcdir)/tmp/vlc/share
	cp $(srcdir)/share/*.rle $(srcdir)/tmp/vlc/share/
529 530

# Create package with debug symbols
531 532
	mimeset -f $(srcdir)/tmp/vlc/* $(srcdir)/tmp/vlc/*/*
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION}
533 534
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/
535 536

# Create package without debug symbols
537 538
	strip $(srcdir)/tmp/vlc-${VERSION}/vlc
	if [ -d $(srcdir)/tmp/vlc-${VERSION}/plugins ]; then \
Sam Hocevar's avatar
Sam Hocevar committed
539
	  strip $(srcdir)/tmp/vlc-${VERSION}/plugins/lib*_plugin.so; \
540
	fi
541 542
	xres -o $(srcdir)/tmp/vlc-${VERSION}/vlc $(srcdir)/share/vlc_beos.rsrc
	mimeset -f $(srcdir)/tmp/vlc-${VERSION}/* $(srcdir)/tmp/vlc-${VERSION}/*/*
543 544
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/
545

546
# Clean up
547
	rm -Rf $(srcdir)/tmp
548 549 550

package-macosx:
# Check that tmp isn't in the way
Sam Hocevar's avatar
Sam Hocevar committed
551 552 553
	@if test -e "$(srcdir)/tmp"; then \
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
	  false; \
554
	else \
Sam Hocevar's avatar
Sam Hocevar committed
555
	  echo "OK."; mkdir -p "$(srcdir)/tmp"; \
556 557 558
	fi

# Copy relevant files 
Sam Hocevar's avatar
Sam Hocevar committed
559 560
	cp -R "$(srcdir)/VLC.app" "$(srcdir)/tmp/"
	cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS tmp/
561 562

# Create disk image 
563
	$(srcdir)/extras/MacOSX/macosx-dmg 18 "vlc-${VERSION}" $(srcdir)/tmp/* 
564 565

# Clean up
566
	rm -Rf $(srcdir)/tmp
567

568 569 570 571
###############################################################################
# Building the Mozilla plugin
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
572
noinst_LIBRARIES = $(noinst_LIBRARIES_mozilla)
573

Sam Hocevar's avatar
Sam Hocevar committed
574
MOSTLYCLEANFILES = $(LIBRARIES_mozilla)
575 576 577 578 579 580 581 582 583 584 585

EXTRA_DIST += $(SOURCES_mozilla) mozilla/vlcintf.idl

BUILT_SOURCES += $(BUILT_SOURCES_mozilla)

SOURCES_mozilla = \
	mozilla/vlcshell.cpp \
	mozilla/vlcplugin.cpp \
	mozilla/vlcplugin.h \
	mozilla/vlcpeer.cpp \
	mozilla/vlcpeer.h \
586
	mozilla/support/classinfo.h \
587
	$(SOURCES_mozilla_win32) \
588
	$(SOURCES_mozilla_macosx) \
589 590
	$(SOURCES_mozilla_unix) \
	$(NULL)
591 592 593 594 595 596

# Under Win32, Mozilla plugins need to be named NP******.DLL, but under Unix
# the common naming scheme is lib******plugin.so. Also, we need npwin.cpp
# under Win32 and npunix.c under Unix.
if HAVE_WIN32
LIBRARIES_mozilla = mozilla/npvlc$(LIBEXT)
597
SOURCES_mozilla_win32 = mozilla/support/npwin.cpp
598 599
CPPFLAGS_mozilla_EXTRA = -DXP_WIN -DXP_WIN32
else
600 601 602 603
if HAVE_DARWIN
# We don't define LIBRARIES_mozilla because we'll be using project builder
SOURCES_mozilla_macosx = mozilla/support/npmac.cpp
else
604
LIBRARIES_mozilla = mozilla/libvlcplugin$(LIBEXT)
605 606
SOURCES_mozilla_unix = mozilla/support/npunix.c
endif
607
endif
608 609

if BUILD_MOZILLA
610 611 612 613
if UNTRUE
noinst_LIBRARIES_mozilla = mozilla/libplugin.a
endif

614
mozilla_libplugin_a_SOURCES = $(SOURCES_mozilla)
Sam Hocevar's avatar
Sam Hocevar committed
615
mozilla_libplugin_a_CFLAGS = `$(VLC_CONFIG) --cflags mozilla pic` \
Sam Hocevar's avatar
Sam Hocevar committed
616
                             $(CPPFLAGS_mozilla_EXTRA) -Imozilla
Sam Hocevar's avatar
Sam Hocevar committed
617
mozilla_libplugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags mozilla pic` \
Sam Hocevar's avatar
Sam Hocevar committed
618
                               $(CPPFLAGS_mozilla_EXTRA) -Imozilla
Sam Hocevar's avatar
Sam Hocevar committed
619
mozilla_libplugin_a_DEPENDENCIES = lib/libvlc_pic.a $(DATA_npvlc_rc)
620 621

BUILT_SOURCES_mozilla = mozilla/vlcintf.h
622
$(SOURCES_mozilla): mozilla/vlcintf.h
623

624 625
mozilla_plugin_DATA = $(LIBRARIES_mozilla)
mozilla_plugindir = $(libdir)/mozilla/plugins
626
$(LIBRARIES_mozilla): $(mozilla_libplugin_a_OBJECTS) \
Sam Hocevar's avatar
Sam Hocevar committed
627
                      $(mozilla_libplugin_a_DEPENDENCIES) stamp-pic
628
	$(CXXLINK) $(mozilla_libplugin_a_OBJECTS) $(DATA_npvlc_rc) \
Sam Hocevar's avatar
Sam Hocevar committed
629 630
	  lib/libvlc_pic.a -shared \
	  `$(VLC_CONFIG) --libs vlc mozilla builtin pic`
631 632 633

mozilla_vlcintf_xpt_DATA = mozilla/vlcintf.xpt
mozilla_vlcintf_xptdir = $(libdir)/mozilla/components
Sam Hocevar's avatar
Sam Hocevar committed
634
mozilla/vlcintf.xpt: mozilla/vlcintf.idl
635
	$(XPIDL) -I/usr/share/idl/mozilla -m typelib \
Sam Hocevar's avatar
Sam Hocevar committed
636
	  -o mozilla/vlcintf $(srcdir)/mozilla/vlcintf.idl
637

Sam Hocevar's avatar
Sam Hocevar committed
638
mozilla/vlcintf.h: mozilla/vlcintf.idl
639
	$(XPIDL) -I/usr/share/idl/mozilla -m header \
Sam Hocevar's avatar
Sam Hocevar committed
640
	  -o mozilla/vlcintf $(srcdir)/mozilla/vlcintf.idl
641 642 643 644 645 646

if HAVE_WIN32
DATA_npvlc_rc = $(noinst_mozilla_npvlc_rc_DATA)
noinst_mozilla_npvlc_rc_DATA = mozilla/npvlc_rc.$(OBJEXT)
noinst_mozilla_npvlc_rcdir = $(libdir)
mozilla/npvlc_rc.$(OBJEXT): mozilla/npvlc_rc.rc
647
	$(WINDRES) --include-dir $(srcdir)/mozilla -i $< -o $@
648
endif
649 650
endif

Sam Hocevar's avatar
Sam Hocevar committed
651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675
###############################################################################
# Stamp rules
###############################################################################
clean: clean-stamps
clean-stamp:
	rm -f stamp-builtin stamp-pic

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

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

676 677 678 679
###############################################################################
# Force rule
###############################################################################
FORCE: