Makefile.am 22.9 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
	extras/MacOSX/Resources/pause.png \
181
	extras/MacOSX/Resources/pause_blue.png \
182
	extras/MacOSX/Resources/play.png \
183
	extras/MacOSX/Resources/play_blue.png \
184
	extras/MacOSX/Resources/stop.png \
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
	extras/MacOSX/Resources/stop_blue.png \
	extras/MacOSX/Resources/display.png \
	extras/MacOSX/Resources/display_slider.png \
	extras/MacOSX/Resources/display_track.png \
	extras/MacOSX/Resources/fullscreen_active.png \
	extras/MacOSX/Resources/fullscreen_blue.png \
	extras/MacOSX/Resources/next_active.png \
	extras/MacOSX/Resources/next_blue.png \
	extras/MacOSX/Resources/playlistdrawer_active.png \
	extras/MacOSX/Resources/playlistdrawer_blue.png \
	extras/MacOSX/Resources/previous_active.png \
	extras/MacOSX/Resources/previous_blue.png \
	extras/MacOSX/Resources/skip_forward_active.png \
	extras/MacOSX/Resources/skip_forward_blue.png \
	extras/MacOSX/Resources/skip_previous_active.png \
	extras/MacOSX/Resources/skip_previous_blue.png \
	extras/MacOSX/Resources/volume_high.png \
	extras/MacOSX/Resources/volume_low.png \
	extras/MacOSX/Resources/volumeslider_blue.png \
	extras/MacOSX/Resources/volumeslider_normal.png \
	extras/MacOSX/Resources/volumetrack.png \
206
	extras/MacOSX/Resources/about_bg.png \
207
	extras/MacOSX/Resources/vlc.scriptSuite \
208
	extras/MacOSX/Resources/README \
209
	extras/MacOSX/vlc.pbproj/project.pbxproj \
210
	extras/MacOSX/macosx-dmg \
211
212
213
	$(NULL)

###############################################################################
214
# MS Visual Studio and eMbedded Visual Studio projects
215
216
217
218
###############################################################################

EXTRA_DIST += \
	msvc/vlc.dsw \
219
220
	msvc/libvlc.dsp.in \
	msvc/plugins.dsp.in \
221
	msvc/vlc.dsp.in \
222
	msvc/config.h.in \
223
	msvc/modules_builtin_msvc.h \
224
	evc/vlc.vcw \
225
	evc/libvlc.vcp.in \
226
	evc/vlc.vcp.in \
227
	evc/plugins.vcp.in \
228
	evc/vlc.c \
229
	evc/config.h.in \
230
	evc/modules_builtin_evc.h \
231
232
	$(NULL)

gbazin's avatar
   
gbazin committed
233
dist-hook:
234
	mv $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild
Sam Hocevar's avatar
Sam Hocevar committed
235
	cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc
gbazin's avatar
   
gbazin committed
236

237
238
239
240
241
242
###############################################################################
# Building libvlc
###############################################################################

bin_SCRIPTS = vlc-config

Sam Hocevar's avatar
Sam Hocevar committed
243
lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic)
244
245

lib_libvlc_a_SOURCES = $(SOURCES_libvlc)
gbazin's avatar
   
gbazin committed
246
dist_lib_libvlc_a_SOURCES = src/misc/modules_plugin.h
Sam Hocevar's avatar
Sam Hocevar committed
247
248
249
lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc`
lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc`
250
251

lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc)
Sam Hocevar's avatar
Sam Hocevar committed
252
253
254
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`
255
256

if HAVE_BEOS
257
OPT_SOURCES_libvlc_beos = $(SOURCES_libvlc_beos)
258
259
endif
if HAVE_DARWIN
260
OPT_SOURCES_libvlc_darwin = $(SOURCES_libvlc_darwin)
261
262
endif
if HAVE_WIN32
263
OPT_SOURCES_libvlc_win32 = $(SOURCES_libvlc_win32)
264
265
endif
if BUILD_DIRENT
266
OPT_SOURCES_libvlc_dirent = $(SOURCES_libvlc_dirent)
267
268
endif
if BUILD_GETOPT
269
OPT_SOURCES_libvlc_getopt = $(SOURCES_libvlc_getopt)
270
endif
271
if BUILD_MOZILLA
272
if !HAVE_WIN32
273
274
LIBRARIES_libvlc_pic = lib/libvlc_pic.a
endif
275
endif
276
277

EXTRA_DIST += \
278
279
280
281
282
	$(SOURCES_libvlc_beos) \
	$(SOURCES_libvlc_darwin) \
	$(SOURCES_libvlc_win32) \
	$(SOURCES_libvlc_dirent) \
	$(SOURCES_libvlc_getopt) \
283
284
	$(NULL)

285
SOURCES_libvlc_beos = \
286
	src/misc/beos_specific.cpp \
287
288
	$(NULL)

289
SOURCES_libvlc_darwin = \
290
	src/misc/darwin_specific.m \
291
292
	$(NULL)

293
SOURCES_libvlc_win32 = \
294
295
296
	src/misc/win32_specific.c \
	$(NULL)

297
SOURCES_libvlc_dirent = \
298
299
300
301
	src/extras/dirent.c \
	src/extras/dirent.h \
	$(NULL)

302
SOURCES_libvlc_getopt = \
303
304
305
306
307
	src/extras/getopt.c \
	src/extras/getopt.h \
	src/extras/getopt1.c \
	$(NULL)

308
SOURCES_libvlc_common = \
309
310
311
312
313
	src/libvlc.c \
	src/libvlc.h \
	src/interface/interface.c \
	src/interface/intf_eject.c \
	src/playlist/playlist.c \
zorglub's avatar
zorglub committed
314
315
316
317
	src/playlist/sort.c \
	src/playlist/loadsave.c \
	src/playlist/group.c \
	src/playlist/item.c \
318
	src/input/input.c \
319
	src/input/stream.c \
320
	src/input/demux.c \
321
322
	src/input/subtitles.c \
        src/input/input_ext-plugins.c \
323
324
325
326
327
328
329
330
331
332
333
	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 \
334
	src/video_output/vout_synchro.c \
335
336
337
338
339
340
341
342
	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 \
343
	src/misc/charset.c \
344
	src/misc/mtime.c \
345
	src/misc/block.c \
346
347
348
349
350
	src/misc/modules.c \
	src/misc/threads.c \
	src/misc/cpu.c \
	src/misc/configuration.c \
	src/misc/iso_lang.c \
351
	src/misc/iso-639_def.h \
352
353
	src/misc/messages.c \
	src/misc/objects.c \
Sam Hocevar's avatar
Sam Hocevar committed
354
	src/misc/variables.c \
355
	src/misc/error.c \
356
	src/extras/libc.c \
357
358
359
360
361
362
363
364
365
	$(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) \
366
	$(NULL)
367
368
369
370
371

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

Sam Hocevar's avatar
Sam Hocevar committed
372
bin_PROGRAMS = vlc
373

374
vlc_SOURCES = src/vlc.c
375

Sam Hocevar's avatar
Sam Hocevar committed
376
377
378
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin`
vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
379

380
381
# 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
382
DEPENDENCIES_vlc = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl)
383

Sam Hocevar's avatar
Sam Hocevar committed
384
385
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
	@rm -f $(top_builddir)/vlc$(EXEEXT)
386
387
388
389
	@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
390
	esac
Eric Petit's avatar
Eric Petit committed
391

392
if HAVE_BEOS
393
	xres -o $@ $(srcdir)/share/vlc_beos.rsrc
394
	mimeset -f $@
Sam Hocevar's avatar
Sam Hocevar committed
395
	rm -Rf $(srcdir)/locale ; mkdir -p "$(srcdir)/locale"
Eric Petit's avatar
Eric Petit committed
396
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
397
398
399
	  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
400
	done
401
402
endif

Sam Hocevar's avatar
Sam Hocevar committed
403
# Install the modules and the symlinks
404
install-exec-local:
Sam Hocevar's avatar
Sam Hocevar committed
405
	for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \
406
407
	  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
408
	fi ; done
409
	for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \
410
	  echo $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
411
	  $(INSTALL) -m 644 "$$i" "$(DESTDIR)$(libdir)/vlc" ; \
Sam Hocevar's avatar
Sam Hocevar committed
412
	fi ; done
413
414
415
416
417
418
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
419
	for i in "" $(ALIASES) ; do if test -n "$$i" ; then \
