Makefile

Sun, 22 Dec 2024 22:10:04 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 22 Dec 2024 22:10:04 +0100
changeset 1047
40aad3f0bc9e
parent 988
15b3ca7ee33f
permissions
-rw-r--r--

don't trust that size_t always has word width

it should be the case on all platforms supported by UCX, but it's not strictly defined in POSIX that it must be the case

753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 # Copyright 2023 Mike Becker. All rights reserved.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2 #
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3 # Redistribution and use in source and binary forms, with or without
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
4 # modification, are permitted provided that the following conditions are met:
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5 #
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 # 1. Redistributions of source code must retain the above copyright
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 # notice, this list of conditions and the following disclaimer.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 #
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 # 2. Redistributions in binary form must reproduce the above copyright
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 # notice, this list of conditions and the following disclaimer in the
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 # documentation and/or other materials provided with the distribution.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 #
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23
779
e9611e4d0213 revert the insanely stupid idea to automatically run the test program on default build
Mike Becker <universe@uap-core.de>
parents: 774
diff changeset
24 all: compile test-compile FORCE
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
26 install: config.mk FORCE
754
4bc7d966c9db add an uwproj based install target
Mike Becker <universe@uap-core.de>
parents: 753
diff changeset
27 @cd src && $(MAKE) install
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
28
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
29 dist: config.mk FORCE
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
30 $(MAKE) -f make/makefile.mk dist
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
31
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
32 clean: config.mk FORCE
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
33 $(MAKE) -f make/makefile.mk clean
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
34
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
35 dist-clean: config.mk FORCE
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
36 $(MAKE) -f make/makefile.mk dist-clean
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
37
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
38 compile: config.mk FORCE
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
39 $(MAKE) -f make/makefile.mk compile
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
40
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
41 test-compile: config.mk FORCE
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
42 $(MAKE) -f make/makefile.mk test-compile
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
43
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
44 check: config.mk FORCE
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
45 $(MAKE) -f make/makefile.mk check
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
46
988
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 791
diff changeset
47 check-cxx: config.mk FORCE
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 791
diff changeset
48 $(MAKE) -f make/makefile.mk check-cxx
15b3ca7ee33f make ucx C++ compatible again (and add tests for it) - fixes #486
Mike Becker <universe@uap-core.de>
parents: 791
diff changeset
49
774
4fd4e0c6107a add make target to automatically gather coverage info
Mike Becker <universe@uap-core.de>
parents: 769
diff changeset
50 check-coverage: FORCE
4fd4e0c6107a add make target to automatically gather coverage info
Mike Becker <universe@uap-core.de>
parents: 769
diff changeset
51 $(MAKE) -s check
4fd4e0c6107a add make target to automatically gather coverage info
Mike Becker <universe@uap-core.de>
parents: 769
diff changeset
52 @cd src && $(MAKE) check-coverage
4fd4e0c6107a add make target to automatically gather coverage info
Mike Becker <universe@uap-core.de>
parents: 769
diff changeset
53
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
54 docs: config.mk FORCE
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
55 $(MAKE) -f make/makefile.mk docs
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
56
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
57 update-rules: config.mk FORCE
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
58 $(MAKE) -f make/makefile.mk update-rules
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
59
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
60 config.mk:
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
61 ./configure --release
755
255ee4abf2ec add update-rules script
Mike Becker <universe@uap-core.de>
parents: 754
diff changeset
62
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
63 FORCE:

mercurial