Makefile

Mon, 09 Sep 2013 11:54:32 +0200

author
Mike Becker <universe@uap-core.de>
date
Mon, 09 Sep 2013 11:54:32 +0200
changeset 156
6a4bd1f4c57e
parent 155
45395ba5ed30
child 157
ae7cc5716f38
permissions
-rw-r--r--

removed unnecessary configurations + added build command for shared lib

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

mercurial