1 # |
|
2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
|
3 # |
|
4 # Copyright 2017 Olaf Wintermann. All rights reserved. |
|
5 # |
|
6 # Redistribution and use in source and binary forms, with or without |
|
7 # modification, are permitted provided that the following conditions are met: |
|
8 # |
|
9 # 1. Redistributions of source code must retain the above copyright |
|
10 # notice, this list of conditions and the following disclaimer. |
|
11 # |
|
12 # 2. Redistributions in binary form must reproduce the above copyright |
|
13 # notice, this list of conditions and the following disclaimer in the |
|
14 # documentation and/or other materials provided with the distribution. |
|
15 # |
|
16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|
17 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
19 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
|
20 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
|
21 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
|
22 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
23 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
24 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
|
25 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
|
26 # POSSIBILITY OF SUCH DAMAGE. |
|
27 # |
|
28 |
|
29 |
|
30 # |
|
31 # available configurations: |
|
32 # clang |
|
33 # gcc |
|
34 # mingw |
|
35 # osx |
|
36 # suncc |
|
37 # |
|
38 |
|
39 CONF=gcc |
|
40 PREFIX=/usr/local |
|
41 |
|
42 include $(CONF).mk |
|
43 include cppcheck.mk |
|
44 |
|
45 all: ucx test |
|
46 |
|
47 ucx: FORCE |
|
48 cd src; $(MAKE) CONF=$(CONF) |
|
49 |
|
50 ucx-debug: FORCE |
|
51 cd src; $(MAKE) CONF=$(CONF) debug |
|
52 |
|
53 test: ucx FORCE |
|
54 cd test; $(MAKE) CONF=$(CONF) |
|
55 |
|
56 test-debug: ucx-debug FORCE |
|
57 cd test; $(MAKE) CONF=$(CONF) debug |
|
58 |
|
59 run: test |
|
60 ./build/release/test/ucxtest$(APP_EXT) |
|
61 |
|
62 run-debug: test-debug |
|
63 ./build/debug/test/ucxtest$(APP_EXT) |
|
64 |
|
65 debug: ucx-debug test-debug |
|
66 |
|
67 install: ucx $(DESTDIR)$(PREFIX)/lib $(DESTDIR)$(PREFIX)/include/ucx |
|
68 cp ./build/release/libucx$(LIB_EXT) $(DESTDIR)$(PREFIX)/lib && \ |
|
69 cp ./build/release/libucx$(SO_EXT) $(DESTDIR)$(PREFIX)/lib && \ |
|
70 cp ./src/ucx/*.h $(DESTDIR)$(PREFIX)/include/ucx |
|
71 |
|
72 uninstall: |
|
73 $(RM) $(RMFLAGS) $(DESTDIR)$(PREFIX)/include/ucx &&\ |
|
74 $(RM) $(RMFLAGS) $(DESTDIR)$(PREFIX)/lib/libucx$(LIB_EXT) &&\ |
|
75 $(RM) $(RMFLAGS) $(DESTDIR)$(PREFIX)/lib/libucx$(SO_EXT) |
|
76 |
|
77 $(DESTDIR)$(PREFIX)/lib: |
|
78 mkdir -p $@ |
|
79 |
|
80 $(DESTDIR)$(PREFIX)/include/ucx: |
|
81 mkdir -p $@ |
|
82 |
|
83 clean: FORCE |
|
84 $(RM) $(RMFLAGS) build |
|
85 |
|
86 build: |
|
87 mkdir -p build |
|
88 |
|
89 cppcheck: FORCE build |
|
90 truncate -s0 $(CPPCHECK_LOG) |
|
91 cd ucx; $(MAKE) CONF=$(CONF) cppcheck |
|
92 @echo "Static code analysis complete. See $(CPPCHECK_LOG) for the results." |
|
93 |
|
94 FORCE: |
|
95 |
|