3 # copyright (c) 2008 Diego Biurrun
4 # Rewritten entirely from a set of Makefiles written by Arpi and many others.
6 # This file is part of MPlayer.
8 # MPlayer is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # MPlayer is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License along
19 # with MPlayer; if not, write to the Free Software Foundation, Inc.,
20 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 ###### variable declarations #######
26 SRCS_AUDIO_INPUT-
$(ALSA1X
) += stream
/ai_alsa1x.c
27 SRCS_AUDIO_INPUT-
$(ALSA9
) += stream
/ai_alsa.c
28 SRCS_AUDIO_INPUT-
$(OSS
) += stream
/ai_oss.c
29 SRCS_COMMON-
$(AUDIO_INPUT
) += $(SRCS_AUDIO_INPUT-yes
)
30 SRCS_COMMON-
$(BITMAP_FONT
) += sub
/font_load.c
31 SRCS_COMMON-
$(CDDA
) += stream
/stream_cdda.c \
33 SRCS_COMMON-
$(CDDB
) += stream
/stream_cddb.c
34 SRCS_COMMON-
$(DVBIN
) += stream
/dvb_tune.c \
36 SRCS_COMMON-
$(DVDNAV
) += stream
/stream_dvdnav.c
37 SRCS_COMMON-
$(DVDNAV_INTERNAL
) += libdvdnav
/dvdnav.c \
38 libdvdnav
/highlight.c \
39 libdvdnav
/navigation.c \
40 libdvdnav
/read_cache.c \
42 libdvdnav
/searching.c \
43 libdvdnav
/settings.c \
44 libdvdnav
/vm
/decoder.c \
46 libdvdnav
/vm
/vmcmd.c \
48 SRCS_COMMON-
$(DVDREAD
) += stream
/stream_dvd.c \
49 stream
/stream_dvd_common.c
50 SRCS_COMMON-
$(DVDREAD_INTERNAL
) += libdvdread4
/bitreader.c \
51 libdvdread4
/dvd_input.c \
52 libdvdread4
/dvd_reader.c \
53 libdvdread4
/dvd_udf.c \
54 libdvdread4
/ifo_print.c \
55 libdvdread4
/ifo_read.c \
57 libdvdread4
/nav_print.c \
58 libdvdread4
/nav_read.c \
60 SRCS_COMMON-
$(FAAD
) += libmpcodecs
/ad_faad.c
61 SRCS_COMMON-
$(FASTMEMCPY
) += libvo
/aclib.c
63 # Requires a new enough libavutil that installs eval.h
64 SRCS_COMMON-
$(FFMPEG_EVAL_API
) += libmpcodecs
/vf_geq.c \
67 # These filters use private headers and do not work with shared libavcodec.
68 SRCS_COMMON-
$(FFMPEG_INTERNALS
) += libmpcodecs
/vf_fspp.c \
69 libmpcodecs
/vf_mcdeint.c \
70 libmpcodecs
/vf_spp.c \
72 SRCS_COMMON-
$(FREETYPE
) += sub
/font_load_ft.c
73 SRCS_COMMON-
$(FTP
) += stream
/stream_ftp.c
74 SRCS_COMMON-
$(GIF
) += libmpdemux
/demux_gif.c
75 SRCS_COMMON-
$(HAVE_POSIX_SELECT
) += libmpcodecs
/vf_bmovl.c
76 SRCS_COMMON-
$(HAVE_SYS_MMAN_H
) += libaf
/af_export.c osdep
/mmap_anon.c
77 SRCS_COMMON-
$(JPEG
) += libmpcodecs
/vd_ijpg.c
78 SRCS_COMMON-
$(LADSPA
) += libaf
/af_ladspa.c
79 SRCS_COMMON-
$(LIBA52
) += libmpcodecs
/ad_liba52.c
80 SRCS_COMMON-
$(LIBASS
) += libmpcodecs
/vf_ass.c \
84 SRCS_COMMON-
$(LIBBLURAY
) += stream
/stream_bluray.c
85 SRCS_COMMON-
$(LIBBS2B
) += libaf
/af_bs2b.c
86 SRCS_COMMON-
$(LIBDCA
) += libmpcodecs
/ad_libdca.c
87 SRCS_COMMON-
$(LIBDV
) += libmpcodecs
/ad_libdv.c \
88 libmpcodecs
/vd_libdv.c \
89 libmpdemux
/demux_rawdv.c
90 SRCS_COMMON-
$(LIBDVDCSS_INTERNAL
) += libdvdcss
/css.c \
94 libdvdcss
/libdvdcss.c \
96 SRCS_COMMON-
$(LIBMAD
) += libmpcodecs
/ad_libmad.c
98 SRCS_COMMON-
$(LIBNEMESI
) += libmpdemux
/demux_nemesi.c \
99 stream
/stream_nemesi.c
100 SRCS_COMMON-
$(LIBNUT
) += libmpdemux
/demux_nut.c
101 SRCS_COMMON-
$(LIBSMBCLIENT
) += stream
/stream_smb.c
103 SRCS_COMMON-
$(LIBTHEORA
) += libmpcodecs
/vd_theora.c
104 SRCS_COMMON-
$(LIVE555
) += libmpdemux
/demux_rtp.
cpp \
105 libmpdemux
/demux_rtp_codec.
cpp \
106 stream
/stream_live555.c
107 SRCS_COMMON-
$(MACOSX_FINDER
) += osdep
/macosx_finder_args.c
108 SRCS_COMMON-
$(MNG
) += libmpdemux
/demux_mng.c
109 SRCS_COMMON-
$(MPG123
) += libmpcodecs
/ad_mpg123.c
111 SRCS_COMMON-
$(MUSEPACK
) += libmpcodecs
/ad_mpc.c \
112 libmpdemux
/demux_mpc.c
113 SRCS_COMMON-
$(NATIVE_RTSP
) += stream
/stream_rtsp.c \
114 stream
/freesdp
/common.c \
115 stream
/freesdp
/errorlist.c \
116 stream
/freesdp
/parser.c \
117 stream
/librtsp
/rtsp.c \
118 stream
/librtsp
/rtsp_rtp.c \
119 stream
/librtsp
/rtsp_session.c \
121 SRCS_COMMON-
$(NEED_GETTIMEOFDAY
) += osdep
/gettimeofday.c
122 SRCS_COMMON-
$(NEED_GLOB
) += osdep
/glob-win.c
123 SRCS_COMMON-
$(NEED_MMAP
) += osdep
/mmap-os2.c
124 SRCS_COMMON-
$(NEED_SETENV
) += osdep
/setenv.c
125 SRCS_COMMON-
$(NEED_SHMEM
) += osdep
/shmem.c
126 SRCS_COMMON-
$(NEED_STRSEP
) += osdep
/strsep.c
127 SRCS_COMMON-
$(NEED_SWAB
) += osdep
/swab.c
128 SRCS_COMMON-
$(NEED_VSSCANF
) += osdep
/vsscanf.c
129 SRCS_COMMON-
$(NETWORKING
) += stream
/stream_netstream.c \
130 stream
/asf_mmst_streaming.c \
131 stream
/asf_streaming.c \
139 stream
/stream_rtp.c \
140 stream
/stream_udp.c \
141 stream
/librtsp
/rtsp.c \
142 stream
/realrtsp
/asmrp.c \
143 stream
/realrtsp
/real.c \
144 stream
/realrtsp
/rmff.c \
145 stream
/realrtsp
/sdpplin.c \
146 stream
/realrtsp
/xbuffer.c \
148 SRCS_COMMON-
$(PNG
) += libmpcodecs
/vd_mpng.c
149 SRCS_COMMON-
$(PRIORITY
) += osdep
/priority.c
150 SRCS_COMMON-
$(PVR
) += stream
/stream_pvr.c
151 SRCS_COMMON-
$(QTX_CODECS
) += libmpcodecs
/ad_qtaudio.c \
152 libmpcodecs
/vd_qtvideo.c
153 SRCS_COMMON-
$(RADIO
) += stream
/stream_radio.c
154 SRCS_COMMON-
$(RADIO_CAPTURE
) += stream
/audio_in.c
155 SRCS_COMMON-
$(REAL_CODECS
) += libmpcodecs
/ad_realaud.c \
156 libmpcodecs
/vd_realvid.c
157 SRCS_COMMON-
$(SPEEX
) += libmpcodecs
/ad_speex.c
158 SRCS_COMMON-
$(STREAM_CACHE
) += stream
/cache2.c
160 SRCS_COMMON-
$(TV
) += stream
/stream_tv.c stream
/tv.c \
161 stream
/frequencies.c stream
/tvi_dummy.c
162 SRCS_COMMON-
$(TV_BSDBT848
) += stream
/tvi_bsdbt848.c
163 SRCS_COMMON-
$(TV_DSHOW
) += stream
/tvi_dshow.c \
164 loader
/dshow
/guids.c \
165 loader
/dshow
/mediatype.c \
167 SRCS_COMMON-
$(TV_V4L1
) += stream
/tvi_v4l.c stream
/audio_in.c
168 SRCS_COMMON-
$(TV_V4L2
) += stream
/tvi_v4l2.c stream
/audio_in.c
169 SRCS_COMMON-
$(UNRAR_EXEC
) += sub
/unrar_exec.c
170 SRCS_COMMON-
$(VCD
) += stream
/stream_vcd.c
171 SRCS_COMMON-
$(VORBIS
) += libmpcodecs
/ad_libvorbis.c \
172 libmpdemux
/demux_ogg.c
173 SRCS_COMMON-
$(VSTREAM
) += stream
/stream_vstream.c
174 SRCS_QTX_EMULATION
+= loader
/wrapper.S
175 SRCS_COMMON-
$(QTX_EMULATION
) += $(SRCS_QTX_EMULATION
)
176 SRCS_WIN32_EMULATION
+= loader
/elfdll.c \
178 loader
/ldt_keeper.c \
181 loader
/pe_resource.c \
186 SRCS_COMMON-
$(WIN32_EMULATION
) += $(SRCS_WIN32_EMULATION
)
188 SRCS_COMMON-
$(WIN32DLL
) += libmpcodecs
/ad_acm.c \
189 libmpcodecs
/ad_dmo.c \
190 libmpcodecs
/ad_dshow.c \
191 libmpcodecs
/ad_twin.c \
192 libmpcodecs
/vd_dmo.c \
193 libmpcodecs
/vd_dshow.c \
194 libmpcodecs
/vd_vfw.c \
195 libmpcodecs
/vd_vfwex.c \
196 libmpdemux
/demux_avs.c \
200 loader
/dshow
/DS_AudioDecoder.c \
201 loader
/dshow
/DS_Filter.c \
202 loader
/dshow
/DS_VideoDecoder.c \
203 loader
/dshow
/allocator.c \
204 loader
/dshow
/cmediasample.c \
205 loader
/dshow
/graph.c \
206 loader
/dshow
/guids.c \
207 loader
/dshow
/inputpin.c \
208 loader
/dshow
/mediatype.c \
209 loader
/dshow
/outputpin.c \
210 loader
/dmo
/DMO_AudioDecoder.c \
211 loader
/dmo
/DMO_VideoDecoder.c \
212 loader
/dmo
/buffer.c \
214 loader
/dmo
/dmo_guids.c \
216 SRCS_COMMON-
$(XANIM_CODECS
) += libmpcodecs
/vd_xanim.c
217 SRCS_COMMON-
$(XMMS_PLUGINS
) += libmpdemux
/demux_xmms.c
218 SRCS_COMMON-
$(XVID4
) += libmpcodecs
/vd_xvid4.c
219 SRCS_COMMON
= asxparser.c \
241 libaf
/af_channels.c \
245 libaf
/af_equalizer.c \
246 libaf
/af_extrastereo.c \
251 libaf
/af_lavcac3enc.c \
252 libaf
/af_lavcresample.c \
254 libaf
/af_resample.c \
255 libaf
/af_scaletempo.c \
256 libaf
/af_sinesuppress.c \
259 libaf
/af_surround.c \
269 libmpcodecs
/ad_alaw.c \
270 libmpcodecs
/ad_dk3adpcm.c \
271 libmpcodecs
/ad_dvdpcm.c \
272 libmpcodecs
/ad_ffmpeg.c \
273 libmpcodecs
/ad_hwac3.c \
274 libmpcodecs
/ad_hwmpa.c \
275 libmpcodecs
/ad_imaadpcm.c \
276 libmpcodecs
/ad_msadpcm.c \
277 libmpcodecs
/ad_pcm.c \
278 libmpcodecs
/dec_audio.c \
279 libmpcodecs
/dec_teletext.c \
280 libmpcodecs
/dec_video.c \
281 libmpcodecs
/img_format.c \
282 libmpcodecs
/mp_image.c \
283 libmpcodecs
/pullup.c \
285 libmpcodecs
/vd_ffmpeg.c \
286 libmpcodecs
/vd_hmblck.c \
287 libmpcodecs
/vd_lzo.c \
288 libmpcodecs
/vd_mpegpes.c \
289 libmpcodecs
/vd_mtga.c \
290 libmpcodecs
/vd_null.c \
291 libmpcodecs
/vd_raw.c \
292 libmpcodecs
/vd_sgi.c \
294 libmpcodecs
/vf_1bpp.c \
295 libmpcodecs
/vf_2xsai.c \
296 libmpcodecs
/vf_blackframe.c \
297 libmpcodecs
/vf_boxblur.c \
298 libmpcodecs
/vf_crop.c \
299 libmpcodecs
/vf_cropdetect.c \
300 libmpcodecs
/vf_decimate.c \
301 libmpcodecs
/vf_delogo.c \
302 libmpcodecs
/vf_denoise3d.c \
303 libmpcodecs
/vf_detc.c \
304 libmpcodecs
/vf_dint.c \
305 libmpcodecs
/vf_divtc.c \
306 libmpcodecs
/vf_down3dright.c \
307 libmpcodecs
/vf_dsize.c \
308 libmpcodecs
/vf_dvbscale.c \
309 libmpcodecs
/vf_eq.c \
310 libmpcodecs
/vf_eq2.c \
311 libmpcodecs
/vf_expand.c \
312 libmpcodecs
/vf_field.c \
313 libmpcodecs
/vf_fil.c \
314 libmpcodecs
/vf_filmdint.c \
315 libmpcodecs
/vf_fixpts.c \
316 libmpcodecs
/vf_flip.c \
317 libmpcodecs
/vf_format.c \
318 libmpcodecs
/vf_framestep.c \
319 libmpcodecs
/vf_gradfun.c \
320 libmpcodecs
/vf_halfpack.c \
321 libmpcodecs
/vf_harddup.c \
322 libmpcodecs
/vf_hqdn3d.c \
323 libmpcodecs
/vf_hue.c \
324 libmpcodecs
/vf_il.c \
325 libmpcodecs
/vf_ilpack.c \
326 libmpcodecs
/vf_ivtc.c \
327 libmpcodecs
/vf_kerndeint.c \
328 libmpcodecs
/vf_lavc.c \
329 libmpcodecs
/vf_lavcdeint.c \
330 libmpcodecs
/vf_mirror.c \
331 libmpcodecs
/vf_noformat.c \
332 libmpcodecs
/vf_noise.c \
333 libmpcodecs
/vf_ow.c \
334 libmpcodecs
/vf_palette.c \
335 libmpcodecs
/vf_perspective.c \
336 libmpcodecs
/vf_phase.c \
337 libmpcodecs
/vf_pp.c \
338 libmpcodecs
/vf_pp7.c \
339 libmpcodecs
/vf_pullup.c \
340 libmpcodecs
/vf_rectangle.c \
341 libmpcodecs
/vf_remove_logo.c \
342 libmpcodecs
/vf_rgbtest.c \
343 libmpcodecs
/vf_rotate.c \
344 libmpcodecs
/vf_sab.c \
345 libmpcodecs
/vf_scale.c \
346 libmpcodecs
/vf_screenshot.c \
347 libmpcodecs
/vf_smartblur.c \
348 libmpcodecs
/vf_softpulldown.c \
349 libmpcodecs
/vf_stereo3d.c \
350 libmpcodecs
/vf_softskip.c \
351 libmpcodecs
/vf_swapuv.c \
352 libmpcodecs
/vf_telecine.c \
353 libmpcodecs
/vf_test.c \
354 libmpcodecs
/vf_tfields.c \
355 libmpcodecs
/vf_tile.c \
356 libmpcodecs
/vf_tinterlace.c \
357 libmpcodecs
/vf_unsharp.c \
358 libmpcodecs
/vf_uspp.c \
359 libmpcodecs
/vf_vo.c \
360 libmpcodecs
/vf_yadif.c \
361 libmpcodecs
/vf_yuvcsp.c \
362 libmpcodecs
/vf_yvu9.c \
363 libmpdemux
/aac_hdr.c \
364 libmpdemux
/asfheader.c \
365 libmpdemux
/aviheader.c \
366 libmpdemux
/aviprint.c \
367 libmpdemux
/demuxer.c \
368 libmpdemux
/demux_aac.c \
369 libmpdemux
/demux_asf.c \
370 libmpdemux
/demux_audio.c \
371 libmpdemux
/demux_avi.c \
372 libmpdemux
/demux_demuxers.c \
373 libmpdemux
/demux_edl.c \
374 libmpdemux
/demux_film.c \
375 libmpdemux
/demux_fli.c \
376 libmpdemux
/demux_lavf.c \
377 libmpdemux
/demux_lmlm4.c \
378 libmpdemux
/demux_mf.c \
379 libmpdemux
/demux_mkv.c \
380 libmpdemux
/demux_mov.c \
381 libmpdemux
/demux_mpg.c \
382 libmpdemux
/demux_nsv.c \
383 libmpdemux
/demux_pva.c \
384 libmpdemux
/demux_rawaudio.c \
385 libmpdemux
/demux_rawvideo.c \
386 libmpdemux
/demux_realaud.c \
387 libmpdemux
/demux_real.c \
388 libmpdemux
/demux_roq.c \
389 libmpdemux
/demux_smjpeg.c \
390 libmpdemux
/demux_ts.c \
391 libmpdemux
/demux_ty.c \
392 libmpdemux
/demux_viv.c \
393 libmpdemux
/demux_vqf.c \
394 libmpdemux
/demux_y4m.c \
396 libmpdemux
/extension.c \
398 libmpdemux
/mp3_hdr.c \
399 libmpdemux
/mp_taglists.c \
400 libmpdemux
/mpeg_hdr.c \
401 libmpdemux
/mpeg_packetizer.c \
402 libmpdemux
/parse_es.c \
403 libmpdemux
/parse_mp4.c \
405 libmpdemux
/yuv4mpeg.c \
406 libmpdemux
/yuv4mpeg_ratio.c \
413 stream
/stream_cue.c \
414 stream
/stream_ffmpeg.c \
415 stream
/stream_file.c \
417 stream
/stream_null.c \
424 sub
/find_subfiles.c \
426 sub
/subassconvert.c \
430 timeline
/tl_matroska.c \
434 SRCS_MPLAYER-
$(3DFX
) += libvo
/vo_3dfx.c
435 SRCS_MPLAYER-
$(AA
) += libvo
/vo_aa.c
436 SRCS_MPLAYER-
$(ALSA1X
) += libao2
/ao_alsa.c
437 SRCS_MPLAYER-
$(ALSA5
) += libao2
/ao_alsa5.c
438 SRCS_MPLAYER-
$(ALSA9
) += libao2
/ao_alsa.c
439 SRCS_MPLAYER-
$(APPLE_IR
) += input
/appleir.c
440 SRCS_MPLAYER-
$(APPLE_REMOTE
) += input
/ar.c
441 SRCS_MPLAYER-
$(ARTS
) += libao2
/ao_arts.c
442 SRCS_MPLAYER-
$(BL
) += libvo
/vo_bl.c
443 SRCS_MPLAYER-
$(CACA
) += libvo
/vo_caca.c
444 SRCS_MPLAYER-
$(COREAUDIO
) += libao2
/ao_coreaudio.c
445 SRCS_MPLAYER-
$(COREVIDEO
) += libvo
/vo_corevideo.m libvo
/osx_common.c
446 SRCS_MPLAYER-
$(DART
) += libao2
/ao_dart.c
447 SRCS_MPLAYER-
$(DGA
) += libvo
/vo_dga.c
448 SRCS_MPLAYER-
$(DIRECT3D
) += libvo
/vo_direct3d.c libvo
/w32_common.c
449 SRCS_MPLAYER-
$(DIRECTFB
) += libvo
/vo_directfb2.c libvo
/vo_dfbmga.c
450 SRCS_MPLAYER-
$(DIRECTX
) += libao2
/ao_dsound.c libvo
/vo_directx.c
451 SRCS_MPLAYER-
$(DXR3
) += libvo
/vo_dxr3.c
452 SRCS_MPLAYER-
$(ESD
) += libao2
/ao_esd.c
453 SRCS_MPLAYER-
$(FBDEV
) += libvo
/vo_fbdev.c libvo
/vo_fbdev2.c
454 SRCS_MPLAYER-
$(GGI
) += libvo
/vo_ggi.c
455 SRCS_MPLAYER-
$(GIF
) += libvo
/vo_gif89a.c
456 SRCS_MPLAYER-
$(GL
) += libvo
/gl_common.c libvo
/vo_gl.c \
458 SRCS_MPLAYER-
$(GL_COCOA
) += libvo
/cocoa_common.m
459 SRCS_MPLAYER-
$(GL_SDL
) += libvo
/sdl_common.c
460 SRCS_MPLAYER-
$(GL_WIN32
) += libvo
/w32_common.c
461 SRCS_MPLAYER-
$(GL_X11
) += libvo
/x11_common.c
463 SRCS_MPLAYER-
$(IVTV
) += libao2
/ao_ivtv.c libvo
/vo_ivtv.c
464 SRCS_MPLAYER-
$(JACK
) += libao2
/ao_jack.c
465 SRCS_MPLAYER-
$(JOYSTICK
) += input
/joystick.c
466 SRCS_MPLAYER-
$(JPEG
) += libvo
/vo_jpeg.c
467 SRCS_MPLAYER-
$(KAI
) += libao2
/ao_kai.c
468 SRCS_MPLAYER-
$(KVA
) += libvo
/vo_kva.c
469 SRCS_MPLAYER-
$(LIRC
) += input
/lirc.c
470 SRCS_MPLAYER-
$(MD5SUM
) += libvo
/vo_md5sum.c
471 SRCS_MPLAYER-
$(MGA
) += libvo
/vo_mga.c
472 SRCS_MPLAYER-
$(NAS
) += libao2
/ao_nas.c
473 SRCS_MPLAYER-
$(OPENAL
) += libao2
/ao_openal.c
474 SRCS_MPLAYER-
$(OSS
) += libao2
/ao_oss.c
475 SRCS_MPLAYER-
$(PNM
) += libvo
/vo_pnm.c
476 SRCS_MPLAYER-
$(PULSE
) += libao2
/ao_pulse.c
477 SRCS_MPLAYER-
$(QUARTZ
) += libvo
/vo_quartz.c libvo
/osx_common.c
478 SRCS_MPLAYER-
$(RSOUND
) += libao2
/ao_rsound.c
479 SRCS_MPLAYER-
$(S3FB
) += libvo
/vo_s3fb.c
480 SRCS_MPLAYER-
$(SDL
) += libao2
/ao_sdl.c libvo
/vo_sdl.c libvo
/sdl_common.c
481 SRCS_MPLAYER-
$(SGIAUDIO
) += libao2
/ao_sgi.c
482 SRCS_MPLAYER-
$(SUNAUDIO
) += libao2
/ao_sun.c
483 SRCS_MPLAYER-
$(SVGA
) += libvo
/vo_svga.c
484 SRCS_MPLAYER-
$(TDFXFB
) += libvo
/vo_tdfxfb.c
485 SRCS_MPLAYER-
$(TDFXVID
) += libvo
/vo_tdfx_vid.c
486 SRCS_MPLAYER-
$(TGA
) += libvo
/vo_tga.c
487 SRCS_MPLAYER-
$(V4L2
) += libvo
/vo_v4l2.c
488 SRCS_MPLAYER-
$(V4L2
) += libao2
/ao_v4l2.c
489 SRCS_MPLAYER-
$(VDPAU
) += libvo
/vo_vdpau.c
490 SRCS_MPLAYER-
$(VESA
) += libvo
/gtf.c libvo
/vo_vesa.c libvo
/vesa_lvo.c
492 SRCS_MPLAYER-
$(WII
) += libvo
/vo_wii.c
493 SRCS_MPLAYER-
$(WIN32WAVEOUT
) += libao2
/ao_win32.c
494 SRCS_MPLAYER-
$(X11
) += libvo
/vo_x11.c libvo
/vo_xover.c \
496 SRCS_MPLAYER-
$(XMGA
) += libvo
/vo_xmga.c
497 SRCS_MPLAYER-
$(XV
) += libvo
/vo_xv.c
498 SRCS_MPLAYER-
$(XVR100
) += libvo
/vo_xvr100.c
499 SRCS_MPLAYER-
$(YUV4MPEG
) += libvo
/vo_yuv4mpeg.c
501 SRCS_MPLAYER
= command.c \
509 libao2
/ao_mpegpes.c \
516 libvo
/old_vo_wrapper.c \
524 COMMON_LIBS
+= $(COMMON_LIBS-yes
)
526 OBJS_COMMON
+= $(addsuffix .o
, $(basename $(SRCS_COMMON
)))
527 OBJS_MPLAYER
+= $(addsuffix .o
, $(basename $(SRCS_MPLAYER
)))
528 OBJS_MPLAYER-
$(PE_EXECUTABLE
) += osdep
/mplayer-rc.o
529 OBJS_MPLAYER
+= $(OBJS_MPLAYER-yes
)
531 MPLAYER_DEPS
= $(OBJS_MPLAYER
) $(OBJS_COMMON
) $(COMMON_LIBS
)
532 DEP_FILES
= $(patsubst %.S
,%.d
,$(patsubst %.
cpp,%.d
,$(patsubst %.c
,%.d
,$(SRCS_COMMON
) $(SRCS_MPLAYER
:.m
=.d
))))
534 ALL_PRG-
$(MPLAYER
) += mplayer
$(EXESUF
)
536 INSTALL_TARGETS-
$(MPLAYER
) += install-mplayer \
537 install-mplayer-man \
565 MOFILES
:= $(MSG_LANGS
:%=locale
/%/LC_MESSAGES
/mplayer.mo
)
567 ALLHEADERS
= $(foreach dir,$(DIRS
),$(wildcard $(dir)/*.h
))
569 ADDSUFFIXES
= $(foreach suf
,$(1),$(addsuffix $(suf
),$(2)))
570 ADD_ALL_DIRS
= $(call ADDSUFFIXES
,$(1),$(DIRS
))
571 ADD_ALL_EXESUFS
= $(1) $(call ADDSUFFIXES
,$(EXESUFS_ALL
),$(1))
573 ###### brief build output #######
576 $(eval
override CC
= @printf
"CC\t$$@\n"; $(CC
))
577 $(eval
override RM
= @
$(RM
))
580 ###### generic rules #######
582 all: $(ALL_PRG-yes
) locales
585 $(CC
) $(DEPFLAGS
) $(CFLAGS
) -c
-o
$@
$<
588 $(CC
) $(DEPFLAGS
) $(CFLAGS
) -c
-o
$@
$<
591 $(CC
) $(DEPFLAGS
) $(CXXFLAGS
) -c
-o
$@
$<
594 $(CC
) $(DEPFLAGS
) $(CFLAGS
) -c
-o
$@
$<
599 mplayer
$(EXESUF
): $(MPLAYER_DEPS
)
600 mplayer
$(EXESUF
): EXTRALIBS
+= $(EXTRALIBS_MPLAYER
)
602 $(CC
) -o
$@
$^
$(EXTRALIBS
)
604 codec-cfg
$(EXESUF
): codec-cfg.c codec-cfg.h
605 $(HOST_CC
) -O
-DCODECS2HTML
-I.
-o
$@
$<
607 codecs.conf.h
: codec-cfg
$(EXESUF
) etc
/codecs.conf
610 # ./configure must be rerun if it changed
611 config.mak
: configure
612 @echo
"############################################################"
613 @echo
"####### Please run ./configure again - it's changed! #######"
614 @echo
"############################################################"
616 version.h .version
: version.sh
619 # Force version.sh to run to potentially regenerate version.h
623 $(CC
) $(CFLAGS
) -o
$@
$^
627 locale
/%/LC_MESSAGES
/mplayer.mo
: po
/%.po
632 $(CC
) $(CFLAGS
) -Wno-unused
-c
-o
$@
-x c
$<
634 checkheaders
: $(ALLHEADERS
:.h
=.ho
)
638 ###### dependency declarations / specific CFLAGS ######
640 # Make sure all generated header files are created.
641 codec-cfg.o
: codecs.conf.h
642 mpcommon.o osdep
/mplayer-rc.o
: version.h
644 # Files that depend on libavcodec internals
645 libmpcodecs
/vf_fspp.o libmpcodecs
/vf_mcdeint.o libmpcodecs
/vf_spp.o
: CFLAGS
:= -I
$(FFMPEG_SOURCE_PATH
) $(CFLAGS
)
647 osdep
/mplayer-rc.o
: osdep
/mplayer.exe.manifest
649 libdvdcss
/%: CFLAGS
:= -Ilibdvdcss
-D_GNU_SOURCE
-DVERSION
=\"1.2.10\" $(CFLAGS_LIBDVDCSS
) $(CFLAGS
)
650 libdvdnav
/%: CFLAGS
:= -Ilibdvdnav
-D_GNU_SOURCE
-DHAVE_CONFIG_H
-DVERSION
=\"MPlayer-custom
\" $(CFLAGS
)
651 libdvdread4
/%: CFLAGS
:= -Ilibdvdread4
-D_GNU_SOURCE
$(CFLAGS_LIBDVDCSS_DVDREAD
) $(CFLAGS
)
653 loader
/%: CFLAGS
+= -fno-omit-frame-pointer
$(CFLAGS_NO_OMIT_LEAF_FRAME_POINTER
)
654 #loader/%: CFLAGS += -Ddbg_printf=__vprintf -DTRACE=__vprintf -DDETAILED_OUT
655 loader
/win32
%: CFLAGS
+= $(CFLAGS_STACKREALIGN
)
657 stream
/stream_dvdnav
%: CFLAGS
:= $(CFLAGS_LIBDVDNAV
) $(CFLAGS
)
661 ###### installation / clean / generic rules #######
663 install: $(INSTALL_TARGETS-yes
)
666 if
test ! -d
$(BINDIR
) ; then
$(INSTALL
) -d
$(BINDIR
) ; fi
667 if
test ! -d
$(CONFDIR
) ; then
$(INSTALL
) -d
$(CONFDIR
) ; fi
668 if
test ! -d
$(LIBDIR
) ; then
$(INSTALL
) -d
$(LIBDIR
) ; fi
670 install-
%: %$(EXESUF
) install-dirs
671 $(INSTALL
) -m
755 $(INSTALLSTRIP
) $< $(BINDIR
)
673 install-mplayer-man
: $(foreach lang
,$(MAN_LANGS
),install-mplayer-man-
$(lang
))
674 install-mplayer-msg
: $(foreach lang
,$(MSG_LANGS
),install-mplayer-msg-
$(lang
))
676 install-mplayer-man-en
:
677 if
test ! -d
$(MANDIR
)/man1
; then
$(INSTALL
) -d
$(MANDIR
)/man1
; fi
678 $(INSTALL
) -m
644 DOCS
/man
/en
/mplayer
.1 $(MANDIR
)/man1
/
680 define MPLAYER_MAN_RULE
681 install-mplayer-man-
$(lang
):
682 if
test ! -d
$(MANDIR
)/$(lang
)/man1
; then
$(INSTALL
) -d
$(MANDIR
)/$(lang
)/man1
; fi
683 $(INSTALL
) -m
644 DOCS
/man
/$(lang
)/mplayer
.1 $(MANDIR
)/$(lang
)/man1
/
686 $(foreach lang
,$(filter-out en
,$(MAN_LANG_ALL
)),$(eval
$(MPLAYER_MAN_RULE
)))
688 define MPLAYER_MSG_RULE
689 install-mplayer-msg-
$(lang
):
690 if
test ! -d
$(LOCALEDIR
)/$(lang
)/LC_MESSAGES
; then
$(INSTALL
) -d
$(LOCALEDIR
)/$(lang
)/LC_MESSAGES
; fi
691 $(INSTALL
) -m
644 locale
/$(lang
)/LC_MESSAGES
/mplayer.mo
$(LOCALEDIR
)/$(lang
)/LC_MESSAGES
/
694 $(foreach lang
,$(MSG_LANG_ALL
),$(eval
$(MPLAYER_MSG_RULE
)))
697 $(RM
) $(BINDIR
)/mplayer
$(EXESUF
) $(BINDIR
)/gmplayer
$(EXESUF
)
698 $(RM
) $(prefix)/share
/pixmaps
/mplayer.xpm
699 $(RM
) $(prefix)/share
/applications
/mplayer.desktop
700 $(RM
) $(MANDIR
)/man1
/mplayer
.1
701 $(RM
) $(foreach lang
,$(MAN_LANGS
),$(foreach man
,mplayer
.1,$(MANDIR
)/$(lang
)/man1
/$(man
)))
702 $(RM
) $(foreach lang
,$(MSG_LANGS
),$(LOCALEDIR
)/$(lang
)/LC_MESSAGES
/mplayer
.1)
705 -$(RM
) $(call ADD_ALL_DIRS
,/*.o
/*.a
/*.ho
/*~
)
706 -$(RM
) $(call ADD_ALL_EXESUFS
,mplayer
)
709 distclean: clean testsclean toolsclean driversclean
710 -$(RM
) -r DOCS
/tech
/doxygen
712 -$(RM
) $(call ADD_ALL_DIRS
,/*.d
)
713 -$(RM
) config.log config.mak config.h codecs.conf.h version.h TAGS
tags
714 -$(RM
) $(call ADD_ALL_EXESUFS
,codec-cfg cpuinfo
)
717 doxygen DOCS
/tech
/Doxyfile
720 $(RM
) $@
; find .
-name
'*.[chS]' -o
-name
'*.asm' | xargs etags
-a
723 $(RM
) $@
; find .
-name
'*.[chS]' -o
-name
'*.asm' | xargs ctags
-a
726 TOOLS
/matroska.py
--generate-header
>libmpdemux
/ebml_types.h
727 TOOLS
/matroska.py
--generate-definitions
>libmpdemux
/ebml_defs.c
729 ###### tests / tools #######
731 TEST_OBJS
= mp_msg.o mp_fifo.o osdep
/$(GETCH
) osdep
/$(TIMER
) -ltermcap
-lm
733 codec-cfg-test
$(EXESUF
): codec-cfg.c codecs.conf.h
$(TEST_OBJS
)
734 $(CC
) -I.
-DTESTING
-o
$@
$^
736 codecs2html
$(EXESUF
): codec-cfg.c
$(TEST_OBJS
)
737 $(CC
) -I.
-DCODECS2HTML
-o
$@
$^
739 LOADER_TEST_OBJS
= $(SRCS_WIN32_EMULATION
:.c
=.o
) $(SRCS_QTX_EMULATION
:.S
=.o
) libavutil
/libavutil.a osdep
/mmap_anon.o cpudetect.o path.o
$(TEST_OBJS
)
741 loader
/qtx
/list
$(EXESUF
) loader
/qtx
/qtxload
$(EXESUF
): CFLAGS
+= -g
742 loader
/qtx
/list
$(EXESUF
) loader
/qtx
/qtxload
$(EXESUF
): $(LOADER_TEST_OBJS
)
744 TESTS
= codecs2html codec-cfg-test
747 TESTS
+= loader
/qtx
/list loader
/qtx
/qtxload
750 tests
: $(addsuffix $(EXESUF
),$(TESTS
))
753 -$(RM
) $(call ADD_ALL_EXESUFS
,$(TESTS
))
755 TOOLS
= $(addprefix TOOLS
/,alaw-gen asfinfo avi-fix avisubdump compare dump_mp4 movinfo netstream subrip vivodump
)
758 TOOLS
+= TOOLS
/fastmemcpybench TOOLS
/modify_reg
761 ALLTOOLS
= $(TOOLS
) TOOLS
/bmovl-test TOOLS
/vfw2menc
763 tools
: $(addsuffix $(EXESUF
),$(TOOLS
))
764 alltools
: $(addsuffix $(EXESUF
),$(ALLTOOLS
))
767 -$(RM
) $(call ADD_ALL_EXESUFS
,$(ALLTOOLS
))
768 -$(RM
) TOOLS
/realcodecs
/*.so
.6.0
770 TOOLS
/bmovl-test
$(EXESUF
): -lSDL_image
772 TOOLS
/subrip
$(EXESUF
): sub
/vobsub.o sub
/spudec.o sub
/unrar_exec.o \
773 libvo
/aclib.o \ libswscale
/libswscale.a libavutil
/libavutil.a
$(TEST_OBJS
)
775 TOOLS
/vfw2menc
$(EXESUF
): -lwinmm
-lole32
777 mplayer-nomain.o
: mplayer.c
778 $(CC
) $(CFLAGS
) -DDISABLE_MAIN
-c
-o
$@
$<
780 TOOLS
/netstream
$(EXESUF
): TOOLS
/netstream.c
781 TOOLS
/vivodump
$(EXESUF
): TOOLS
/vivodump.c
782 TOOLS
/netstream
$(EXESUF
) TOOLS
/vivodump
$(EXESUF
): $(subst mplayer.o
,mplayer-nomain.o
,$(OBJS_MPLAYER
)) $(OBJS_COMMON
) $(COMMON_LIBS
)
783 $(CC
) $(CFLAGS
) -o
$@
$^
$(EXTRALIBS_MPLAYER
) $(EXTRALIBS
)
785 REAL_SRCS
= $(wildcard TOOLS
/realcodecs
/*.c
)
786 REAL_TARGETS
= $(REAL_SRCS
:.c
=.so
.6.0)
788 realcodecs
: $(REAL_TARGETS
)
789 realcodecs
: CFLAGS
+= -g
792 ld -shared
-o
$@
$< -ldl
-lc
796 ###### drivers #######
798 KERNEL_INC
= /lib
/modules
/`uname -r`/build
/include
799 KERNEL_VERSION
= $(shell grep RELEASE
$(KERNEL_INC
)/linux
/version.h | cut
-d
'"' -f2
)
800 KERNEL_CFLAGS
= -O2
-D__KERNEL__
-DMODULE
-Wall
-I
$(KERNEL_INC
) -include $(KERNEL_INC
)/linux
/modversions.h
801 KERNEL_OBJS
= $(addprefix drivers
/, mga_vid.o tdfx_vid.o radeon_vid.o rage128_vid.o
)
802 MODULES_DIR
= /lib
/modules
/$(KERNEL_VERSION
)/misc
803 DRIVER_OBJS
= $(KERNEL_OBJS
) drivers
/mga_vid_test drivers
/tdfx_vid_test
805 drivers
: $(DRIVER_OBJS
)
807 $(DRIVER_OBJS
): CFLAGS
= $(KERNEL_CFLAGS
)
808 drivers
/mga_vid.o
: drivers
/mga_vid.c drivers
/mga_vid.h
809 drivers
/tdfx_vid.o
: drivers
/tdfx_vid.c drivers
/3dfx.h
810 drivers
/radeon_vid.o drivers
/rage128_vid.o
: CFLAGS
+= -fomit-frame-pointer
-fno-strict-aliasing
-fno-common
-ffast-math
811 drivers
/radeon_vid.o
: drivers
/radeon_vid.c drivers
/radeon.h drivers
/radeon_vid.h
812 drivers
/rage128_vid.o
: drivers
/radeon_vid.c drivers
/radeon.h drivers
/radeon_vid.h
813 $(CC
) $(CFLAGS
) -DRAGE128
-c
$< -o
$@
815 install-drivers
: $(DRIVER_OBJS
)
816 -mkdir
-p
$(MODULES_DIR
)
817 install -m
644 $(KERNEL_OBJS
) $(MODULES_DIR
)
819 -mknod
/dev
/mga_vid c
178 0
820 -mknod
/dev
/tdfx_vid c
178 0
821 -mknod
/dev
/radeon_vid c
178 0
822 -ln
-s
/dev
/radeon_vid
/dev
/rage128_vid
825 -$(RM
) $(DRIVER_OBJS
) drivers
/*~
829 -include $(DEP_FILES
)
831 .PHONY
: all doxygen locales
*install* *tools drivers
832 .PHONY
: checkheaders
*clean tests .version
834 # Disable suffix rules. Most of the builtin rules are suffix rules,
835 # so this saves some time on slow systems.
838 # If a command returns failure but changed its target file, delete the
839 # (presumably malformed) file. Otherwise the file would be considered to
840 # be up to date if make is restarted.