Makefile

Tue, 08 Oct 2024 19:52:09 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 08 Oct 2024 19:52:09 +0200
changeset 922
eabfbe9e2952
parent 791
945ee9bf2dd1
child 988
15b3ca7ee33f
permissions
-rw-r--r--

also report coverage for header files

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
774
4fd4e0c6107a add make target to automatically gather coverage info
Mike Becker <universe@uap-core.de>
parents: 769
diff changeset
47 check-coverage: FORCE
4fd4e0c6107a add make target to automatically gather coverage info
Mike Becker <universe@uap-core.de>
parents: 769
diff changeset
48 $(MAKE) -s check
4fd4e0c6107a add make target to automatically gather coverage info
Mike Becker <universe@uap-core.de>
parents: 769
diff changeset
49 @cd src && $(MAKE) check-coverage
4fd4e0c6107a add make target to automatically gather coverage info
Mike Becker <universe@uap-core.de>
parents: 769
diff changeset
50
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
51 docs: config.mk FORCE
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
52 $(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
53
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
54 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
55 $(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
56
791
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
57 config.mk:
945ee9bf2dd1 generate (release) config.mk if none exists - fixes #350
Mike Becker <universe@uap-core.de>
parents: 783
diff changeset
58 ./configure --release
755
255ee4abf2ec add update-rules script
Mike Becker <universe@uap-core.de>
parents: 754
diff changeset
59
753
24dc84788dee replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff changeset
60 FORCE:

mercurial