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.
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)

gbazin's avatar
   
gbazin committed
209
dist-hook:
210
211
	mv $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild
	cd $(distdir) && $(srcdir)/toolbox --update-vc
gbazin's avatar
   
gbazin 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)
gbazin's avatar
   
gbazin 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
Sam Hocevar's avatar
Sam Hocevar committed
376
	for i in "" `$(VLC_CONFIG) --target builtin` `$(VLC_CONFIG) --target builtin pic` ; 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
Sam Hocevar's avatar
Sam Hocevar committed
380
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
381
382
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
383
384
385
386
	fi ; done

if HAVE_DARWIN
# Create the MacOS X app
hartman's avatar
hartman committed
387
vlc_app_DATA = VLC.app
388
vlc_appdir = $(bindir)
Sam Hocevar's avatar
Sam Hocevar committed
389
VLC.app: vlc
hartman's avatar
hartman committed
390
	rm -Rf VLC.app
391
392
393
394
395
	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
396
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
397
	  if test -n "$$i" ; then $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" \
398
	    "$(srcdir)/VLC.app/Contents/MacOS/modules" ; \
Sam Hocevar's avatar
Sam Hocevar committed
399
	  fi ; done
400
401
	$(INSTALL) -d $(srcdir)/VLC.app/Contents/MacOS/share
	$(INSTALL) -m 644 $(srcdir)/share/*.psf $(srcdir)/share/*.rle \
Sam Hocevar's avatar
Sam Hocevar committed
402
	  $(srcdir)/VLC.app/Contents/MacOS/share
403
	$(INSTALL) -d $(srcdir)/VLC.app/Contents/MacOS/locale
404
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
405
406
407
408
409
410
	  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 ; \
411
	done
412
	printf "APPLVLC#" >| $(srcdir)/VLC.app/Contents/PkgInfo
413
414
415
endif

if HAVE_WIN32
416
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
417
418
419
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
420
	$(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 $@
421
422
endif

423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
###############################################################################
# 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); }; }

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

Sam Hocevar's avatar
Sam Hocevar committed
467
	mkdir -p "$(srcdir)/tmp/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
468
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
469
	  if test -n "$$i" ; then \
470
	    $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" "$(srcdir)/tmp/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
471
	  fi ; done
gbazin's avatar
   
gbazin committed
472

Sam Hocevar's avatar
Sam Hocevar committed
473
474
	for i in "" $(srcdir)/tmp/plugins/*$(LIBEXT) ; \
	  do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done
gbazin's avatar
   
gbazin committed
475

Sam Hocevar's avatar
Sam Hocevar committed
476
	mkdir -p "$(srcdir)/tmp/share"
477
	cp $(srcdir)/share/*.rle $(srcdir)/tmp/share/ ;
gbazin's avatar
   
gbazin committed
478

479
	mkdir $(srcdir)/tmp/locale
gbazin's avatar
   
gbazin committed
480
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
481
482
483
	  mkdir -p "$(srcdir)/tmp/locale/$${i}/LC_MESSAGES" ; \
	  cp "$(srcdir)/po/$${i}.gmo" \
	    "$(srcdir)/tmp/locale/$${i}/LC_MESSAGES/vlc.mo" || true ; \
gbazin's avatar
   
gbazin committed
484
485
	done

486
487
	mkdir -p $(srcdir)/tmp/skins/default
	for i in $(srcdir)/share/skins/default/*.*; do \
Sam Hocevar's avatar
Sam Hocevar committed
488
	  cp $$i $(srcdir)/tmp/skins/default/ || true ; \
gbazin's avatar
   
gbazin committed
489
	done
490
	for i in $(srcdir)/doc/skins/*.txt; do \
Sam Hocevar's avatar
Sam Hocevar committed
491
	  cp $$i $(srcdir)/tmp/skins/ || true ; \
gbazin's avatar
   
gbazin committed
492
493
	done

494
# Create package 
495
	wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe -- /DVERSION=${VERSION} $(srcdir)/tmp/nsi
496
# Clean up
497
	rm -Rf $(srcdir)/tmp
498
499
500

package-beos:
# Check that tmp isn't in the way
501
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
502
503
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
	  false; \
504
	else \
Sam Hocevar's avatar
Sam Hocevar committed
505
	  echo "OK."; mkdir $(srcdir)/tmp; \
506
	fi
507

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

# Create package with debug symbols
525
526
	mimeset -f $(srcdir)/tmp/vlc/* $(srcdir)/tmp/vlc/*/*
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION}
527
528
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/
529
530

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

540
# Clean up
541
	rm -Rf $(srcdir)/tmp
542
543
544

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

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

# Create disk image 
557
	$(srcdir)/extras/MacOSX/macosx-dmg 18 "vlc-${VERSION}" $(srcdir)/tmp/* 
558
559

# Clean up
560
	rm -Rf $(srcdir)/tmp
561

562
563
564
565
###############################################################################
# Building the Mozilla plugin
###############################################################################

Sam Hocevar's avatar
Sam Hocevar committed
566
noinst_LIBRARIES = $(noinst_LIBRARIES_mozilla)
567

Sam Hocevar's avatar
Sam Hocevar committed
568
MOSTLYCLEANFILES = $(LIBRARIES_mozilla)
569
570
571
572
573
574
575
576
577
578
579

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 \
580
	mozilla/support/classinfo.h \
581
	$(SOURCES_mozilla_win32) \
582
	$(SOURCES_mozilla_macosx) \
583
584
	$(SOURCES_mozilla_unix) \
	$(NULL)
585
586
587
588
589
590

# 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)
591
SOURCES_mozilla_win32 = mozilla/support/npwin.cpp
592
593
CPPFLAGS_mozilla_EXTRA = -DXP_WIN -DXP_WIN32
else
594
595
596
597
if HAVE_DARWIN
# We don't define LIBRARIES_mozilla because we'll be using project builder
SOURCES_mozilla_macosx = mozilla/support/npmac.cpp
else
598
LIBRARIES_mozilla = mozilla/libvlcplugin$(LIBEXT)
599
600
SOURCES_mozilla_unix = mozilla/support/npunix.c
endif
601
endif
602
603

if BUILD_MOZILLA
604
605
606
607
if UNTRUE
noinst_LIBRARIES_mozilla = mozilla/libplugin.a
endif

608
mozilla_libplugin_a_SOURCES = $(SOURCES_mozilla)
Sam Hocevar's avatar
Sam Hocevar committed
609
mozilla_libplugin_a_CFLAGS = `$(VLC_CONFIG) --cflags mozilla pic` \
Sam Hocevar's avatar
Sam Hocevar committed
610
                             $(CPPFLAGS_mozilla_EXTRA) -Imozilla
Sam Hocevar's avatar
Sam Hocevar committed
611
mozilla_libplugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags mozilla pic` \
Sam Hocevar's avatar
Sam Hocevar committed
612
                               $(CPPFLAGS_mozilla_EXTRA) -Imozilla
Sam Hocevar's avatar
Sam Hocevar committed
613
mozilla_libplugin_a_DEPENDENCIES = lib/libvlc_pic.a $(DATA_npvlc_rc)
614
615

BUILT_SOURCES_mozilla = mozilla/vlcintf.h
616
$(SOURCES_mozilla): mozilla/vlcintf.h
617

618
619
mozilla_plugin_DATA = $(LIBRARIES_mozilla)
mozilla_plugindir = $(libdir)/mozilla/plugins
620
$(LIBRARIES_mozilla): $(mozilla_libplugin_a_OBJECTS) \
Sam Hocevar's avatar
Sam Hocevar committed
621
                      $(mozilla_libplugin_a_DEPENDENCIES) stamp-pic
622
	$(CXXLINK) $(mozilla_libplugin_a_OBJECTS) $(DATA_npvlc_rc) \
Sam Hocevar's avatar
Sam Hocevar committed
623
624
	  lib/libvlc_pic.a -shared \
	  `$(VLC_CONFIG) --libs vlc mozilla builtin pic`
625
626
627

mozilla_vlcintf_xpt_DATA = mozilla/vlcintf.xpt
mozilla_vlcintf_xptdir = $(libdir)/mozilla/components
Sam Hocevar's avatar
Sam Hocevar committed
628
mozilla/vlcintf.xpt: mozilla/vlcintf.idl
629
	$(XPIDL) -I/usr/share/idl/mozilla -m typelib \
Sam Hocevar's avatar
Sam Hocevar committed
630
	  -o mozilla/vlcintf $(srcdir)/mozilla/vlcintf.idl
631

Sam Hocevar's avatar
Sam Hocevar committed
632
mozilla/vlcintf.h: mozilla/vlcintf.idl
633
	$(XPIDL) -I/usr/share/idl/mozilla -m header \
Sam Hocevar's avatar
Sam Hocevar committed
634
	  -o mozilla/vlcintf $(srcdir)/mozilla/vlcintf.idl
635
636
637
638
639
640

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
641
	$(WINDRES) --include-dir $(srcdir)/mozilla -i $< -o $@
642
endif
643
644
endif

Sam Hocevar's avatar
Sam Hocevar committed
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
###############################################################################
# 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

670
671
672
673
###############################################################################
# Force rule
###############################################################################
FORCE: