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 \
gbazin's avatar
   
gbazin committed
93
	include/vlc_block_helper.h \
gbazin's avatar
   
gbazin 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 \
gbazin's avatar
   
gbazin 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)

gbazin's avatar
   
gbazin 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
gbazin's avatar
   
gbazin 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)
gbazin's avatar
   
gbazin 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 \
zorglub's avatar
zorglub committed
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
hartman's avatar
hartman committed
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
gbazin's avatar
   
gbazin 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 \
gbazin's avatar
   
gbazin committed
534
	  echo "OK."; mkdir -p "$(srcdir)/vlc-${VERSION}"; \
535
536
	fi
# Create installation script
gbazin's avatar
   
gbazin committed
537
	cp "$(srcdir)/install-win32" "$(srcdir)/vlc-${VERSION}/nsi"
538
# Copy relevant files
gbazin's avatar
   
gbazin committed
539
540
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(srcdir)/vlc-${VERSION}/"
	$(STRIP) "$(srcdir)/vlc-${VERSION}/vlc$(EXEEXT)"
gbazin's avatar
   
gbazin committed
541
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
gbazin's avatar
   
gbazin committed
542
543
	  do cp "$(srcdir)/$$file" "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; done
gbazin's avatar
   
gbazin committed
544

gbazin's avatar
   
gbazin 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 \
gbazin's avatar
   
gbazin committed
548
549
	    $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" \
            "$(srcdir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
550
	  fi ; done
gbazin's avatar
   
gbazin committed
551

gbazin's avatar
   
gbazin 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
gbazin's avatar
   
gbazin committed
554

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

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

gbazin's avatar
   
gbazin committed
571
	mkdir -p "$(srcdir)/vlc-${VERSION}/http/admin"
gbazin's avatar
   
gbazin committed
572
	cp $(srcdir)/share/http/*.html $(srcdir)/vlc-${VERSION}/http/ ;
gbazin's avatar
   
gbazin committed
573
	cp $(srcdir)/share/http/*.css $(srcdir)/vlc-${VERSION}/http/ ;
gbazin's avatar
   
gbazin 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/ ;

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

gbazin's avatar
   
gbazin 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
gbazin's avatar
   
gbazin committed
590

gbazin's avatar
   
gbazin committed
591
package-win32-base-zip:
592
# Create package 
gbazin's avatar
   
gbazin committed
593
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
gbazin's avatar
   
gbazin 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
gbazin's avatar
   
gbazin 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: