-
Notifications
You must be signed in to change notification settings - Fork 13
/
Makefile.am
203 lines (162 loc) · 6.42 KB
/
Makefile.am
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
## Process this file with automake to produce Makefile.in
# AM_GNU_GETTEXT requires po in SUBDIRS
SUBDIRS = po docs/help/bt-edit
# see fake subdir rules
FAKE_SUBDIRS = \
docs/reference/bt-core docs/reference/bt-ic \
docs/reference/bt-cmd docs/reference/bt-edit \
docs/reference/bt-gst
DIST_SUBDIRS = $(SUBDIRS) $(FAKE_SUBDIRS)
ACLOCAL_AMFLAGS = -I m4
DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--enable-debug \
--disable-update-desktop \
--disable-update-mime \
--disable-update-icon-cache
AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib \
-I$(top_builddir)/src/lib \
-DPREFIX=\"$(prefix)\" \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-DLOCALEDIR=\"$(localedir)\" \
-DLIBDIR=\"$(libdir)\" \
-DDATADIR=\"$(datadir)\" \
-DTESTSONGDIR=\"$(abs_top_srcdir)/tests/songs\" \
-DG_LOG_DOMAIN=\"buzztrax\" \
-DG_SETTINGS_ENABLE_BACKEND \
-DTARGET_CPU=\"$(target_cpu)\" \
$(BASE_DEPS_CFLAGS) \
$(BT_CFLAGS)
AM_LDFLAGS = $(BT_LDFLAGS)
EXTRA_DIST = \
org.buzztrax.gschema.xml \
$(appdata_in_files) \
buzztrax.convert \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
COPYING-DOCS \
README.md TODO \
docs/version.entities.in \
docs/buzztrax.xsd \
po/$(GETTEXT_PACKAGE).pot
# BUILT_SOURCES is for generated source
BUILT_SOURCES = builddirs
# CLEANFILES is for files generated by make
CLEANFILES = $(appdata_DATA)
# DISTCLEANFILES is for files generated by configure
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update \
docs/version.entities
# define list variables once so that we can unconditionally append
noinst_HEADERS =
noinst_LTLIBRARIES =
include $(top_srcdir)/Makefile.icons.am
include $(top_srcdir)/Makefile.src.am
include $(top_srcdir)/Makefile.tests.am
#-- settings
# gsettings_SCHEMAS is a list of all the schemas you want to install
gsettings_SCHEMAS = org.buzztrax.gschema.xml
# include the appropriate makefile rules for schema handling
@GSETTINGS_RULES@
# convert the gconf data to gsettings
gconfconvertdir = $(datadir)/GConf/gsettings
gconfconvert_DATA = buzztrax.convert
#-- app-data for package manager
appdatadir = $(datadir)/appdata
appdata_DATA = $(appdata_in_files:.xml.in=.xml)
appdata_in_files = buzztrax.appdata.xml.in
#-- fake subdir rules
docs: docs-bt-core docs-bt-ic docs-bt-cmd docs-bt-edit docs-bt-gst
docs/reference/version.entities:
@cp docs/version.entities docs/reference/
docs-bt-core: libbuzztrax-core.la libbtbsl.la libbuzztrax-ic.la docs/reference/version.entities
@$(MAKE) -C docs/reference/bt-core
docs-bt-ic: libbuzztrax-ic.la docs/reference/version.entities | docs-bt-core
@$(MAKE) -C docs/reference/bt-ic
docs-bt-cmd: libbtcmd.la libbuzztrax-ic.la libbuzztrax-core.la docs/reference/version.entities | docs-bt-core docs-bt-ic
@$(MAKE) -C docs/reference/bt-cmd
docs-bt-edit: libbtedit.la libbuzztrax-ic.la libbuzztrax-core.la docs/reference/version.entities | docs-bt-core docs-bt-ic
@$(MAKE) -C docs/reference/bt-edit
if FLUIDSYNTH_SUPPORT
FLUIDSYNTH_LA = libgstfluidsynth.la
else
FLUIDSYNTH_LA =
endif
docs-bt-gst: libbuzztrax-gst.la libbuzztraxaudio.la libbuzztraxdec.la libgstbml.la libgstsidsyn.la $(FLUIDSYNTH_LA)
@$(MAKE) -C docs/reference/bt-gst
all-local: docs
check-local:
@for dir in $(FAKE_SUBDIRS); do $(MAKE) -C $$dir check; done
clean-local: test-clean-local
-@rm docs/reference/version.entities
-@rm -f po/.intltool-merge-cache
@for dir in $(FAKE_SUBDIRS); do \
if test -f $$dir/Makefile; then \
$(MAKE) -C $$dir clean; \
fi; \
done
install-data-local:
@for dir in $(FAKE_SUBDIRS); do $(MAKE) -C $$dir install-data; done
uninstall-local:
@for dir in $(FAKE_SUBDIRS); do $(MAKE) -C $$dir uninstall; done
# silly hack to fix make distcheck on a clean package
po/$(GETTEXT_PACKAGE).pot:
$(MAKE) -C po update-po
## this seems to fail during make distcheck
##uninstall-local:
## rm -r $(datadir)/$(PACKAGE)
install-data-hook: update-icon-cache update-desktop-db update-mime-db
uninstall-hook: update-icon-cache update-desktop-db update-mime-db
## We get warnings for left-over files when doing 'make distuninstallcheck'
distuninstallcheck_listfiles = find . -type f -print
## Workaround for installing files in own prefix
distuninstallcheck_listfiles += | grep -v '/share/mime'
## Workaround for installing icon theme in own prefix
distuninstallcheck_listfiles += | grep -v 'icon-theme.cache'
## Workaround for installing icon theme in own prefix
distuninstallcheck_listfiles += | grep -v 'mimeinfo.cache'
# the mkdir is needed because of an INTLTOOL bug
# https://bugs.launchpad.net/intltool/+bug/605826
builddirs:
$(AM_V_at)$(MKDIR_P) src/lib/core/songio/bsl/ src/ui/edit
# meh, if we build from a tarball, there won't be a .git/index
AUTHORS: $(wildcard $(top_srcdir)/.git/index)
$(AM_V_GEN)if test -d "$(top_srcdir)/.git"; \
then \
( cd "$(top_srcdir)" && \
git log --no-merges --pretty=format:"%an <%ae>" . | \
sed -e 's/sourceforge.net/sf.net/' \
-e 's/Stefan Sauer <ensonic@hora-obscura.de>/Stefan Sauer <ensonic@users.sf.net>/' \
-e 's/\(Joseph Orbegoso Pea <joseph.pea@climate.com>\|trusktr <trusktr@gmail.com>\)/Joe Pea <trusktr@gmail.com>/' \
-e 's/\(Tom Mast <thomasomast@gmail.com>\|tom__m <thomasomast@gmail.com>\)/Tom Mast <amishmansteve@users.sf.net>/' \
-e 's/\(Thomas Wabner <waffel@hora-obscura.de>\|Waffel <waffel@hora-obscura.de>\|waffel <waffel@users.sf.net>\)/Thomas Wabner <waffel@users.sf.net>/' | \
sort | uniq -c | sed -e 's/^\ *//' | sort -rn | cut -d' ' -f2-; echo; \
echo 'src/lib/dllwrapper is based on the work of various authors of the winelib and xine projects' \
) > $@.tmp && \
cmp -s $@ $@.tmp; \
if test "$(?)" = "0"; then rm -f $@.tmp; touch $@; else mv -f $@.tmp $@; fi \
|| ( rm -f $@.tmp ; \
echo Failed to generate $@ >&2 ); \
fi
.PHONY: \
builddirs \
docs docs-bt-core docs-bt-ic docs-bt-cmd docs-bt-edit \
install-gconf uninstall-gconf \
update-icon-cache update-desktop-db update-mime-db \
dict cc10 cc20
# make dict -- create an aspell dictionary from tags
dict:: tags
echo "personal_ws" >$(PACKAGE).aspell_dict
@find . -name tags -exec grep -v "$\!" {} \; | cut -f1 | sort | uniq >>$(PACKAGE).aspell_dict
# -k2 in sort for Tranditional McCabe Cyclomatic Complexity
# make cc10 -- report McCabe Cyclomatic Complexity
# make cc20 -- report McCabe Cyclomatic Complexity
cc10::
@pmccabe `find src -name '*.c'` | sort -nr | awk '($$1 > 10)'
cc20::
@pmccabe `find src -name '*.c'` | sort -nr | awk '($$1 > 20)'
include $(top_srcdir)/common.mak