Sam Hocevar's avatar
Sam Hocevar committed
420
421
	  rm -f "$(DESTDIR)$(bindir)/$$i" && \
	  ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \
422
423
424
425
	fi ; done

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

if HAVE_WIN32
511
DATA_win32_rc = $(noinst_share_vlc_win32_rc_DATA)
512
513
514
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
515
	$(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 $@
516
517
endif

518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
###############################################################################
# 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); }; }

536
537
538
539
540
541
542
543
###############################################################################
# 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
544
545
546
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
547
	  false; \
548
	else \
gbazin's avatar
   
gbazin committed
549
	  echo "OK."; mkdir -p "$(srcdir)/vlc-${VERSION}"; \
550
551
	fi
# Create installation script
gbazin's avatar
   
gbazin committed
552
	cp "$(srcdir)/install-win32" "$(srcdir)/vlc-${VERSION}/nsi"
553
# Copy relevant files
gbazin's avatar
   
gbazin committed
554
555
	cp "$(top_builddir)/vlc$(EXEEXT)" "$(srcdir)/vlc-${VERSION}/"
	$(STRIP) "$(srcdir)/vlc-${VERSION}/vlc$(EXEEXT)"
gbazin's avatar
   
gbazin committed
556
	for file in AUTHORS MAINTAINERS THANKS NEWS COPYING README ; \
gbazin's avatar
   
gbazin committed
557
558
	  do cp "$(srcdir)/$$file" "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; \
	  unix2dos "$(srcdir)/vlc-${VERSION}/$${file}.txt" ; done
gbazin's avatar
   
gbazin committed
559

gbazin's avatar
   
gbazin committed
560
	mkdir -p "$(srcdir)/vlc-${VERSION}/plugins"
Sam Hocevar's avatar
Sam Hocevar committed
561
	for i in "" `$(VLC_CONFIG) --target plugin` ; do \
Sam Hocevar's avatar
Sam Hocevar committed
562
	  if test -n "$$i" ; then \
gbazin's avatar
   
gbazin committed
563
564
	    $(INSTALL) "$(srcdir)/$$i$(LIBEXT)" \
            "$(srcdir)/vlc-${VERSION}/plugins/" ; \
Sam Hocevar's avatar
Sam Hocevar committed
565
	  fi ; done
gbazin's avatar
   
gbazin committed
566

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

gbazin's avatar
   
gbazin committed
570
	mkdir $(srcdir)/vlc-${VERSION}/locale
gbazin's avatar
   
gbazin committed
571
	for i in $(ALL_LINGUAS); do \
gbazin's avatar
   
gbazin committed
572
	  mkdir -p "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES" ; \
Sam Hocevar's avatar
Sam Hocevar committed
573
	  cp "$(srcdir)/po/$${i}.gmo" \
gbazin's avatar
   
gbazin committed
574
575
	    "$(srcdir)/vlc-${VERSION}/locale/$${i}/LC_MESSAGES/vlc.mo" \
            || true ; \
gbazin's avatar
   
gbazin committed
576
577
	done

gbazin's avatar
   
gbazin committed
578
	mkdir -p $(srcdir)/vlc-${VERSION}/skins/default
579
	for i in $(srcdir)/share/skins/default/*.*; do \
gbazin's avatar
   
gbazin committed
580
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/default/ || true ; \
gbazin's avatar
   
gbazin committed
581
	done
582
	for i in $(srcdir)/doc/skins/*.txt; do \
gbazin's avatar
   
gbazin committed
583
	  cp $$i $(srcdir)/vlc-${VERSION}/skins/ || true ; \
gbazin's avatar
   
gbazin committed
584
585
	done

gbazin's avatar
   
gbazin committed
586
	mkdir -p "$(srcdir)/vlc-${VERSION}/http/admin"
gbazin's avatar
   
gbazin committed
587
	cp $(srcdir)/share/http/*.html $(srcdir)/vlc-${VERSION}/http/ ;
gbazin's avatar
   
gbazin committed
588
	cp $(srcdir)/share/http/*.css $(srcdir)/vlc-${VERSION}/http/ ;
gbazin's avatar
   
gbazin committed
589
590
591
592
593
	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
594
595
	mkdir -p "$(srcdir)/vlc-${VERSION}/mozilla"
if BUILD_MOZILLA
gbazin's avatar
   
gbazin committed
596
597
	cp $(srcdir)/mozilla/*$(LIBEXT) $(srcdir)/vlc-${VERSION}/mozilla/ ;
	$(STRIP) $(srcdir)/vlc-${VERSION}/mozilla/*$(LIBEXT);
gbazin's avatar
   
gbazin committed
598
599
600
	cp $(srcdir)/mozilla/vlcintf.xpt  $(srcdir)/vlc-${VERSION}/mozilla/ ;
endif

gbazin's avatar
   
gbazin committed
601
602
603
604
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
605

gbazin's avatar
   
gbazin committed
606
package-win32-base-zip:
607
# Create package 
gbazin's avatar
   
gbazin committed
608
	zip -r vlc-${VERSION}-win32.zip vlc-${VERSION}
gbazin's avatar
   
gbazin committed
609
610
611
612
613
614
615
616
617
618

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
619
# Clean up
gbazin's avatar
   
gbazin committed
620
	rm -Rf $(srcdir)/vlc-${VERSION}
621
622
623

package-beos:
# Check that tmp isn't in the way
624
	@if test -e $(srcdir)/tmp; then \
Sam Hocevar's avatar
Sam Hocevar committed
625
626
	  echo "Error: please remove $(srcdir)/tmp, it is in the way"; \
	  false; \
627
	else \
Sam Hocevar's avatar
Sam Hocevar committed
628
	  echo "OK."; mkdir $(srcdir)/tmp; \
629
	fi
630

631
# Copy relevant files
632
633
	mkdir -p $(srcdir)/tmp/vlc
	cd $(srcdir) && \
Sam Hocevar's avatar
Sam Hocevar committed
634
	  cp vlc AUTHORS COPYING ChangeLog README THANKS NEWS tmp/vlc/
635
# We cannot use ${PLUGIN_FILES} as it looks like it is too "long" for the BeOS shell...
636
	if [ `find $(srcdir)/modules -name "lib*_plugin.so" | wc -l` -gt 0 ]; then \
Sam Hocevar's avatar
Sam Hocevar committed
637
638
	  mkdir -p $(srcdir)/tmp/vlc/plugins; \
	  find $(srcdir)/modules -name "lib*_plugin.so" | xargs -i{} cp {} $(srcdir)/tmp/vlc/plugins/; \
639
640
	fi
	for i in $(ALL_LINGUAS); do \
Sam Hocevar's avatar
Sam Hocevar committed
641
642
	  mkdir -p $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES ; \
	  cp $(srcdir)/po/$${i}.gmo $(srcdir)/tmp/vlc/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \
643
644
645
	done

# Create package with debug symbols
646
647
	mimeset -f $(srcdir)/tmp/vlc/* $(srcdir)/tmp/vlc/*/*
	mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-${VERSION}
648
649
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS-debug.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS-debug.zip $(srcdir)/
650
651

# Create package without debug symbols
652
653
654
655
	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; \
656
	fi
657
658
659
	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}
