Makefile

Thu, 09 Feb 2012 15:56:18 +0100

author
Mike Becker <universe@uap-core.de>
date
Thu, 09 Feb 2012 15:56:18 +0100
changeset 30
d642fdb6745e
parent 28
72a98cbcb9f1
child 32
51d6e45a7592
permissions
-rw-r--r--

allow parallel use of -s and -S

28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
1 #
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
3 #
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
4 # Copyright 2011 Mike Becker. All rights reserved.
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
5 #
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
6 # Redistribution and use in source and binary forms, with or without
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
7 # modification, are permitted provided that the following conditions are met:
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
8 #
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
9 # 1. Redistributions of source code must retain the above copyright
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
10 # notice, this list of conditions and the following disclaimer.
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
11 #
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
12 # 2. Redistributions in binary form must reproduce the above copyright
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
13 # notice, this list of conditions and the following disclaimer in the
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
14 # documentation and/or other materials provided with the distribution.
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
15 #
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
17 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
19 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
20 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
21 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
22 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
23 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
24 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
25 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
26 #
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
27 # available configurations:
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
28 # gcc (default) (will use libc regex implicitly)
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
29 # mingw (will use libregex as static lib)
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
30 #
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
31 # debug configurations:
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
32 # gcc-debug
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
33 # mingw-debug
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
34 #
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
35
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
36 #ifndef CONF
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
37 CONF = gcc
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
38 #endif
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
39
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
40 include ${CONF}.mk
14
ee9333c91dda some minor fixes + makefile now injects revisionnumber into cline.h
Mike Becker <universe@uap-core.de>
parents: 13
diff changeset
41
16
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
42 .PHONY: setup run-compile teardown
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
43
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
44 all: setup run-compile teardown
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
45
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
46
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
47 run-compile:
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
48 -${MAKE} compile
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
49
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
50 compile: ${OBJ}
28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
51 ${LD} -o ${BIN} ${OBJ} ${LDFLAGS}
0
518bfd1cc1e8 cline project init
Mike Becker <universe@uap-core.de>
parents:
diff changeset
52
16
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
53 setup:
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
54 mkdir -p ${BUILDDIR}
28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
55 rm -f ${BUILDDIR}cline.o
14
ee9333c91dda some minor fixes + makefile now injects revisionnumber into cline.h
Mike Becker <universe@uap-core.de>
parents: 13
diff changeset
56 mv cline.h cline.src
16
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
57 cat cline.src | sed "s/VERSION.*/VERSION=\"$(shell hg identify -n) ($(shell hg identify -i))\";/g" > cline.h
14
ee9333c91dda some minor fixes + makefile now injects revisionnumber into cline.h
Mike Becker <universe@uap-core.de>
parents: 13
diff changeset
58
16
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
59 teardown:
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
60 rm -f cline.h
14
ee9333c91dda some minor fixes + makefile now injects revisionnumber into cline.h
Mike Becker <universe@uap-core.de>
parents: 13
diff changeset
61 mv cline.src cline.h
1
34a5e235d16e cline version 2
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
62
13
51b1ba3776b1 changed makefile to auto-include any source file
Mike Becker <universe@uap-core.de>
parents: 10
diff changeset
63 ${BUILDDIR}%.o: %.c
28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
64 ${CC} ${CFLAGS} -c -o ${BUILDDIR}$*.o $<
3
510d6b198dde Moved some functions to functions.c
Mike Becker <universe@uap-core.de>
parents: 1
diff changeset
65
510d6b198dde Moved some functions to functions.c
Mike Becker <universe@uap-core.de>
parents: 1
diff changeset
66 clean:
28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
67 rm -f ${BUILDDIR}*.o
16
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
68

mercurial