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

5
6
NULL =

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

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

32
33
34
35
36
37
BUILT_SOURCES =
SUFFIXES = 

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

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

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

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

pkgincludedir = $(includedir)/vlc

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

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

HEADERS_include = \
	include/aout_internal.h \
	include/audio_output.h \
	include/beos_specific.h \
	include/configuration.h \
	include/darwin_specific.h \
72
	include/charset.h \
73
	include/codecs.h \
74
	include/ninput.h \
75
76
77
78
79
	include/input_ext-dec.h \
	include/input_ext-intf.h \
	include/input_ext-plugins.h \
	include/intf_eject.h \
	include/iso_lang.h \
80
	include/httpd.h \
81
82
83
84
85
86
87
88
89
	include/main.h \
	include/mmx.h \
	include/modules.h \
	include/modules_inner.h \
	include/mtime.h \
	include/network.h \
	include/os_specific.h \
	include/stream_control.h \
	include/stream_output.h \
Sam Hocevar's avatar
Sam Hocevar committed
90
	include/variables.h \
91
	include/video_output.h \
92
	include/vlc_block.h \
gbazin's avatar
   
gbazin committed
93
	include/vlc_block_helper.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)

gbazin's avatar
   
gbazin 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
gbazin's avatar
   
gbazin 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)
gbazin's avatar
   
gbazin 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
	src/input/subtitles.c \
        src/input/input_ext-plugins.c \
299
300
301
302
303
304
305
306
307
308
309
310
	src/input/input_ext-dec.c \
	src/input/input_ext-intf.c \
	src/input/input_dec.c \
	src/input/input_programs.c \
	src/input/input_clock.c \
	src/input/input_info.c \
	src/video_output/video_output.c \
	src/video_output/vout_pictures.c \
	src/video_output/vout_pictures.h \
	src/video_output/video_text.c \
	src/video_output/video_text.h \
	src/video_output/vout_subpictures.c \
311
	src/video_output/vout_synchro.c \
312
313
314
315
316
317
318
319
	src/audio_output/common.c \
	src/audio_output/dec.c \
	src/audio_output/filters.c \
	src/audio_output/input.c \
	src/audio_output/mixer.c \
	src/audio_output/output.c \
	src/audio_output/intf.c \
	src/stream_output/stream_output.c \
320
	src/misc/charset.c \
321
	src/misc/mtime.c \
322
	src/misc/block.c \
323
324
325
326
327
	src/misc/modules.c \
	src/misc/threads.c \
	src/misc/cpu.c \
	src/misc/configuration.c \
	src/misc/iso_lang.c \
328
	src/misc/iso-639_def.h \
329
330
	src/misc/messages.c \
	src/misc/objects.c \
Sam Hocevar's avatar
Sam Hocevar committed
331
	src/misc/variables.c \
332
	src/misc/error.c \
333
	src/extras/libc.c \
334
335
336
337
338
339
340
341
342
	$(NULL)

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

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

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

351
vlc_SOURCES = src/vlc.c
352

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

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

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

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

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

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

if HAVE_WIN32
484
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
485
486
487
noinst_share_vlc_win32_rc_DATA = share/vlc_win32_rc.$(OBJEXT)
noinst_share_vlc_win32_rcdir = $(libdir)
share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc
488
	$(WINDRES) -DVERSION=$(VERSION) -DVERSION_NUMBER=`echo $(VERSION).0.0.0 | sed 's/\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\)[^.]*\.*\([0-9]*\).*/\1,\2,\3,\4/'` --include-dir $(srcdir)/share -i $< -o $@
489
490
endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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