Makefile

Fri, 28 Dec 2012 15:44:28 +0100

author
Mike Becker <universe@uap-core.de>
date
Fri, 28 Dec 2012 15:44:28 +0100
changeset 34
fa9bda32de17
parent 32
51d6e45a7592
child 35
35120de6ee53
permissions
-rw-r--r--

moved src files to src subdirectory and added licence text

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
32
51d6e45a7592 changed version output slightly
Mike Becker <universe@uap-core.de>
parents: 28
diff changeset
40 VERSION_PREFIX=1.0.
34
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
41 SRCDIR=src/
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
42 BUILDDIR=build/
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
43 OBJ = $(shell ls ${SRCDIR} | grep '\.c' | sed 's/^\([^.]*\)\.c$$/${BUILDDIR:/=\/}\1.o/g' | tr '\n' ' ')
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
44 BIN = ${BUILDDIR}cline
32
51d6e45a7592 changed version output slightly
Mike Becker <universe@uap-core.de>
parents: 28
diff changeset
45
28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
46 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
47
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
48 .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
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 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
51
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
52
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 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
54 -${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
55
bc9a0fefd892 fixed makefile to run safely on compile errors + added -V option to cline
Mike Becker <universe@uap-core.de>
parents: 14
diff changeset
56 compile: ${OBJ}
28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
57 ${LD} -o ${BIN} ${OBJ} ${LDFLAGS}
0
518bfd1cc1e8 cline project init
Mike Becker <universe@uap-core.de>
parents:
diff changeset
58
34
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
59 setup: ${BUILDDIR}
28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
60 rm -f ${BUILDDIR}cline.o
34
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
61 mv ${SRCDIR}cline.h ${SRCDIR}cline.src
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
62 cat ${SRCDIR}cline.src | sed "s/VERSION.*/VERSION=\"${VERSION_PREFIX}$(shell hg identify -n) ($(shell hg identify -i))\";/g" > ${SRCDIR}cline.h
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
63
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
64 ${BUILDDIR}:
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
65 mkdir ${BUILDDIR}
14
ee9333c91dda some minor fixes + makefile now injects revisionnumber into cline.h
Mike Becker <universe@uap-core.de>
parents: 13
diff changeset
66
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
67 teardown:
34
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
68 rm -f ${SRCDIR}cline.h
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
69 mv ${SRCDIR}cline.src ${SRCDIR}cline.h
1
34a5e235d16e cline version 2
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
70
34
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
71 ${BUILDDIR}%.o: ${SRCDIR}%.c
28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
72 ${CC} ${CFLAGS} -c -o ${BUILDDIR}$*.o $<
3
510d6b198dde Moved some functions to functions.c
Mike Becker <universe@uap-core.de>
parents: 1
diff changeset
73
510d6b198dde Moved some functions to functions.c
Mike Becker <universe@uap-core.de>
parents: 1
diff changeset
74 clean:
28
72a98cbcb9f1 added regex parser
Mike Becker <universe@uap-core.de>
parents: 23
diff changeset
75 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
76

mercurial