]>
Commit | Line | Data |
---|---|---|
8631552d CW |
1 | SUBDIRS = . libkmod/docs |
2 | ||
3 | if BUILD_MANPAGES | |
4 | SUBDIRS += man | |
5 | endif | |
646b83b8 | 6 | |
6afc9cd6 | 7 | DISTCLEAN_LOCAL_HOOKS = |
85ece204 | 8 | EXTRA_DIST = |
3a33a7a5 LDM |
9 | CLEANFILES = $(BUILT_FILES) |
10 | BUILT_FILES = | |
ecd40ee4 LDM |
11 | ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} |
12 | AM_MAKEFLAGS = --no-print-directory | |
13 | ||
14 | AM_CPPFLAGS = \ | |
15 | -include $(top_builddir)/config.h \ | |
586fc304 | 16 | -I$(top_srcdir)/libkmod \ |
ecd40ee4 | 17 | -DSYSCONFDIR=\""$(sysconfdir)"\" \ |
7b3a74fc JE |
18 | -DLIBEXECDIR=\""$(libexecdir)"\" \ |
19 | ${zlib_CFLAGS} | |
ecd40ee4 | 20 | |
e48f3765 LDM |
21 | AM_CFLAGS = $(WARNINGFLAGS) |
22 | AM_LDFLAGS = $(GCLDFLAGS) | |
ecd40ee4 | 23 | |
9faa7b37 KS |
24 | SED_PROCESS = \ |
25 | $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \ | |
26 | -e 's,@VERSION\@,$(VERSION),g' \ | |
27 | -e 's,@prefix\@,$(prefix),g' \ | |
28 | -e 's,@exec_prefix\@,$(exec_prefix),g' \ | |
29 | -e 's,@libdir\@,$(libdir),g' \ | |
30 | -e 's,@includedir\@,$(includedir),g' \ | |
b182f8fb JE |
31 | -e 's,@liblzma_CFLAGS\@,${liblzma_CFLAGS},g' \ |
32 | -e 's,@liblzma_LIBS\@,${liblzma_LIBS},g' \ | |
7b3a74fc JE |
33 | -e 's,@zlib_CFLAGS\@,${zlib_CFLAGS},g' \ |
34 | -e 's,@zlib_LIBS\@,${zlib_LIBS},g' \ | |
9faa7b37 KS |
35 | < $< > $@ || rm $@ |
36 | ||
37 | %.pc: %.pc.in Makefile | |
38 | $(SED_PROCESS) | |
39 | ||
40758602 | 40 | LIBKMOD_CURRENT=4 |
ae58de0f | 41 | LIBKMOD_REVISION=8 |
40758602 | 42 | LIBKMOD_AGE=2 |
ecd40ee4 | 43 | |
529148ea LDM |
44 | noinst_LTLIBRARIES = libkmod/libkmod-util.la |
45 | libkmod_libkmod_util_la_SOURCES = libkmod/libkmod-hash.c \ | |
6670c633 LDM |
46 | libkmod/libkmod-hash.h \ |
47 | libkmod/libkmod-array.c \ | |
0c010fae LDM |
48 | libkmod/libkmod-array.h \ |
49 | libkmod/libkmod-util.c \ | |
50 | libkmod/libkmod-util.h | |
529148ea | 51 | |
586fc304 LDM |
52 | include_HEADERS = libkmod/libkmod.h |
53 | lib_LTLIBRARIES = libkmod/libkmod.la | |
ecd40ee4 | 54 | |
586fc304 LDM |
55 | libkmod_libkmod_la_SOURCES =\ |
56 | libkmod/libkmod.h \ | |
83b855a6 | 57 | libkmod/libkmod-internal.h \ |
88e9c12e | 58 | libkmod/macro.h \ |
1407064e | 59 | libkmod/missing.h \ |
6924e47a | 60 | libkmod/libkmod.c \ |
5369797d | 61 | libkmod/libkmod-list.c \ |
7c2ab358 | 62 | libkmod/libkmod-config.c \ |
e8847fd2 LDM |
63 | libkmod/libkmod-index.c \ |
64 | libkmod/libkmod-index.h \ | |
3d8226ed | 65 | libkmod/libkmod-module.c \ |
708624a4 | 66 | libkmod/libkmod-file.c \ |
8fe1681c MM |
67 | libkmod/libkmod-elf.c \ |
68 | libkmod/libkmod-signature.c | |
ecd40ee4 | 69 | |
586fc304 | 70 | EXTRA_DIST += libkmod/libkmod.sym |
e1b1ab24 | 71 | EXTRA_DIST += libkmod/README libkmod/COPYING testsuite/COPYING COPYING |
ecd40ee4 | 72 | |
586fc304 LDM |
73 | libkmod_libkmod_la_LDFLAGS = $(AM_LDFLAGS) \ |
74 | -version-info $(LIBKMOD_CURRENT):$(LIBKMOD_REVISION):$(LIBKMOD_AGE) \ | |
75 | -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym | |
529148ea LDM |
76 | libkmod_libkmod_la_DEPENDENCIES = libkmod/libkmod-util.la \ |
77 | ${top_srcdir}/libkmod/libkmod.sym | |
78 | libkmod_libkmod_la_LIBADD = libkmod/libkmod-util.la \ | |
79 | ${liblzma_LIBS} ${zlib_LIBS} | |
ecd40ee4 | 80 | |
83b855a6 LDM |
81 | noinst_LTLIBRARIES += libkmod/libkmod-internal.la |
82 | libkmod_libkmod_internal_la_SOURCES = $(libkmod_libkmod_la_SOURCES) | |
83 | libkmod_libkmod_internal_la_LDFLAGS = $(AM_LDFLAGS) \ | |
39baaec1 | 84 | -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym |
83b855a6 LDM |
85 | libkmod_libkmod_internal_la_DEPENDENCIES = $(libkmod_libkmod_la_DEPENDENCIES) |
86 | libkmod_libkmod_internal_la_LIBADD = $(libkmod_libkmod_la_LIBADD) | |
39baaec1 | 87 | |
ecd40ee4 | 88 | pkgconfigdir = $(libdir)/pkgconfig |
586fc304 | 89 | pkgconfig_DATA = libkmod/libkmod.pc |
9faa7b37 KS |
90 | EXTRA_DIST += libkmod/libkmod.pc.in |
91 | CLEANFILES += libkmod/libkmod.pc | |
ecd40ee4 | 92 | |
80cf2c8f LDM |
93 | bashcompletiondir=@bashcompletiondir@ |
94 | dist_bashcompletion_DATA = \ | |
95 | shell-completion/bash/kmod | |
96 | ||
e79bf83b KS |
97 | install-exec-hook: |
98 | if test "$(libdir)" != "$(rootlibdir)"; then \ | |
6a4fa8d8 | 99 | $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \ |
e79bf83b KS |
100 | so_img_name=$$(readlink $(DESTDIR)$(libdir)/libkmod.so) && \ |
101 | so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \ | |
102 | ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libkmod.so && \ | |
103 | mv $(DESTDIR)$(libdir)/libkmod.so.* $(DESTDIR)$(rootlibdir); \ | |
104 | fi | |
105 | ||
106 | uninstall-hook: | |
107 | rm -f $(DESTDIR)$(rootlibdir)/libkmod.so* | |
108 | ||
72c51a9e | 109 | if BUILD_TOOLS |
8d75053e LDM |
110 | bin_PROGRAMS = tools/kmod |
111 | ||
b6adccd6 LDM |
112 | noinst_SCRIPTS = tools/insmod tools/rmmod tools/lsmod \ |
113 | tools/modprobe tools/modinfo tools/depmod | |
8900b916 | 114 | |
ac78e109 LDM |
115 | tools_kmod_SOURCES = tools/kmod.c tools/kmod.h tools/lsmod.c \ |
116 | tools/rmmod.c tools/insmod.c \ | |
117 | tools/modinfo.c tools/modprobe.c \ | |
db6f2fc7 TG |
118 | tools/depmod.c tools/log.h tools/log.c \ |
119 | tools/static-nodes.c | |
f6cf14ce | 120 | tools_kmod_LDADD = libkmod/libkmod-util.la \ |
83b855a6 | 121 | libkmod/libkmod-internal.la |
00fc926c | 122 | |
b6adccd6 | 123 | ${noinst_SCRIPTS}: tools/kmod |
00fc926c LDM |
124 | $(AM_V_GEN) ($(RM) $@; \ |
125 | $(LN_S) $(notdir $<) $@) | |
72c51a9e GSB |
126 | endif |
127 | ||
3a33a7a5 LDM |
128 | # ------------------------------------------------------------------------------ |
129 | # PYTHON BINDINGS | |
130 | # ------------------------------------------------------------------------------ | |
131 | ||
132 | CYTHON_FLAGS_VERBOSE_ = | |
133 | CYTHON_FLAGS_VERBOSE_0 = | |
134 | CYTHON_FLAGS_VERBOSE_1 = -v | |
135 | CYTHON_FLAGS = $(CYTHON_FLAGS_VERBOSE_$(V)) | |
136 | AM_V_CYTHON = $(am__v_CYTHON_$(V)) | |
137 | am__v_CYTHON_ = $(am__v_CYTHON_$(AM_DEFAULT_VERBOSITY)) | |
138 | am__v_CYTHON_0 = @echo " CYTHON " $@; | |
139 | ||
140 | .pyx.c: | |
141 | $(AM_V_CYTHON)$(CYTHON) -o $@ $< | |
142 | ||
143 | %.py: %.py.in Makefile | |
144 | $(SED_PROCESS) | |
145 | ||
146 | # Remove some warnings for generated code | |
147 | PYTHON_NOWARN = -Wno-redundant-decls -Wno-shadow -Wno-strict-aliasing | |
148 | ||
149 | CPYTHON_MODULE_CFLAGS = $(AM_CFLAGS) -DCPYTHON_COMPILING_IN_PYPY=0 \ | |
150 | $(PYTHON_NOWARN) $(PYTHON_CFLAGS) \ | |
151 | -fvisibility=default | |
152 | CPYTHON_MODULE_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version -shared | |
153 | ||
154 | if BUILD_PYTHON | |
155 | pkgpyexec_LTLIBRARIES = libkmod/python/kmod/kmod.la \ | |
156 | libkmod/python/kmod/list.la \ | |
157 | libkmod/python/kmod/module.la \ | |
158 | libkmod/python/kmod/_util.la | |
159 | ||
160 | libkmod_python_kmod_kmod_la_SOURCES = libkmod/python/kmod/kmod.c | |
161 | libkmod_python_kmod_kmod_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) | |
162 | libkmod_python_kmod_kmod_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) | |
163 | libkmod_python_kmod_kmod_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la | |
164 | ||
165 | libkmod_python_kmod_list_la_SOURCES = libkmod/python/kmod/list.c | |
166 | libkmod_python_kmod_list_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) | |
167 | libkmod_python_kmod_list_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) | |
168 | libkmod_python_kmod_list_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la | |
169 | ||
170 | libkmod_python_kmod_module_la_SOURCES = libkmod/python/kmod/module.c | |
171 | libkmod_python_kmod_module_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) | |
172 | libkmod_python_kmod_module_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) | |
173 | libkmod_python_kmod_module_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la | |
174 | ||
175 | libkmod_python_kmod__util_la_SOURCES = libkmod/python/kmod/_util.c | |
176 | libkmod_python_kmod__util_la_CFLAGS = $(CPYTHON_MODULE_CFLAGS) | |
177 | libkmod_python_kmod__util_la_LDFLAGS = $(CPYTHON_MODULE_LDFLAGS) | |
178 | libkmod_python_kmod__util_la_LIBADD = $(PYTHON_LIBS) libkmod/libkmod.la | |
179 | ||
180 | BUILT_FILES += $(libkmod_python_kmod_kmod_la_SOURCES) \ | |
181 | $(libkmod_python_kmod_list_la_SOURCES) \ | |
182 | $(libkmod_python_kmod_module_la_SOURCES) \ | |
183 | $(libkmod_python_kmod__util_la_SOURCES) | |
184 | ||
185 | dist_pkgpyexec_PYTHON = libkmod/python/kmod/error.py \ | |
186 | libkmod/python/kmod/__init__.py \ | |
187 | libkmod/python/kmod/version.py | |
188 | ||
189 | BUILT_FILES += libkmod/python/kmod/version.py | |
190 | ||
191 | endif | |
6afc9cd6 LDM |
192 | # ------------------------------------------------------------------------------ |
193 | # TESTSUITE | |
194 | # ------------------------------------------------------------------------------ | |
195 | ||
e2ee7d9b | 196 | ROOTFS = testsuite/rootfs |
0de690c9 | 197 | ROOTFS_PRISTINE = $(top_srcdir)/testsuite/rootfs-pristine |
518daf4f | 198 | CREATE_ROOTFS = $(AM_V_GEN) ( $(RM) -rf $(ROOTFS) && mkdir -p $(dir $(ROOTFS)) && \ |
0de690c9 | 199 | cp -r $(ROOTFS_PRISTINE) $(ROOTFS) && \ |
33202e84 LDM |
200 | touch testsuite/stamp-rootfs && \ |
201 | find $(ROOTFS) -type d -exec chmod +w {} \; ) | |
e2ee7d9b | 202 | |
84afccb9 | 203 | rootfs: |
0de690c9 | 204 | $(CREATE_ROOTFS) |
2588e3df | 205 | .PHONY: rootfs |
0de690c9 LDM |
206 | |
207 | $(ROOTFS): $(ROOTFS_PRISTINE) | |
208 | $(CREATE_ROOTFS) | |
452c1dde | 209 | |
d2c2b8b5 | 210 | TESTSUITE_OVERRIDE_LIBS = testsuite/uname.la testsuite/path.la \ |
f6ef5d6b LDM |
211 | testsuite/init_module.la \ |
212 | testsuite/delete_module.la | |
d2c2b8b5 LDM |
213 | TESTSUITE_OVERRIDE_LIBS_LDFLAGS = avoid-version -module -shared -export-dynamic \ |
214 | -rpath /nowhere -ldl | |
68cc4493 | 215 | |
9324bb52 MM |
216 | check-sysconfdir: |
217 | $(AM_V_at)if test "$(sysconfdir)" != "/etc" -a "$(sysconfdir)" != "/etc/"; then \ | |
218 | echo "warning: Some tests will fail without --sysconfdir=/etc" >&2; \ | |
219 | fi | |
220 | .PHONY: check-sysconfdir | |
221 | ||
222 | check-am: rootfs check-sysconfdir | |
223 | ||
2588e3df | 224 | |
d2c2b8b5 | 225 | check_LTLIBRARIES = $(TESTSUITE_OVERRIDE_LIBS) |
68cc4493 | 226 | |
d2c2b8b5 LDM |
227 | testsuite_uname_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) |
228 | testsuite_path_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) | |
6afc9cd6 | 229 | |
f6ef5d6b | 230 | testsuite_delete_module_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) |
d2c2b8b5 LDM |
231 | testsuite_init_module_la_LDFLAGS = $(TESTSUITE_OVERRIDE_LIBS_LDFLAGS) |
232 | testsuite_init_module_la_SOURCES = testsuite/init_module.c \ | |
d48b8a79 | 233 | testsuite/stripped-module.h |
83b855a6 | 234 | testsuite_init_module_la_LIBADD = libkmod/libkmod-internal.la |
6afc9cd6 | 235 | |
6b88ef3e | 236 | TESTSUITE_CPPFLAGS = $(AM_CPPFLAGS) \ |
e2ee7d9b | 237 | -DTESTSUITE_ROOTFS=\"$(abs_top_builddir)/$(ROOTFS)/\" \ |
6b88ef3e | 238 | -DABS_TOP_BUILDDIR=\"$(abs_top_builddir)\" |
83b855a6 | 239 | TESTSUITE_LDADD = testsuite/libtestsuite.la libkmod/libkmod-internal.la \ |
0de690c9 | 240 | libkmod/libkmod-util.la |
6b88ef3e | 241 | |
d2c2b8b5 | 242 | check_LTLIBRARIES += testsuite/libtestsuite.la |
80f9e023 LDM |
243 | testsuite_libtestsuite_la_SOURCES = testsuite/testsuite.c \ |
244 | testsuite/testsuite.h | |
e2ee7d9b LDM |
245 | testsuite_libtestsuite_la_DEPENDENCIES = $(ROOTFS) \ |
246 | $(TESTSUITE_OVERRIDE_LIBS) | |
6b88ef3e | 247 | testsuite_libtestsuite_la_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
b8e344a6 | 248 | testsuite_libtestsuite_la_LIBADD = -lrt |
646b83b8 | 249 | |
5963c36d LDM |
250 | TESTSUITE = testsuite/test-hash \ |
251 | testsuite/test-init testsuite/test-testsuite testsuite/test-loaded \ | |
807c601d | 252 | testsuite/test-modinfo testsuite/test-util testsuite/test-new-module \ |
b0c9fc85 LDM |
253 | testsuite/test-modprobe testsuite/test-blacklist \ |
254 | testsuite/test-dependencies testsuite/test-depmod | |
255 | ||
eebca81e LDM |
256 | check_PROGRAMS = $(TESTSUITE) |
257 | TESTS = $(TESTSUITE) | |
258 | ||
0de690c9 | 259 | testsuite_test_testsuite_LDADD = testsuite/libtestsuite.la libkmod/libkmod-util.la |
6b88ef3e | 260 | testsuite_test_testsuite_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
5963c36d LDM |
261 | |
262 | testsuite_test_hash_LDADD = $(TESTSUITE_LDADD) | |
263 | testsuite_test_hash_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
264 | ||
d35e8832 DM |
265 | testsuite_test_init_LDADD = $(TESTSUITE_LDADD) |
266 | testsuite_test_init_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
267 | testsuite_test_loaded_LDADD = $(TESTSUITE_LDADD) | |
61e9433f | 268 | testsuite_test_loaded_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
d35e8832 | 269 | testsuite_test_modinfo_LDADD = $(TESTSUITE_LDADD) |
95daea07 | 270 | testsuite_test_modinfo_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
807c601d LDM |
271 | testsuite_test_util_LDADD = $(TESTSUITE_LDADD) |
272 | testsuite_test_util_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
d35e8832 | 273 | testsuite_test_new_module_LDADD = $(TESTSUITE_LDADD) |
a9474303 | 274 | testsuite_test_new_module_CPPFLAGS = $(TESTSUITE_CPPFLAGS) |
976ea8c3 LDM |
275 | testsuite_test_modprobe_LDADD = $(TESTSUITE_LDADD) |
276 | testsuite_test_modprobe_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
bcca1b95 DM |
277 | testsuite_test_blacklist_LDADD = $(TESTSUITE_LDADD) |
278 | testsuite_test_blacklist_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
c88aec70 DM |
279 | testsuite_test_dependencies_LDADD = $(TESTSUITE_LDADD) |
280 | testsuite_test_dependencies_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
b0c9fc85 LDM |
281 | testsuite_test_depmod_LDADD = $(TESTSUITE_LDADD) |
282 | testsuite_test_depmod_CPPFLAGS = $(TESTSUITE_CPPFLAGS) | |
eebca81e | 283 | |
452c1dde | 284 | testsuite-distclean: |
86bbd053 DR |
285 | $(RM) -r $(ROOTFS) |
286 | $(RM) testsuite/stamp-rootfs | |
452c1dde LDM |
287 | |
288 | DISTCLEAN_LOCAL_HOOKS += testsuite-distclean | |
e2ee7d9b | 289 | EXTRA_DIST += testsuite/rootfs-pristine |
9c41596e | 290 | |
3a33a7a5 LDM |
291 | DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-python --sysconfdir=/etc \ |
292 | --with-zlib \ | |
80cf2c8f | 293 | --with-bashcompletiondir=$$dc_install_base/$(bashcompletiondir) |
f4647b63 | 294 | |
6afc9cd6 | 295 | distclean-local: $(DISTCLEAN_LOCAL_HOOKS) |
f4647b63 | 296 | |
16535abe SW |
297 | buildtest-TESTS: |
298 | $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) | |
299 | ||
f4647b63 LDM |
300 | # ------------------------------------------------------------------------------ |
301 | # custom release helpers | |
302 | # ------------------------------------------------------------------------------ | |
303 | ||
304 | git-release: | |
305 | head -1 NEWS | grep -q "kmod $(VERSION)" | |
306 | git commit -a -m "kmod $(VERSION)" | |
307 | git tag -m "kmod $(VERSION)" -s v$(VERSION) | |
308 | git gc --prune=0 | |
309 | ||
310 | kmod-$(VERSION).tar.xz: | |
311 | make distcheck | |
312 | ||
313 | kmod-$(VERSION).tar.sign: | |
314 | xz -d -c kmod-$(VERSION).tar.xz | gpg --armor --detach-sign --output kmod-$(VERSION).tar.sign | |
315 | ||
316 | tar: kmod-$(VERSION).tar.xz kmod-$(VERSION).tar.sign | |
317 | ||
318 | tar-sync: kmod-$(VERSION).tar.xz kmod-$(VERSION).tar.sign | |
bb05bc8a | 319 | kup put kmod-$(VERSION).tar.xz kmod-$(VERSION).tar.sign /pub/linux/utils/kernel/kmod/ |