Makefile

Fri, 16 Dec 2016 23:04:48 +0100

author
Mike Becker <universe@uap-core.de>
date
Fri, 16 Dec 2016 23:04:48 +0100
changeset 45
6114a2c28d28
parent 44
9574a181ec26
permissions
-rw-r--r--

make install supports DESTDIR variable

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 #
36
a7ff583e153f updated copyright year + added make install + removed project files
Mike Becker <universe@uap-core.de>
parents: 35
diff changeset
4 # Copyright 2013 Mike Becker. All rights reserved.
28
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
35
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
40 SRCDIR=src
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
41 BUILDDIR=build
36
a7ff583e153f updated copyright year + added make install + removed project files
Mike Becker <universe@uap-core.de>
parents: 35
diff changeset
42 PREFIX=/usr
44
9574a181ec26 line sum per directory now displayed + directories without matching files are no longer displayed when -m is used + new buffering strategy replaces stream hack when -V is used
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
43 OBJ = arguments.o bfile_heuristics.o cline.o regex_parser.o scanner.o settings.o string_list.o suffix_fnc.o
35
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
44 BIN = $(BUILDDIR)/cline
14
ee9333c91dda some minor fixes + makefile now injects revisionnumber into cline.h
Mike Becker <universe@uap-core.de>
parents: 13
diff changeset
45
35
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
46 include $(CONF).mk
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
47
36
a7ff583e153f updated copyright year + added make install + removed project files
Mike Becker <universe@uap-core.de>
parents: 35
diff changeset
48 all: $(BUILDDIR) $(BIN)
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
49
36
a7ff583e153f updated copyright year + added make install + removed project files
Mike Becker <universe@uap-core.de>
parents: 35
diff changeset
50 install: $(BIN)
45
6114a2c28d28 make install supports DESTDIR variable
Mike Becker <universe@uap-core.de>
parents: 44
diff changeset
51 cp $(BIN) $(DESTDIR)$(PREFIX)/bin
36
a7ff583e153f updated copyright year + added make install + removed project files
Mike Becker <universe@uap-core.de>
parents: 35
diff changeset
52
a7ff583e153f updated copyright year + added make install + removed project files
Mike Becker <universe@uap-core.de>
parents: 35
diff changeset
53 $(BIN): $(OBJ:%=$(BUILDDIR)/%)
35
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
54 $(LD) -o $(BIN) $^ $(LDFLAGS)
34
fa9bda32de17 moved src files to src subdirectory and added licence text
Mike Becker <universe@uap-core.de>
parents: 32
diff changeset
55
35
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
56 $(BUILDDIR):
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
57 mkdir $(BUILDDIR)
1
34a5e235d16e cline version 2
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
58
35
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
59 $(BUILDDIR)/%.o: $(SRCDIR)/%.c
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
60 $(CC) $(CFLAGS) -c -o $@ $<
3
510d6b198dde Moved some functions to functions.c
Mike Becker <universe@uap-core.de>
parents: 1
diff changeset
61
510d6b198dde Moved some functions to functions.c
Mike Becker <universe@uap-core.de>
parents: 1
diff changeset
62 clean:
35
35120de6ee53 simplified makefile
Mike Becker <universe@uap-core.de>
parents: 34
diff changeset
63 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
64

mercurial