Mercurial > mplayer.hg
annotate Makefile @ 22283:bc9e95184521
cosmetics: Fix some common typos, sepErate --> sepArate, deciSSion --> deciSion.
author | diego |
---|---|
date | Wed, 21 Feb 2007 10:05:46 +0000 |
parents | a5e5b0c45c03 |
children | d15affa943e1 |
rev | line source |
---|---|
1 | 1 # LINUX Makefile made by A'rpi / Astral |
2 # Some cleanup by LGB: * 'make -C dir' instead of 'cd dir;make;cd..' | |
3 # * for loops instead of linear sequence of make directories | |
4 # * some minor problems with make clean and distclean were corrected | |
492 | 5 # * DVD support |
1 | 6 |
7 include config.mak | |
8 | |
21390
fd1495e1538d
Add libav include paths to CFLAGS without indirection.
diego
parents:
21336
diff
changeset
|
9 CFLAGS = $(OPTFLAGS) -I. |
16165 | 10 |
21390
fd1495e1538d
Add libav include paths to CFLAGS without indirection.
diego
parents:
21336
diff
changeset
|
11 CFLAGS-$(CONFIG_LIBAVUTIL) += -I./libavutil |
fd1495e1538d
Add libav include paths to CFLAGS without indirection.
diego
parents:
21336
diff
changeset
|
12 CFLAGS-$(CONFIG_LIBAVCODEC) += -I./libavcodec |
fd1495e1538d
Add libav include paths to CFLAGS without indirection.
diego
parents:
21336
diff
changeset
|
13 CFLAGS += $(CFLAGS-yes) |
19523
8220d48531ae
cosmetics: Move some parts to more sensible places.
diego
parents:
19519
diff
changeset
|
14 |
8220d48531ae
cosmetics: Move some parts to more sensible places.
diego
parents:
19519
diff
changeset
|
15 #CFLAGS += -Wall |
8220d48531ae
cosmetics: Move some parts to more sensible places.
diego
parents:
19519
diff
changeset
|
16 |
6240
aed96273ea29
avoids stripping the binary at install if debugging or profiling is enabled
pl
parents:
6214
diff
changeset
|
17 # Do not strip the binaries at installation |
aed96273ea29
avoids stripping the binary at install if debugging or profiling is enabled
pl
parents:
6214
diff
changeset
|
18 ifeq ($(STRIPBINARIES),yes) |
aed96273ea29
avoids stripping the binary at install if debugging or profiling is enabled
pl
parents:
6214
diff
changeset
|
19 INSTALLSTRIP = -s |
aed96273ea29
avoids stripping the binary at install if debugging or profiling is enabled
pl
parents:
6214
diff
changeset
|
20 endif |
aed96273ea29
avoids stripping the binary at install if debugging or profiling is enabled
pl
parents:
6214
diff
changeset
|
21 |
15772 | 22 SRCS_COMMON = asxparser.c \ |
23 codec-cfg.c \ | |
24 cpudetect.c \ | |
25 edl.c \ | |
26 find_sub.c \ | |
27 m_config.c \ | |
28 m_option.c \ | |
29 m_struct.c \ | |
22233
5bf6c178f09a
Move some subtitle handling from mplayer.c to mpcommon.c and share it with mencoder.c
reimar
parents:
22055
diff
changeset
|
30 mpcommon.c \ |
15772 | 31 parser-cfg.c \ |
32 playtree.c \ | |
33 playtreeparser.c \ | |
34 spudec.c \ | |
35 sub_cc.c \ | |
36 subreader.c \ | |
37 vobsub.c \ | |
38 | |
21209 | 39 SRCS_COMMON-$(UNRARLIB) += unrarlib.c |
19523
8220d48531ae
cosmetics: Move some parts to more sensible places.
diego
parents:
19519
diff
changeset
|
40 |
21083
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
41 SRCS_MPLAYER = mplayer.c \ |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
42 m_property.c \ |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
43 mp_msg.c \ |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
44 $(SRCS_COMMON) \ |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
45 mixer.c \ |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
46 parser-mpcmd.c \ |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
47 subopt-helper.c \ |
22280
a5e5b0c45c03
Split command/property handling from mplayer.c to a new file command.c.
uau
parents:
22233
diff
changeset
|
48 command.c \ |
21083
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
49 |
15772 | 50 SRCS_MENCODER = mencoder.c \ |
51 mp_msg-mencoder.c \ | |
52 $(SRCS_COMMON) \ | |
53 parser-mecmd.c \ | |
54 xvid_vbr.c \ | |
55 | |
56 COMMON_LIBS = libmpcodecs/libmpcodecs.a \ | |
57 libaf/libaf.a \ | |
58 libmpdemux/libmpdemux.a \ | |
19271
64d82a45a05d
introduce new 'stream' directory for all stream layer related components and split them from libmpdemux
ben
parents:
19190
diff
changeset
|
59 stream/stream.a \ |
18861 | 60 libswscale/libswscale.a \ |
21107
790256469dd7
Split libvo.a into two libs so that libosd.a can be used by MEncoder.
diego
parents:
21106
diff
changeset
|
61 libvo/libosd.a \ |
15772 | 62 |
21083
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
63 LIBS_MPLAYER = libvo/libvo.a \ |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
64 libao2/libao2.a \ |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
65 input/libinput.a \ |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
66 |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
67 LIBS_MENCODER = libmpcodecs/libmpencoders.a \ |
21310
3220773a071b
Split muxers into a separate library that only MEncoder is linked against.
diego
parents:
21284
diff
changeset
|
68 libmpdemux/libmpmux.a \ |
21083
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
69 |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
70 OBJS_MPLAYER = $(SRCS_MPLAYER:.c=.o) |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
71 OBJS_MENCODER = $(SRCS_MENCODER:.c=.o) |
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
72 |
21473
6e03eb6af0b7
Move the generation of osdep/mplayer-rc.o back to the top-level Makefile,
diego
parents:
21420
diff
changeset
|
73 # Having this in libosdep.a is not enough. |
6e03eb6af0b7
Move the generation of osdep/mplayer-rc.o back to the top-level Makefile,
diego
parents:
21420
diff
changeset
|
74 OBJS_MPLAYER-$(TARGET_WIN32) += osdep/mplayer-rc.o |
6e03eb6af0b7
Move the generation of osdep/mplayer-rc.o back to the top-level Makefile,
diego
parents:
21420
diff
changeset
|
75 |
21089 | 76 MPLAYER_DEPS = $(OBJS_MPLAYER) $(LIBS_MPLAYER) $(COMMON_LIBS) |
77 MENCODER_DEPS = $(OBJS_MENCODER) $(LIBS_MENCODER) $(COMMON_LIBS) | |
21083
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
78 |
15785 | 79 PARTS = libmpdemux \ |
19271
64d82a45a05d
introduce new 'stream' directory for all stream layer related components and split them from libmpdemux
ben
parents:
19190
diff
changeset
|
80 stream \ |
15785 | 81 libmpcodecs \ |
17782 | 82 libavutil \ |
83 libavcodec \ | |
18557
b7746166426c
libpostproc is not a subdirectory of libavcodec anymore.
diego
parents:
18480
diff
changeset
|
84 libpostproc \ |
17782 | 85 libavformat \ |
18861 | 86 libswscale \ |
15785 | 87 libao2 \ |
88 osdep \ | |
89 input \ | |
90 libvo \ | |
91 libaf \ | |
92 | |
21209 | 93 COMMON_LIBS-$(CONFIG_LIBAVFORMAT) += libavformat/libavformat.a |
94 PARTS-$(CONFIG_LIBAVFORMAT) += libavformat | |
95 COMMON_LIBS-$(CONFIG_LIBAVCODEC) += libavcodec/libavcodec.a | |
96 PARTS-$(CONFIG_LIBAVCODEC) += libavcodec | |
97 COMMON_LIBS-$(CONFIG_LIBAVUTIL) += libavutil/libavutil.a | |
98 PARTS-$(CONFIG_LIBAVUTIL) += libavutil | |
99 COMMON_LIBS-$(CONFIG_LIBPOSTPROC) += libpostproc/libpostproc.a | |
100 PARTS-$(CONFIG_LIBPOSTPROC) += libpostproc | |
101 COMMON_LIBS-$(WIN32DLL) += loader/libloader.a | |
102 PARTS-$(WIN32DLL) += loader | |
103 COMMON_LIBS-$(MP3LIB) += mp3lib/libMP3.a | |
104 PARTS-$(MP3LIB) += mp3lib | |
105 COMMON_LIBS-$(LIBA52) += liba52/liba52.a | |
106 PARTS-$(LIBA52) += liba52 | |
107 COMMON_LIBS-$(LIBMPEG2) += libmpeg2/libmpeg2.a | |
108 PARTS-$(LIBMPEG2) += libmpeg2 | |
109 COMMON_LIBS-$(FAAD_INTERNAL) += libfaad2/libfaad2.a | |
110 PARTS-$(FAAD_INTERNAL) += libfaad2 | |
111 COMMON_LIBS-$(TREMOR_INTERNAL) += tremor/libvorbisidec.a | |
112 PARTS-$(TREMOR_INTERNAL) += tremor | |
113 LIBS_MPLAYER-$(VIDIX) += vidix/libvidix.a | |
114 PARTS-$(VIDIX) += libdha vidix | |
115 COMMON_LIBS-$(DVDREAD_INTERNAL) += dvdread/libdvdread.a | |
116 PARTS-$(DVDREAD_INTERNAL) += dvdread | |
117 COMMON_LIBS-$(DVDCSS_INTERNAL) += libdvdcss/libdvdcss.a | |
118 PARTS-$(DVDCSS_INTERNAL) += libdvdcss | |
119 COMMON_LIBS-$(CONFIG_ASS) += libass/libass.a | |
120 PARTS-$(CONFIG_ASS) += libass | |
121 LIBS_MPLAYER-$(GUI) += Gui/libgui.a | |
122 PARTS-$(GUI) += Gui | |
123 LIBS_MPLAYER-$(LIBMENU) += libmenu/libmenu.a | |
124 PARTS-$(LIBMENU) += libmenu | |
21083
4a7a5ce8f212
cosmetics: Move some stuff around for better readability.
diego
parents:
21081
diff
changeset
|
125 |
21130
44dcb71f9751
Split libs that are dependencies and those that are just linker flags.
diego
parents:
21128
diff
changeset
|
126 COMMON_LDFLAGS += $(EXTRA_LIB)\ |
44dcb71f9751
Split libs that are dependencies and those that are just linker flags.
diego
parents:
21128
diff
changeset
|
127 $(EXTRALIBS) \ |
44dcb71f9751
Split libs that are dependencies and those that are just linker flags.
diego
parents:
21128
diff
changeset
|
128 |
44dcb71f9751
Split libs that are dependencies and those that are just linker flags.
diego
parents:
21128
diff
changeset
|
129 LDFLAGS_MPLAYER = $(EXTRALIBS_MPLAYER) \ |
44dcb71f9751
Split libs that are dependencies and those that are just linker flags.
diego
parents:
21128
diff
changeset
|
130 $(COMMON_LDFLAGS) \ |
44dcb71f9751
Split libs that are dependencies and those that are just linker flags.
diego
parents:
21128
diff
changeset
|
131 |
44dcb71f9751
Split libs that are dependencies and those that are just linker flags.
diego
parents:
21128
diff
changeset
|
132 LDFLAGS_MENCODER = $(EXTRALIBS_MENCODER) \ |
21131 | 133 $(COMMON_LDFLAGS) \ |
21111
22f13d04b180
Move FFmpeg library dependencies into the Makefile just like everything else.
diego
parents:
21109
diff
changeset
|
134 |
21209 | 135 ALL_PRG-$(MPLAYER) += mplayer$(EXESUF) |
136 ALL_PRG-$(MENCODER) += mencoder$(EXESUF) | |
137 | |
138 SRCS_COMMON += $(SRCS_COMMON-yes) | |
139 COMMON_LIBS += $(COMMON_LIBS-yes) | |
140 LIBS_MPLAYER += $(LIBS_MPLAYER-yes) | |
141 OBJS_MPLAYER += $(OBJS_MPLAYER-yes) | |
142 PARTS += $(PARTS-yes) | |
143 ALL_PRG += $(ALL_PRG-yes) | |
144 | |
21225 | 145 COMMON_LIBS += osdep/libosdep.a |
146 | |
7474 | 147 |
18012 | 148 all: $(ALL_PRG) |
7474 | 149 |
7568 | 150 libaf/libaf.a: |
151 $(MAKE) -C libaf | |
152 | |
20981
22cb9d5f1e21
Rename libdvdread to dvdread. We really only include only the dvdread
diego
parents:
20819
diff
changeset
|
153 dvdread/libdvdread.a: |
22cb9d5f1e21
Rename libdvdread to dvdread. We really only include only the dvdread
diego
parents:
20819
diff
changeset
|
154 $(MAKE) -C dvdread |
7130
a27a786e98f9
remove nonsense tabs from makefile so emacs won't complain :)
rfelker
parents:
7122
diff
changeset
|
155 |
20613 | 156 libdvdcss/libdvdcss.a: |
157 $(MAKE) -C libdvdcss | |
158 | |
1 | 159 loader/libloader.a: |
160 $(MAKE) -C loader | |
161 | |
18937
9e95ac641e77
Initial libass release (without mencoder support).
eugeni
parents:
18895
diff
changeset
|
162 libass/libass.a: |
9e95ac641e77
Initial libass release (without mencoder support).
eugeni
parents:
18895
diff
changeset
|
163 $(MAKE) -C libass |
9e95ac641e77
Initial libass release (without mencoder support).
eugeni
parents:
18895
diff
changeset
|
164 |
2310 | 165 libmpdemux/libmpdemux.a: |
21310
3220773a071b
Split muxers into a separate library that only MEncoder is linked against.
diego
parents:
21284
diff
changeset
|
166 $(MAKE) -C libmpdemux libmpdemux.a |
3220773a071b
Split muxers into a separate library that only MEncoder is linked against.
diego
parents:
21284
diff
changeset
|
167 |
3220773a071b
Split muxers into a separate library that only MEncoder is linked against.
diego
parents:
21284
diff
changeset
|
168 libmpdemux/libmpmux.a: |
3220773a071b
Split muxers into a separate library that only MEncoder is linked against.
diego
parents:
21284
diff
changeset
|
169 $(MAKE) -C libmpdemux libmpmux.a |
2310 | 170 |
19271
64d82a45a05d
introduce new 'stream' directory for all stream layer related components and split them from libmpdemux
ben
parents:
19190
diff
changeset
|
171 stream/stream.a: |
64d82a45a05d
introduce new 'stream' directory for all stream layer related components and split them from libmpdemux
ben
parents:
19190
diff
changeset
|
172 $(MAKE) -C stream |
64d82a45a05d
introduce new 'stream' directory for all stream layer related components and split them from libmpdemux
ben
parents:
19190
diff
changeset
|
173 |
5009 | 174 libmpcodecs/libmpcodecs.a: |
175 $(MAKE) -C libmpcodecs | |
176 | |
16165 | 177 libavutil/libavutil.a: |
17782 | 178 $(MAKE) -C libavutil LIBPREF=lib LIBSUF=.a |
16165 | 179 |
1279 | 180 libavcodec/libavcodec.a: |
17782 | 181 $(MAKE) -C libavcodec LIBPREF=lib LIBSUF=.a |
1279 | 182 |
18557
b7746166426c
libpostproc is not a subdirectory of libavcodec anymore.
diego
parents:
18480
diff
changeset
|
183 libpostproc/libpostproc.a: |
b7746166426c
libpostproc is not a subdirectory of libavcodec anymore.
diego
parents:
18480
diff
changeset
|
184 $(MAKE) -C libpostproc LIBPREF=lib LIBSUF=.a |
17596 | 185 |
12164 | 186 libavformat/libavformat.a: |
17782 | 187 $(MAKE) -C libavformat LIBPREF=lib LIBSUF=.a |
12164 | 188 |
18861 | 189 libswscale/libswscale.a: |
18989
f0e9de2b3780
make libswscale build system similar to the libav* one
lucabe
parents:
18982
diff
changeset
|
190 $(MAKE) -C libswscale LIBPREF=lib LIBSUF=.a |
18861 | 191 |
1 | 192 libmpeg2/libmpeg2.a: |
193 $(MAKE) -C libmpeg2 | |
194 | |
195 libvo/libvo.a: | |
21257
637fcc472af6
Add explicit dependency information for libosd.a, this fixes MEncoder-only
diego
parents:
21225
diff
changeset
|
196 $(MAKE) -C libvo libvo.a |
637fcc472af6
Add explicit dependency information for libosd.a, this fixes MEncoder-only
diego
parents:
21225
diff
changeset
|
197 |
637fcc472af6
Add explicit dependency information for libosd.a, this fixes MEncoder-only
diego
parents:
21225
diff
changeset
|
198 libvo/libosd.a: |
637fcc472af6
Add explicit dependency information for libosd.a, this fixes MEncoder-only
diego
parents:
21225
diff
changeset
|
199 $(MAKE) -C libvo libosd.a |
1 | 200 |
1013
74d55f3c4680
libao->libao2 because of conflict with OMS's libao
arpi_esp
parents:
1010
diff
changeset
|
201 libao2/libao2.a: |
955 | 202 $(MAKE) -C libao2 |
203 | |
3406 | 204 liba52/liba52.a: |
205 $(MAKE) -C liba52 | |
206 | |
10726 | 207 libfaad2/libfaad2.a: |
208 $(MAKE) -C libfaad2 | |
209 | |
1 | 210 mp3lib/libMP3.a: |
211 $(MAKE) -C mp3lib | |
212 | |
14280 | 213 tremor/libvorbisidec.a: |
214 $(MAKE) -C tremor | |
215 | |
4030 | 216 libdha/libdha.so: |
217 $(MAKE) -C libdha | |
218 | |
17383 | 219 vidix/libvidix.a: libdha/libdha.so |
4030 | 220 $(MAKE) -C vidix |
221 | |
1991
dee4b2ea5e5b
add gui support to config scripts, and fixed some warning.
pontscho
parents:
1948
diff
changeset
|
222 Gui/libgui.a: |
dee4b2ea5e5b
add gui support to config scripts, and fixed some warning.
pontscho
parents:
1948
diff
changeset
|
223 $(MAKE) -C Gui |
723 | 224 |
9380 | 225 osdep/libosdep.a: |
226 $(MAKE) -C osdep | |
2444 | 227 |
21473
6e03eb6af0b7
Move the generation of osdep/mplayer-rc.o back to the top-level Makefile,
diego
parents:
21420
diff
changeset
|
228 osdep/mplayer-rc.o: |
21512 | 229 $(MAKE) -C osdep mplayer-rc.o |
21473
6e03eb6af0b7
Move the generation of osdep/mplayer-rc.o back to the top-level Makefile,
diego
parents:
21420
diff
changeset
|
230 |
4418
8141d2c399e4
A new configurable input system and joystick support for this system
albeu
parents:
4346
diff
changeset
|
231 input/libinput.a: |
8141d2c399e4
A new configurable input system and joystick support for this system
albeu
parents:
4346
diff
changeset
|
232 $(MAKE) -C input |
8141d2c399e4
A new configurable input system and joystick support for this system
albeu
parents:
4346
diff
changeset
|
233 |
8198 | 234 libmenu/libmenu.a: |
235 $(MAKE) -C libmenu | |
236 | |
21085 | 237 mplayer$(EXESUF): $(MPLAYER_DEPS) |
21130
44dcb71f9751
Split libs that are dependencies and those that are just linker flags.
diego
parents:
21128
diff
changeset
|
238 $(CC) -o $@ $^ $(LDFLAGS_MPLAYER) |
1 | 239 |
21085 | 240 mencoder$(EXESUF): $(MENCODER_DEPS) |
21130
44dcb71f9751
Split libs that are dependencies and those that are just linker flags.
diego
parents:
21128
diff
changeset
|
241 $(CC) -o $@ $^ $(LDFLAGS_MENCODER) |
2601
81c0f3e487eb
added support for mencoder (compile with 'make mencoder')
alex
parents:
2528
diff
changeset
|
242 |
20755
b4c865e17155
Create binaries with proper executable suffix under Windows.
diego
parents:
20723
diff
changeset
|
243 codec-cfg$(EXESUF): codec-cfg.c codec-cfg.h help_mp.h |
21956 | 244 $(HOST_CC) -I. -DCODECS2HTML $< -o $@ |
19051 | 245 |
20791 | 246 codecs.conf.h: codec-cfg$(EXESUF) etc/codecs.conf |
20755
b4c865e17155
Create binaries with proper executable suffix under Windows.
diego
parents:
20723
diff
changeset
|
247 ./codec-cfg$(EXESUF) ./etc/codecs.conf > $@ |
8467
3ca9cc46df5c
Fallback to builtin (generated from etc/codecs.conf at compile time)
arpi
parents:
8353
diff
changeset
|
248 |
3ca9cc46df5c
Fallback to builtin (generated from etc/codecs.conf at compile time)
arpi
parents:
8353
diff
changeset
|
249 codec-cfg.o: codecs.conf.h |
3ca9cc46df5c
Fallback to builtin (generated from etc/codecs.conf at compile time)
arpi
parents:
8353
diff
changeset
|
250 |
20755
b4c865e17155
Create binaries with proper executable suffix under Windows.
diego
parents:
20723
diff
changeset
|
251 codecs2html$(EXESUF): mp_msg.o |
21956 | 252 $(CC) -DCODECS2HTML codec-cfg.c $^ -o $@ |
17761 | 253 |
22052
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
254 INSTALL_TARGETS-$(MPLAYER) += install-mplayer install-mplayer-man |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
255 INSTALL_TARGETS-$(MENCODER) += install-mencoder install-mplayer-man |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
256 INSTALL_TARGETS-$(GUI) += install-gui |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
257 INSTALL_TARGETS-$(VIDIX) += install-vidix |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
258 INSTALL_TARGETS += $(INSTALL_TARGETS-yes) |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
259 |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
260 install: install-dirs $(INSTALL_TARGETS) |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
261 |
22054 | 262 install-dirs: |
263 $(INSTALL) -d $(BINDIR) | |
264 $(INSTALL) -d $(DATADIR) | |
265 $(INSTALL) -d $(MANDIR)/man1 | |
266 $(INSTALL) -d $(CONFDIR) | |
267 if test -f $(CONFDIR)/codecs.conf ; then mv -f $(CONFDIR)/codecs.conf $(CONFDIR)/codecs.conf.old ; fi | |
22052
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
268 |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
269 install-mplayer: mplayer$(EXESUF) |
21959 | 270 $(INSTALL) -m 755 $(INSTALLSTRIP) mplayer$(EXESUF) $(BINDIR) |
22052
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
271 |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
272 install-mplayer-man: |
12964 | 273 for i in $(MAN_LANG); do \ |
9470 | 274 if test "$$i" = en ; then \ |
21959 | 275 $(INSTALL) -c -m 644 DOCS/man/en/mplayer.1 $(MANDIR)/man1/ ; \ |
9470 | 276 else \ |
17966 | 277 $(INSTALL) -d $(MANDIR)/$$i/man1 ; \ |
21959 | 278 $(INSTALL) -c -m 644 DOCS/man/$$i/mplayer.1 $(MANDIR)/$$i/man1/ ; \ |
9451
b4a565ed2034
patch by "Andriy N. Gritsenko" <andrej@lucky.net>
gabucino
parents:
9447
diff
changeset
|
279 fi ; \ |
9470 | 280 done |
22052
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
281 |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
282 install-mencoder: mencoder$(EXESUF) |
21959 | 283 $(INSTALL) -m 755 $(INSTALLSTRIP) mencoder$(EXESUF) $(BINDIR) |
12964 | 284 for i in $(MAN_LANG); do \ |
9470 | 285 if test "$$i" = en ; then \ |
20007 | 286 cd $(MANDIR)/man1 && ln -sf mplayer.1 mencoder.1 ; \ |
9470 | 287 else \ |
20011 | 288 cd $(MANDIR)/$$i/man1 && ln -sf mplayer.1 mencoder.1 ; \ |
9451
b4a565ed2034
patch by "Andriy N. Gritsenko" <andrej@lucky.net>
gabucino
parents:
9447
diff
changeset
|
289 fi ; \ |
9470 | 290 done |
22052
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
291 |
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
292 install-gui: |
21956 | 293 -ln -sf mplayer$(EXESUF) $(BINDIR)/gmplayer$(EXESUF) |
21957 | 294 $(INSTALL) -d $(DATADIR)/skins |
22055 | 295 @echo "*** Download skin(s) at http://www.mplayerhq.hu/design7/dload.html" |
17974
9a5a62f480e6
Rename the default GUI skins directory from 'Skin' to 'skins', keeping
diego
parents:
17966
diff
changeset
|
296 @echo "*** for GUI, and extract to $(DATADIR)/skins/" |
21957 | 297 $(INSTALL) -d $(prefix)/share/pixmaps |
21959 | 298 $(INSTALL) -m 644 etc/mplayer.xpm $(prefix)/share/pixmaps/ |
21957 | 299 $(INSTALL) -d $(prefix)/share/applications |
21959 | 300 $(INSTALL) -m 644 etc/mplayer.desktop $(prefix)/share/applications/ |
22052
d90d335368b1
Replace ifeq structure in the install target by a set of dependent targets.
diego
parents:
21999
diff
changeset
|
301 |
22054 | 302 install-vidix: |
303 $(MAKE) -C libdha install | |
304 mkdir -p $(LIBDIR)/mplayer/vidix | |
305 -install -m 755 $(INSTALLSTRIP) -p vidix/drivers/*.so $(LIBDIR)/mplayer/vidix | |
1 | 306 |
2385
78209b784fec
Add uninstall target, patch by Clemens W«£chter <clemenswaechter@yahoo.com>
atmos4
parents:
2310
diff
changeset
|
307 uninstall: |
20755
b4c865e17155
Create binaries with proper executable suffix under Windows.
diego
parents:
20723
diff
changeset
|
308 -rm -f $(BINDIR)/mplayer$(EXESUF) $(BINDIR)/gmplayer$(EXESUF) |
b4c865e17155
Create binaries with proper executable suffix under Windows.
diego
parents:
20723
diff
changeset
|
309 -rm -f $(BINDIR)/mencoder$(EXESUF) |
b4c865e17155
Create binaries with proper executable suffix under Windows.
diego
parents:
20723
diff
changeset
|
310 -rm -f $(MANDIR)/man1/mencoder.1 $(MANDIR)/man1/mplayer.1 |
18038 | 311 -rm -f $(prefix)/share/pixmaps/mplayer.xpm |
13666
fdda0475b00d
Menu entry for all freedesktop.org compliant window managers.
diego
parents:
13612
diff
changeset
|
312 -rm -f $(prefix)/share/applications/mplayer.desktop |
13702
3c6a2b6437df
make uninstall was leaving vidix, dha, and libmpdvdkit libraries
wight
parents:
13666
diff
changeset
|
313 for l in $(MAN_LANG); do \ |
16991
4beb036cd4fc
fix to uninstall section, pointed out by Reshat Sabiq to -users ml sabiq -- at -- csociety -- dot -- org
ptt
parents:
16935
diff
changeset
|
314 if test "$$l" != "en"; then \ |
4beb036cd4fc
fix to uninstall section, pointed out by Reshat Sabiq to -users ml sabiq -- at -- csociety -- dot -- org
ptt
parents:
16935
diff
changeset
|
315 rm -f $(MANDIR)/$$l/man1/mplayer.1 \ |
4beb036cd4fc
fix to uninstall section, pointed out by Reshat Sabiq to -users ml sabiq -- at -- csociety -- dot -- org
ptt
parents:
16935
diff
changeset
|
316 $(MANDIR)/$$l/man1/mencoder.1 \ |
4beb036cd4fc
fix to uninstall section, pointed out by Reshat Sabiq to -users ml sabiq -- at -- csociety -- dot -- org
ptt
parents:
16935
diff
changeset
|
317 $(MANDIR)/$$l/man1/gmplayer.1 ; \ |
4beb036cd4fc
fix to uninstall section, pointed out by Reshat Sabiq to -users ml sabiq -- at -- csociety -- dot -- org
ptt
parents:
16935
diff
changeset
|
318 fi ; \ |
13702
3c6a2b6437df
make uninstall was leaving vidix, dha, and libmpdvdkit libraries
wight
parents:
13666
diff
changeset
|
319 done |
17958
ac071d4aafd2
Don't call make from shell constructs it prevent proper
albeu
parents:
17951
diff
changeset
|
320 $(MAKE) -C libdha uninstall |
21335 | 321 rm -f $(LIBDIR)/mplayer/vidix/*.so |
322 -rmdir -p $(LIBDIR)/mplayer/vidix | |
2385
78209b784fec
Add uninstall target, patch by Clemens W«£chter <clemenswaechter@yahoo.com>
atmos4
parents:
2310
diff
changeset
|
323 |
19292
20938447bb55
'make clean' now recurses through subdirectories as expected,
diego
parents:
19283
diff
changeset
|
324 dirclean: |
19051 | 325 -rm -f *.o *.a *~ |
1 | 326 |
19292
20938447bb55
'make clean' now recurses through subdirectories as expected,
diego
parents:
19283
diff
changeset
|
327 clean: dirclean |
20938447bb55
'make clean' now recurses through subdirectories as expected,
diego
parents:
19283
diff
changeset
|
328 @for a in $(PARTS); do $(MAKE) -C $$a clean; done |
20938447bb55
'make clean' now recurses through subdirectories as expected,
diego
parents:
19283
diff
changeset
|
329 |
20542
ebfc1eb11ebf
Run dirclean instead of clean on distclean, this way we only need to
diego
parents:
20539
diff
changeset
|
330 distclean: dirclean doxygen_clean |
19299
e5854db8a39f
Recurse into subdirs before cleaning the top level to avoid error messages.
diego
parents:
19293
diff
changeset
|
331 @for a in $(PARTS); do $(MAKE) -C $$a distclean; done |
20755
b4c865e17155
Create binaries with proper executable suffix under Windows.
diego
parents:
20723
diff
changeset
|
332 -rm -f *~ mplayer$(EXESUF) mencoder$(EXESUF) \ |
b4c865e17155
Create binaries with proper executable suffix under Windows.
diego
parents:
20723
diff
changeset
|
333 codec-cfg$(EXESUF) codecs2html$(EXESUF) codecs.conf.h \ |
19964 | 334 .depend configure.log config.mak config.h help_mp.h version.h |
1 | 335 |
6948
ab51ddbec0e1
small rule to strip binaries in source dir (24MB mplayer binary is a bit klugdy for non debug-work :)
atmos4
parents:
6784
diff
changeset
|
336 strip: |
ab51ddbec0e1
small rule to strip binaries in source dir (24MB mplayer binary is a bit klugdy for non debug-work :)
atmos4
parents:
6784
diff
changeset
|
337 strip -s $(ALL_PRG) |
ab51ddbec0e1
small rule to strip binaries in source dir (24MB mplayer binary is a bit klugdy for non debug-work :)
atmos4
parents:
6784
diff
changeset
|
338 |
21080 | 339 dep depend: help_mp.h version.h |
8467
3ca9cc46df5c
Fallback to builtin (generated from etc/codecs.conf at compile time)
arpi
parents:
8353
diff
changeset
|
340 $(CC) -MM $(CFLAGS) -DCODECS2HTML mplayer.c mencoder.c $(SRCS_MPLAYER) $(SRCS_MENCODER) 1>.depend |
1395
a721a2b91d3d
Added StrongARM crosscompiling support by Maksim Krasnyanskiy <maxk at qualcomm.com> and fixed a --datadir bug in configure.
atmos4
parents:
1376
diff
changeset
|
341 @for a in $(PARTS); do $(MAKE) -C $$a dep; done |
1 | 342 |
18786 | 343 # ./configure must be rerun if it changed |
6958
9cb1efcc5640
'configure changed'-test re-added, noticed by Sylvain Petreolle <spetreolle@yahoo.fr>
arpi
parents:
6948
diff
changeset
|
344 config.h: configure |
9cb1efcc5640
'configure changed'-test re-added, noticed by Sylvain Petreolle <spetreolle@yahoo.fr>
arpi
parents:
6948
diff
changeset
|
345 @echo "############################################################" |
9cb1efcc5640
'configure changed'-test re-added, noticed by Sylvain Petreolle <spetreolle@yahoo.fr>
arpi
parents:
6948
diff
changeset
|
346 @echo "####### Please run ./configure again - it's changed! #######" |
9cb1efcc5640
'configure changed'-test re-added, noticed by Sylvain Petreolle <spetreolle@yahoo.fr>
arpi
parents:
6948
diff
changeset
|
347 @echo "############################################################" |
9cb1efcc5640
'configure changed'-test re-added, noticed by Sylvain Petreolle <spetreolle@yahoo.fr>
arpi
parents:
6948
diff
changeset
|
348 |
18786 | 349 # rebuild at every config.h/config.mak/Makefile change: |
350 version.h: config.h config.mak Makefile | |
6147
4ec23f98516e
Fix gcc version display for gcc 3.1 (downwards compatible it seems - tested with 2.95.2)
atmos4
parents:
6128
diff
changeset
|
351 ./version.sh `$(CC) -dumpversion` |
448
198b46b739d8
qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents:
444
diff
changeset
|
352 |
13097 | 353 doxygen: |
354 doxygen DOCS/tech/Doxyfile | |
355 | |
356 doxygen_clean: | |
357 -rm -rf DOCS/tech/doxygen | |
358 | |
13703
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
359 help_mp.h: help/help_mp-en.h $(HELP_FILE) |
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
360 @echo '// WARNING! This is a generated file. Do NOT edit.' > help_mp.h |
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
361 @echo '// See the help/ subdir for the editable files.' >> help_mp.h |
14830
8260cd3c585c
--charset configure option to convert help messages charset
reimar
parents:
14281
diff
changeset
|
362 ifeq ($(CHARSET),) |
13703
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
363 @echo '#include "$(HELP_FILE)"' >> help_mp.h |
14830
8260cd3c585c
--charset configure option to convert help messages charset
reimar
parents:
14281
diff
changeset
|
364 else |
20634
32b693286d0b
remove charset files (all of them are in UTF-8 now anyway)
kraymer
parents:
20615
diff
changeset
|
365 iconv -f UTF-8 -t $(CHARSET) "$(HELP_FILE)" >> help_mp.h |
14830
8260cd3c585c
--charset configure option to convert help messages charset
reimar
parents:
14281
diff
changeset
|
366 endif |
13703
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
367 |
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
368 ifneq ($(HELP_FILE),help/help_mp-en.h) |
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
369 @echo "Adding untranslated messages to help_mp.h" |
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
370 @echo '// untranslated messages from the English master file:' >> help_mp.h |
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
371 @help/help_diff.sh $(HELP_FILE) < help/help_mp-en.h >> help_mp.h |
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
372 endif |
06cd8401c498
Move help_mp.h generation to Makefile, so it's easier to maintain on
wight
parents:
13702
diff
changeset
|
373 |
18014
0d380174f01f
10l: version.h was not being built in some odd cases
rfelker
parents:
18013
diff
changeset
|
374 # explicit dependencies to force version.h to be built even if .depend is missing |
0d380174f01f
10l: version.h was not being built in some odd cases
rfelker
parents:
18013
diff
changeset
|
375 mplayer.o mencoder.o vobsub.o: version.h |
0d380174f01f
10l: version.h was not being built in some odd cases
rfelker
parents:
18013
diff
changeset
|
376 |
18015 | 377 # temporary measure to make sure help_mp.h is built. we desperately need correct deps! |
21085 | 378 $(MPLAYER_DEPS) $(MENCODER_DEPS): help_mp.h |
18015 | 379 |
28 | 380 # |
18013 | 381 # the following lines provide _partial_ dependency information |
382 # for the 'library' directories under main dir, in order to cause | |
383 # the build process to recursively descend into them if something | |
384 # has changed. ideally this will be replaced with a single | |
385 # nonrecursive makefile for the whole project. | |
7133
3d76ec50480c
fix 10l mistake and add the libdeps thing right this time
rfelker
parents:
7132
diff
changeset
|
386 # |
19283
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
387 # Now all directories are recursed by default because these rules do not |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
388 # consider dependencies on files in other directories, while the recursively |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
389 # invoked Makefiles do. Conditional recursion only to the directories with |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
390 # changed files can be enabled by creating a file named ".norecurse" and |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
391 # optionally giving it a timestamp in the past. Directories whose .a files |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
392 # are newer than the timestamp and newer than other files in the directory |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
393 # will not be recursed. |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
394 .norecurse: |
18013 | 395 |
19283
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
396 libvo/libvo.a: .norecurse $(wildcard libvo/*.[ch]) |
21257
637fcc472af6
Add explicit dependency information for libosd.a, this fixes MEncoder-only
diego
parents:
21225
diff
changeset
|
397 libvo/libosd.a: .norecurse $(wildcard libvo/*.[ch]) |
19283
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
398 libao2/libao2.a: .norecurse $(wildcard libao2/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
399 osdep/libosdep.a: .norecurse $(wildcard osdep/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
400 input/libinput.a: .norecurse $(wildcard input/*.[ch]) |
18013 | 401 |
19283
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
402 libmenu/libmenu.a: .norecurse $(wildcard libmenu/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
403 libaf/libaf.a: .norecurse $(wildcard libaf/*.[ch]) |
20981
22cb9d5f1e21
Rename libdvdread to dvdread. We really only include only the dvdread
diego
parents:
20819
diff
changeset
|
404 dvdread/libdvdread.a: .norecurse $(wildcard dvdread/*.[ch]) |
20613 | 405 libdvdcss/libdvdcss.a: .norecurse $(wildcard libdvdcss/*.[ch]) |
18013 | 406 |
21284 | 407 libmpdemux/libmpdemux.a: .norecurse $(wildcard libmpdemux/*.[ch]) |
21310
3220773a071b
Split muxers into a separate library that only MEncoder is linked against.
diego
parents:
21284
diff
changeset
|
408 libmpdemux/libmpmux.a: .norecurse $(wildcard libmpdemux/*.[ch]) |
19283
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
409 stream/stream.a: .norecurse $(wildcard stream/*.[ch] stream/*/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
410 libmpcodecs/libmpcodecs.a: .norecurse $(wildcard libmpcodecs/*.[ch]) $(wildcard libmpcodecs/native/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
411 libmpcodecs/libmpencoders.a: .norecurse $(wildcard libmpcodecs/*.[ch]) |
18013 | 412 |
19283
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
413 libavutil/libavutil.a: .norecurse $(wildcard libavutil/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
414 libavcodec/libavcodec.a: .norecurse $(wildcard libavcodec/*.[ch] libavcodec/*/*.[chS]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
415 libavformat/libavformat.a: .norecurse $(wildcard libavformat/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
416 libswscale/libswscale.a: .norecurse $(wildcard libswscale/*.[ch]) |
18013 | 417 |
19283
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
418 libmpeg2/libmpeg2.a: .norecurse $(wildcard libmpeg2/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
419 liba52/liba52.a: .norecurse $(wildcard liba52/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
420 mp3lib/libMP3.a: .norecurse $(wildcard mp3lib/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
421 libfaad2/libfaad2.a: .norecurse $(wildcard libfaad2/*.[ch] libfaad2/*/*.[ch]) |
18013 | 422 |
19283
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
423 loader/libloader.a: .norecurse $(wildcard loader/*.[chSs]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
424 libdha/libdha.so: .norecurse $(wildcard libdha/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
425 vidix/libvidix.a: .norecurse $(wildcard vidix/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
426 Gui/libgui.a: .norecurse $(wildcard Gui/*.[ch] Gui/*/*.[ch] Gui/*/*/*.[ch]) |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
427 |
f3866a8ed333
Change toplevel Makefile to invoke subdirectory Makefiles
uau
parents:
19271
diff
changeset
|
428 libass/libass.a: .norecurse $(wildcard libass/*.[ch]) |
18937
9e95ac641e77
Initial libass release (without mencoder support).
eugeni
parents:
18895
diff
changeset
|
429 |
28 | 430 ifneq ($(wildcard .depend),) |
431 include .depend | |
432 endif | |
22053 | 433 |
434 .PHONY: all install* uninstall dirclean clean distclean strip dep depend | |
435 .PHONY: doxygen doxygen_clean |