-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
62 lines (49 loc) · 1.79 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/make -f
# mpc123 - Musepack Console audio player
# Copyright (C) 2005-2006 Fernando Vezzosi <github-mpc123 at repnz.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
TAGSPRG := ctags
CFLAGS += -Wall
LDFLAGS += -lao -lmpcdec
# in case of DEBUG, we shall add these flags
ifneq ($(DEBUG), )
CPPFLAGS += -DDEBUG=$(DEBUG)
CFLAGS += -ggdb
LDFLAGS += -rdynamic
# LDFLAGS += -lefence
# LDFLAGS += -lmudflap
else
CFLAGS += -O2
endif
TARGET := mpc123
MAJOR := 0
MINOR := 2
POS := $(wildcard LOCALES/*/LC_MESSAGES/*.po)
MOS := $(POS:%.po=%.mo)
# very rudimentary dependency checking
DEPS := $(patsubst %.c, %.o, $(filter-out $(TARGET).c, $(sort $(wildcard *.c))))
$(TARGET): $(DEPS) $(TARGET).c $(TARGET).h $(MOS)
@echo Building mpc123 version $(MAJOR).$(MINOR) ...
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $(DEPS) $(TARGET).c $(LDFLAGS)
.PHONY: clean tarball
clean:
$(RM) tags $(DEPS) $(TARGET) $(MOS)
tags: $(wildcard *.[ch])
$(TAGSPRG) -R --exclude=.git ./
tarball: clean
git archive --format tar --prefix mpc123-$$(git describe)/ HEAD | gzip > ../mpc123-$$(git describe).tar.gz
$(MOS): $(POS)
$(foreach po, $(POS), msgfmt $(po) -o $(po:%.po=%.mo);)