Fri, 28 Dec 2012 15:44:28 +0100
moved src files to src subdirectory and added licence text
1 #
2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3 #
4 # Copyright 2011 Mike Becker. 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 ARE
19 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 #
27 # available configurations:
28 # gcc (default) (will use libc regex implicitly)
29 # mingw (will use libregex as static lib)
30 #
31 # debug configurations:
32 # gcc-debug
33 # mingw-debug
34 #
36 #ifndef CONF
37 CONF = gcc
38 #endif
40 VERSION_PREFIX=1.0.
41 SRCDIR=src/
42 BUILDDIR=build/
43 OBJ = $(shell ls ${SRCDIR} | grep '\.c' | sed 's/^\([^.]*\)\.c$$/${BUILDDIR:/=\/}\1.o/g' | tr '\n' ' ')
44 BIN = ${BUILDDIR}cline
46 include ${CONF}.mk
48 .PHONY: setup run-compile teardown
50 all: setup run-compile teardown
53 run-compile:
54 -${MAKE} compile
56 compile: ${OBJ}
57 ${LD} -o ${BIN} ${OBJ} ${LDFLAGS}
59 setup: ${BUILDDIR}
60 rm -f ${BUILDDIR}cline.o
61 mv ${SRCDIR}cline.h ${SRCDIR}cline.src
62 cat ${SRCDIR}cline.src | sed "s/VERSION.*/VERSION=\"${VERSION_PREFIX}$(shell hg identify -n) ($(shell hg identify -i))\";/g" > ${SRCDIR}cline.h
64 ${BUILDDIR}:
65 mkdir ${BUILDDIR}
67 teardown:
68 rm -f ${SRCDIR}cline.h
69 mv ${SRCDIR}cline.src ${SRCDIR}cline.h
71 ${BUILDDIR}%.o: ${SRCDIR}%.c
72 ${CC} ${CFLAGS} -c -o ${BUILDDIR}$*.o $<
74 clean:
75 rm -f ${BUILDDIR}*.o