xref: /aosp_15_r20/external/ublksrv/Makefile.am (revision 94c4a1e103eb1715230460aab379dff275992c20)
1# SPDX-License-Identifier: MIT or GPL-2.0-only
2
3ACLOCAL_AMFLAGS = -I m4
4
5EXTRA_DIST = \
6	COPYING.LGPL \
7	.gitignore \
8	LICENSE
9
10SUBDIRS = include lib tests
11
12AM_CXXFLAGS = -std=c++20
13
14sbin_PROGRAMS = ublk ublk_user_id
15noinst_PROGRAMS = demo_null demo_event
16dist_sbin_SCRIPTS = utils/ublk_chown.sh utils/ublk_chown_docker.sh
17
18ublk_SOURCES = ublksrv_tgt.cpp tgt_null.cpp tgt_loop.cpp qcow2/tgt_qcow2.cpp \
19			   qcow2/qcow2.cpp qcow2/qcow2_meta.cpp qcow2/utils.cpp \
20			   qcow2/qcow2_flush_meta.cpp \
21			   nbd/tgt_nbd.cpp nbd/cliserv.c nbd/nbd-client.c
22ublk_CFLAGS = $(WARNINGS_CFLAGS) $(LIBURING_CFLAGS) $(PTHREAD_CFLAGS)
23ublk_CPPFLAGS = $(ublk_CFLAGS) -I$(top_srcdir)/include
24ublk_LDADD = lib/libublksrv.la $(LIBURING_LIBS) $(PTHREAD_LIBS)
25
26demo_null_SOURCES = demo_null.c
27demo_null_CFLAGS = $(WARNINGS_CFLAGS) $(LIBURING_CFLAGS) $(PTHREAD_CFLAGS)
28demo_null_CPPFLAGS = $(demo_null_CFLAGS) -I$(top_srcdir)/include
29demo_null_LDADD = lib/libublksrv.la $(LIBURING_LIBS) $(PTHREAD_LIBS)
30
31demo_event_SOURCES = demo_event.c
32demo_event_CFLAGS = $(WARNINGS_CFLAGS) $(LIBURING_CFLAGS) $(PTHREAD_CFLAGS)
33demo_event_CPPFLAGS = $(demo_event_CFLAGS) -I$(top_srcdir)/include
34demo_event_LDADD = lib/libublksrv.la $(LIBURING_LIBS) $(PTHREAD_LIBS)
35
36ublk_user_id_SOURCES = utils/ublk_user_id.c
37ublk_user_id_CFLAGS = $(WARNINGS_CFLAGS) $(LIBURING_CFLAGS) $(PTHREAD_CFLAGS)
38ublk_user_id_CPPFLAGS = $(ublk_user_id_CFLAGS) -I$(top_srcdir)/include
39ublk_user_id_LDADD = lib/libublksrv.la $(LIBURING_LIBS) $(PTHREAD_LIBS)
40
41pkgconfigdir = $(libdir)/pkgconfig
42pkgconfig_DATA = ublksrv.pc
43
44CLEANFILES = *~ test cscope.* include/*~ *.d qcow2/*~ nbd/*~ utils/*~ doc/html/*
45
46R = 10
47D = tests/tmp/
48test: $(sbin_PROGRAMS) $(noinst_PROGRAMS)
49	make -C tests run T=${T} R=${R} D=${D}
50
51cscope:
52	@cscope -b -R
53
54if HAVE_DOXYGEN
55doxygen_doc:
56	doxygen doc/Doxyfile
57endif
58
59# Check no files are missing from EXTRA_DIST rules, and that all
60# generated files have been included in the tarball.  (Note you must
61# have done 'make dist')
62maintainer-check-extra-dist:
63	@zcat $(PACKAGE_NAME)-$(VERSION).tar.gz | tar tf - | sort | \
64	    sed 's,^$(PACKAGE_NAME)-$(VERSION)/,,' > tarfiles
65	@git ls-files | \
66	    sort > gitfiles
67	@comm -13 tarfiles gitfiles > comm-out
68	@echo Checking for differences between EXTRA_DIST and git ...
69	@cat comm-out
70	@[ ! -s comm-out ]
71	@rm tarfiles gitfiles comm-out
72	@echo PASS: EXTRA_DIST tests
73