olaf@0: # olaf@0: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. olaf@0: # universe@250: # Copyright 2017 Olaf Wintermann. All rights reserved. olaf@0: # olaf@0: # Redistribution and use in source and binary forms, with or without olaf@0: # modification, are permitted provided that the following conditions are met: olaf@0: # olaf@0: # 1. Redistributions of source code must retain the above copyright olaf@0: # notice, this list of conditions and the following disclaimer. olaf@0: # olaf@0: # 2. Redistributions in binary form must reproduce the above copyright olaf@0: # notice, this list of conditions and the following disclaimer in the olaf@0: # documentation and/or other materials provided with the distribution. olaf@0: # olaf@0: # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" olaf@0: # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE olaf@0: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE olaf@0: # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE olaf@0: # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR olaf@0: # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF olaf@0: # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS olaf@0: # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN olaf@0: # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) olaf@0: # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE olaf@0: # POSSIBILITY OF SUCH DAMAGE. olaf@0: # olaf@0: olaf@0: olaf@0: # olaf@0: # available configurations: universe@155: # clang universe@155: # gcc universe@157: # mingw universe@155: # osx universe@155: # suncc olaf@0: # olaf@0: universe@152: CONF=gcc universe@152: PREFIX=/usr/local olaf@0: olaf@0: include $(CONF).mk universe@246: include cppcheck.mk olaf@0: olaf@154: all: ucx test olaf@154: olaf@0: ucx: FORCE universe@251: cd src; $(MAKE) CONF=$(CONF) universe@155: universe@155: ucx-debug: FORCE universe@251: cd src; $(MAKE) CONF=$(CONF) debug olaf@0: universe@228: test: ucx FORCE universe@155: cd test; $(MAKE) CONF=$(CONF) universe@155: universe@228: test-debug: ucx-debug FORCE universe@155: cd test; $(MAKE) CONF=$(CONF) debug olaf@0: universe@213: run: test universe@155: ./build/release/test/ucxtest$(APP_EXT) universe@155: universe@213: run-debug: test-debug universe@155: ./build/debug/test/ucxtest$(APP_EXT) universe@155: universe@155: debug: ucx-debug test-debug olaf@0: universe@230: install: ucx $(DESTDIR)$(PREFIX)/lib $(DESTDIR)$(PREFIX)/include/ucx universe@230: cp ./build/release/libucx$(LIB_EXT) $(DESTDIR)$(PREFIX)/lib && \ universe@230: cp ./build/release/libucx$(SO_EXT) $(DESTDIR)$(PREFIX)/lib && \ universe@251: cp ./src/ucx/*.h $(DESTDIR)$(PREFIX)/include/ucx universe@152: universe@152: uninstall: universe@230: $(RM) $(RMFLAGS) $(DESTDIR)$(PREFIX)/include/ucx &&\ universe@230: $(RM) $(RMFLAGS) $(DESTDIR)$(PREFIX)/lib/libucx$(LIB_EXT) &&\ universe@230: $(RM) $(RMFLAGS) $(DESTDIR)$(PREFIX)/lib/libucx$(SO_EXT) universe@152: universe@230: $(DESTDIR)$(PREFIX)/lib: universe@230: mkdir -p $@ universe@152: universe@230: $(DESTDIR)$(PREFIX)/include/ucx: universe@230: mkdir -p $@ universe@152: olaf@0: clean: FORCE universe@152: $(RM) $(RMFLAGS) build universe@246: universe@246: build: universe@246: mkdir -p build universe@246: universe@246: cppcheck: FORCE build universe@246: truncate -s0 $(CPPCHECK_LOG) universe@246: cd ucx; $(MAKE) CONF=$(CONF) cppcheck universe@246: @echo "Static code analysis complete. See $(CPPCHECK_LOG) for the results." olaf@0: olaf@0: FORCE: olaf@0: