Makefile

Sun, 05 Jul 2020 11:47:24 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 05 Jul 2020 11:47:24 +0200
branch
feature/dav-edit
changeset 721
c401f4af44b1
parent 407
9505224d2fd2
child 742
7e67689241fd
permissions
-rw-r--r--

adds support for option terminator '--'

also adds support for option arguments within the same cmd arg
e.g. -omyoutfile does now work

1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 #
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 #
407
9505224d2fd2 adds documentation for new dav features
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 287
diff changeset
4 # Copyright 2018 Olaf Wintermann. All rights reserved.
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 #
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6 # Redistribution and use in source and binary forms, with or without
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7 # modification, are permitted provided that the following conditions are met:
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 #
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 # 1. Redistributions of source code must retain the above copyright
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10 # notice, this list of conditions and the following disclaimer.
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 #
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12 # 2. Redistributions in binary form must reproduce the above copyright
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 # notice, this list of conditions and the following disclaimer in the
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14 # documentation and/or other materials provided with the distribution.
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 #
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
25 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26 # POSSIBILITY OF SUCH DAMAGE.
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
27 #
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
28
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
29
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
30 #
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
31 # available configurations:
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
32 # gcc
240
220ea6247077 added README, INSTALL and LICENSE files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 239
diff changeset
33 # clang
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
34 # suncc
32
c9d37bb97ea8 mingw support
Mike Becker <universe@uap-core.de>
parents: 5
diff changeset
35 # mingw
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
36 # osx
407
9505224d2fd2 adds documentation for new dav features
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 287
diff changeset
37 # bsd
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
38 #
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
39
5
88625853ae74 new webdav api + repository and key configuration + aes encryption
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 1
diff changeset
40 CONF=gcc
239
56f91e0de57b added install target
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
41 PREFIX=/usr
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
42
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
43 include $(CONF).mk
287
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
44 include cppcheck.mk
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
45
251
7534cb97b9ab adds first libidav tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 242
diff changeset
46 all: build/tool build/ucx build/libidav build/test ucx libidav dav test
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
47
287
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
48 build:
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
49 mkdir -p build
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
50
68
f6d3db6113d3 added verbose option + encryption flag fixes
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
51 build/tool:
5
88625853ae74 new webdav api + repository and key configuration + aes encryption
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 1
diff changeset
52 mkdir -p build/tool
68
f6d3db6113d3 added verbose option + encryption flag fixes
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
53
f6d3db6113d3 added verbose option + encryption flag fixes
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
54 build/ucx:
33
0bbbb0341606 some code cleanup and bug fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 32
diff changeset
55 mkdir -p build/ucx
68
f6d3db6113d3 added verbose option + encryption flag fixes
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
56
f6d3db6113d3 added verbose option + encryption flag fixes
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
57 build/libidav:
33
0bbbb0341606 some code cleanup and bug fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 32
diff changeset
58 mkdir -p build/libidav
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
59
251
7534cb97b9ab adds first libidav tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 242
diff changeset
60 build/test:
7534cb97b9ab adds first libidav tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 242
diff changeset
61 mkdir -p build/test
7534cb97b9ab adds first libidav tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 242
diff changeset
62
33
0bbbb0341606 some code cleanup and bug fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 32
diff changeset
63 ucx: FORCE
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
64 cd ucx; $(MAKE) CONF=$(CONF) all
33
0bbbb0341606 some code cleanup and bug fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 32
diff changeset
65
0bbbb0341606 some code cleanup and bug fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 32
diff changeset
66 libidav: FORCE
0bbbb0341606 some code cleanup and bug fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 32
diff changeset
67 cd libidav; $(MAKE) CONF=$(CONF) all
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
68
33
0bbbb0341606 some code cleanup and bug fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 32
diff changeset
69 dav: FORCE libidav ucx
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
70 cd dav; $(MAKE) CONF=$(CONF) all
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
71
251
7534cb97b9ab adds first libidav tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 242
diff changeset
72 test: FORCE dav
7534cb97b9ab adds first libidav tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 242
diff changeset
73 cd test; $(MAKE) CONF=$(CONF) all
7534cb97b9ab adds first libidav tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 242
diff changeset
74
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
75 run: FORCE dav
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
76 ./build/dav$(APP_EXT)
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
77
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
78 clean: FORCE
33
0bbbb0341606 some code cleanup and bug fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 32
diff changeset
79 $(RM) $(RMFLAGS) -R build/
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
80
242
a39be87d34d4 fixed install target and a missing return statement in libidav
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 240
diff changeset
81 install: FORCE
259
6c8d5f8a1d6f fixes make install
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 251
diff changeset
82 @echo "install to $(DESTDIR)$(PREFIX)"
6c8d5f8a1d6f fixes make install
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 251
diff changeset
83 ./install-sh -d $(DESTDIR)$(PREFIX)/bin
6c8d5f8a1d6f fixes make install
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 251
diff changeset
84 ./install-sh build/dav $(DESTDIR)$(PREFIX)/bin
6c8d5f8a1d6f fixes make install
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 251
diff changeset
85 ./install-sh build/dav-sync $(DESTDIR)$(PREFIX)/bin
239
56f91e0de57b added install target
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
86
287
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
87 cppcheck: FORCE build
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
88 truncate -s0 $(CPPCHECK_LOG)
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
89 cd libidav; $(MAKE) cppcheck
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
90 cd dav; $(MAKE) cppcheck
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
91 @echo "Static code analysis complete. See $(CPPCHECK_LOG) for the results."
99bcd7915a0d adds cppcheck make target
Mike Becker <universe@uap-core.de>
parents: 259
diff changeset
92
1
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
93 FORCE:
1bcaac272cdf added existing source code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
94

mercurial