Fri, 23 May 2025 12:44:24 +0200
make test-compile depend on both static and shared
the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build
791
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1 | # Copyright 2023 Mike Becker. All rights reserved. |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2 | # |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
3 | # Redistribution and use in source and binary forms, with or without |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
4 | # modification, are permitted provided that the following conditions are met: |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
5 | # |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
6 | # 1. Redistributions of source code must retain the above copyright |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
7 | # notice, this list of conditions and the following disclaimer. |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
8 | # |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
9 | # 2. Redistributions in binary form must reproduce the above copyright |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
10 | # notice, this list of conditions and the following disclaimer in the |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
11 | # documentation and/or other materials provided with the distribution. |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
12 | # |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
13 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
14 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
15 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
16 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
17 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
18 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
19 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
20 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
21 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
22 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
23 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
24 | include config.mk |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
25 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
26 | dist: FORCE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
27 | $(MKDIR) $(dist_dir)/libucx |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
28 | $(COPYALL) CHANGELOG configure COPYING Doxyfile Makefile README \ |
1199
d17a7350f4a7
fix that msvc solution is not included in dist package
Mike Becker <universe@uap-core.de>
parents:
1197
diff
changeset
|
29 | uaplogo.png make msvc src tests $(dist_dir)/libucx/ |
1197
6dadac4864dc
revert naming convention for the dist package
Mike Becker <universe@uap-core.de>
parents:
1195
diff
changeset
|
30 | @cd $(dist_dir) && tar -czf ucx-$(VERSION).tar.gz -Hustar libucx |
6dadac4864dc
revert naming convention for the dist package
Mike Becker <universe@uap-core.de>
parents:
1195
diff
changeset
|
31 | @echo "[ Dist created: $(dist_dir)/ucx-$(VERSION).tar.gz ]" |
791
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
32 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
33 | clean: FORCE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
34 | $(RMDIR) $(build_dir) |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
35 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
36 | dist-clean: FORCE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
37 | $(RMDIR) $(dist_dir) |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
38 | $(RMDIR) $(build_dir) |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
39 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
40 | compile: static shared |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
41 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
42 | $(build_dir): |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
43 | $(MKDIR) $@ |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
44 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
45 | shared: $(build_dir) FORCE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
46 | @cd src && $(MAKE) OBJ_EXT=.shared.o \ |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
47 | CFLAGS="$(CFLAGS) $(SHLIB_CFLAGS)" \ |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
48 | LDFLAGS="$(LDFLAGS) $(SHLIB_LDFLAGS)" \ |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
49 | shared |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
50 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
51 | static: $(build_dir) FORCE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
52 | @cd src && $(MAKE) static |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
53 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
54 | check: test-compile FORCE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
55 | $(RMFILE) $(build_dir)/*.gcda |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
56 | $(RMFILE) $(build_dir)/tests/*.gcda |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
57 | $(build_dir)/tests/ucxtest |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
58 | |
1327
ed75dc1db503
make test-compile depend on both static and shared
Mike Becker <universe@uap-core.de>
parents:
1213
diff
changeset
|
59 | test-compile: compile FORCE |
791
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
60 | cd tests && $(MAKE) |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
61 | |
988
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
62 | check-cxx: CXX-AVAILABLE clean test-compile-cxx FORCE |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
63 | $(build_dir)/tests/ucxtest |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
64 | |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
65 | test-compile-cxx: static FORCE |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
66 | cd tests && $(MAKE) CC=$(CXX) CFLAGS="$(CFLAGS) $(CXXFLAGS)" |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
67 | |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
68 | CXX-AVAILABLE: |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
69 | test -n "$(WITH_CXX_TEST)" |
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
70 | |
1213
19462011b6d5
fix build dir not created when invoking docs target directly
Mike Becker <universe@uap-core.de>
parents:
1199
diff
changeset
|
71 | docs: $(build_dir) FORCE |
1140
88a9ee79c102
start overhauling the entire web documentation
Mike Becker <universe@uap-core.de>
parents:
988
diff
changeset
|
72 | @(test "$(WITH_API_DOCS)" = "yes" && cd $(root_dir); $(DOXYGEN) ) \ |
791
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
73 | || echo "[ Generation of API Docs disabled - skipped ]" |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
74 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
75 | update-rules: FORCE |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
76 | make/update-rules.sh src |
988
15b3ca7ee33f
make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents:
791
diff
changeset
|
77 | make/update-rules.sh tests '$$(TEST_DIR)' '-I../src' |
791
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
78 | |
945ee9bf2dd1
generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
79 | FORCE: |