660
661
	(cd $(srcdir)/tmp ; zip -9 -r vlc-${VERSION}-BeOS.zip vlc-${VERSION} )
	mv $(srcdir)/tmp/vlc-${VERSION}-BeOS.zip $(srcdir)/
662

663
# Clean up
664
	rm -Rf $(srcdir)/tmp
665
666
667

package-macosx:
# Check that tmp isn't in the way
Loïc Minier's avatar
Loïc Minier committed
668
669
	@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
670
	  false; \
671
	else \
Loïc Minier's avatar
Loïc Minier committed
672
	  echo "OK."; mkdir -p "$(top_builddir)/tmp"; \
673
674
675
	fi

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

# Create disk image 
680
	$(srcdir)/extras/MacOSX/macosx-dmg 25 "vlc-${VERSION}" $(top_builddir)/tmp/* 
681
682

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

Sam Hocevar's avatar
Sam Hocevar committed
685
686
687
###############################################################################
# Stamp rules
###############################################################################
688
clean: clean-stamp
Sam Hocevar's avatar
Sam Hocevar committed
689
clean-stamp:
690
	rm -f stamp-builtin
Sam Hocevar's avatar
Sam Hocevar committed
691
692
693
694
695
696
697
698
699
700

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

701
702
703
704
###############################################################################
# Force rule
###############################################################################
FORCE: