| 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 |
|