8 input.o main.o ui_curses.o
: .version
9 input.o main.o ui_curses.o
: CFLAGS
+= -DVERSION
=\"$(VERSION
)\"
12 @
test "`cat $@ 2> /dev/null`" = "$(VERSION)" && exit
0; \
13 echo
" GEN $@"; echo
$(VERSION
) > $@
17 browser.o buffer.o cmdline.o cmus.o command_mode.o comment.o \
18 db.o debug.o editable.o expr.o filters.o \
19 format_print.o glob.o help.o history.o http.o input.o \
20 keys.o lib.o load_dir.o locking.o mergesort.o misc.o options.o \
21 output.o pcm.o pl.o play_queue.o player.o \
22 read_wrapper.o server.o search.o \
23 search_mode.o spawn.o tabexp.o tabexp_file.o \
24 track.o track_db.o track_info.o tree.o uchar.o ui_curses.o window.o \
27 $(cmus-y
): CFLAGS
+= $(PTHREAD_CFLAGS
) $(NCURSES_CFLAGS
) $(ICONV_CFLAGS
) $(DL_CFLAGS
)
29 cmus
: $(cmus-y
) file.o path.o prog.o xmalloc.o
30 $(call cmd
,ld,$(PTHREAD_LIBS
) $(NCURSES_LIBS
) $(ICONV_LIBS
) $(DL_LIBS
) -lm
$(COMPAT_LIBS
))
32 cmus-remote
: main.o file.o path.o prog.o xmalloc.o
33 $(call cmd
,ld,$(COMPAT_LIBS
))
38 mad-objs
:= id3.lo mad.lo nomad.lo utf8_encode.lo
39 mikmod-objs
:= mikmod.lo
40 modplug-objs
:= modplug.lo
42 vorbis-objs
:= vorbis.lo
45 ip-
$(CONFIG_FLAC
) += flac.so
46 ip-
$(CONFIG_MAD
) += mad.so
47 ip-
$(CONFIG_MIKMOD
) += mikmod.so
48 ip-
$(CONFIG_MODPLUG
) += modplug.so
49 ip-
$(CONFIG_MPC
) += mpc.so
50 ip-
$(CONFIG_VORBIS
) += vorbis.so
51 ip-
$(CONFIG_WAV
) += wav.so
53 $(flac-objs
): CFLAGS
+= $(FLAC_CFLAGS
)
54 $(mad-objs
): CFLAGS
+= $(MAD_CFLAGS
)
55 $(mikmod-objs
): CFLAGS
+= $(MIKMOD_CFLAGS
)
56 $(modplug-objs
): CFLAGS
+= $(MODPLUG_CFLAGS
)
57 $(mpc-objs
): CFLAGS
+= $(MPC_CFLAGS
)
58 $(vorbis-objs
): CFLAGS
+= $(VORBIS_CFLAGS
)
61 $(call cmd
,ld_dl
,$(FLAC_LIBS
))
64 $(call cmd
,ld_dl
,$(MAD_LIBS
))
66 mikmod.so
: $(mikmod-objs
)
67 $(call cmd
,ld_dl
,$(MIKMOD_LIBS
))
69 modplug.so
: $(modplug-objs
)
70 $(call cmd
,ld_dl
,$(MODPLUG_LIBS
))
73 $(call cmd
,ld_dl
,$(MPC_LIBS
))
75 vorbis.so
: $(vorbis-objs
)
76 $(call cmd
,ld_dl
,$(VORBIS_LIBS
))
83 alsa-objs
:= alsa.lo mixer_alsa.lo
85 oss-objs
:= oss.lo mixer_oss.lo
86 sun-objs
:= sun.lo mixer_sun.lo
89 op-
$(CONFIG_ALSA
) += alsa.so
90 op-
$(CONFIG_ARTS
) += arts.so
91 op-
$(CONFIG_OSS
) += oss.so
92 op-
$(CONFIG_SUN
) += sun.so
93 op-
$(CONFIG_AO
) += ao.so
95 $(alsa-objs
): CFLAGS
+= $(ALSA_CFLAGS
)
96 $(arts-objs
): CFLAGS
+= $(ARTS_CFLAGS
)
97 $(oss-objs
): CFLAGS
+= $(OSS_CFLAGS
)
98 $(sun-objs
): CFLAGS
+= $(SUN_CFLAGS
)
99 $(ao-objs
): CFLAGS
+= $(AO_CFLAGS
)
101 alsa.so
: $(alsa-objs
)
102 $(call cmd
,ld_dl
,$(ALSA_LIBS
))
104 arts.so
: $(arts-objs
)
105 $(call cmd
,ld_dl
,$(ARTS_LIBS
))
108 $(call cmd
,ld_dl
,$(OSS_LIBS
))
111 $(call cmd
,ld_dl
,$(SUN_LIBS
))
114 $(call cmd
,ld_dl
,$(AO_LIBS
))
118 man1
:= Doc
/cmus
.1 Doc
/cmus-remote
.1
125 Doc
/ttman
: Doc
/ttman.o
128 quiet_cmd_ttman
= MAN
$@
129 cmd_ttman
= Doc
/ttman
$< $@
132 data
= $(wildcard data
/*)
134 clean += *.o
*.lo
*.so cmus cmus-remote Doc
/*.o Doc
/ttman Doc
/*.1
135 distclean += .version config.mk config
/*.h
tags
137 main
: cmus cmus-remote
138 plugins
: $(ip-y
) $(op-y
)
142 $(INSTALL
) -m755
$(bindir) cmus cmus-remote
144 install-plugins
: plugins
145 $(INSTALL
) -m755
$(libdir)/cmus
/ip
$(ip-y
)
146 $(INSTALL
) -m755
$(libdir)/cmus
/op
$(op-y
)
149 $(INSTALL
) -m644
$(datadir)/cmus
$(data
)
150 $(INSTALL
) -m755
$(datadir)/doc
/cmus
/examples cmus-status-display
151 $(INSTALL
) -m644
$(mandir)/man1
$(man1
)
153 install: all install-main install-plugins install-data
156 exuberant-ctags
*.
[ch
]
158 # generating tarball using GIT {{{
161 # version from an annotated tag
162 _ver0
= $(shell git describe
$(REV
) 2>/dev
/null
)
163 # version from a plain tag
164 _ver1
= $(shell git describe
--tags $(REV
) 2>/dev
/null
)
166 _ver2
= $(shell git rev-parse
--verify
--short
$(REV
) 2>/dev
/null
)
168 TARNAME
= cmus-
$(or
$(_ver0
),$(_ver1
),g
$(_ver2
))
171 @tarname
=$(TARNAME
); \
172 test "$(_ver2)" ||
{ echo
"No such revision $(REV)"; exit
1; }; \
173 echo
" DIST $$tarname.tar.bz2"; \
174 git tar-tree
$(REV
)^
{tree
} $$tarname | bzip2
-c
-9 > $$tarname.
tar.bz2
178 .PHONY
: all main plugins man
dist tags
179 .PHONY
: install install-main install-plugins install-man