-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.am
59 lines (47 loc) · 1.66 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
# Copyright (c) 2024 Marco Fortina
# Distributed under the MIT software license, see the accompanying
# file COPYING or https://www.opensource.org/licenses/mit-license.php.
# Set aclocal flags to include macros from the 'build-aux/m4' directory
ACLOCAL_AMFLAGS = -I build-aux/m4
# Specify subdirectories to build, in this case, the 'src' directory
SUBDIRS = src
# Define the directory for pkg-config files and specify the file to install
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libqyra.pc
# Specify the documentation files to install with 'make install'
dist_doc_DATA = README.md LICENSE doc/API.md
# Custom script for generating files, but not installed
dist_noinst_SCRIPTS = autogen.sh
# Include all files in the contrib, doc, and examples directories in the distribution tarball
EXTRA_DIST = \
$(wildcard contrib/*) \
$(wildcard doc/*) \
$(wildcard examples/*)
# Rule to generate the Doxygen documentation
doc/doxygen/.stamp: doc/Doxyfile
$(MKDIR_P) $(@D)
$(DOXYGEN) $^
$(AM_V_at) touch $@
# If Doxygen is available, build the documentation
if HAVE_DOXYGEN
docs: doc/doxygen/.stamp
else
docs:
@echo "error: doxygen not found"
endif
# Target to clean up the documentation directory
clean-docs:
@echo "Cleaning documentation files..."
rm -rf doc/doxygen
# Custom clean rule to clean both docs and dist/ directory
clean-local: clean-docs
@echo "Cleaning dist directory..."
rm -rf dist/
# Target to invoke tests from the top-level directory
# Delegates the test execution to the src directory
test:
$(MAKE) -C src test
# Target to invoke benchmarks from the top-level directory
# Delegates the benchmarks execution to the src directory
bench:
$(MAKE) -C src bench