make/Makefile

changeset 745
aea83a43b09a
parent 742
7e67689241fd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/Makefile	Sun Apr 16 14:08:19 2023 +0200
@@ -0,0 +1,94 @@
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+#
+# Copyright 2018 Olaf Wintermann. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#   1. Redistributions of source code must retain the above copyright
+#      notice, this list of conditions and the following disclaimer.
+#
+#   2. Redistributions in binary form must reproduce the above copyright
+#      notice, this list of conditions and the following disclaimer in the
+#      documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+
+#
+# available configurations:
+#   gcc
+#   clang
+#   suncc
+#   mingw
+#   osx
+#   bsd
+#
+
+CONF=gcc
+PREFIX=/usr
+
+include $(CONF).mk
+include cppcheck.mk
+
+all: build/tool build/ucx build/libidav build/test ucx libidav dav test
+
+build:
+	mkdir -p build
+
+build/tool:
+	mkdir -p build/tool
+
+build/ucx:
+	mkdir -p build/ucx
+
+build/libidav:
+	mkdir -p build/libidav
+
+build/test:
+	mkdir -p build/test
+
+ucx: FORCE
+	cd ucx; $(MAKE) CONF=$(CONF) all
+
+libidav: FORCE
+	cd libidav; $(MAKE) CONF=$(CONF) all
+	
+dav: FORCE libidav ucx
+	cd dav; $(MAKE) CONF=$(CONF) all
+
+test: FORCE dav
+	cd test; $(MAKE) CONF=$(CONF) all
+
+run: FORCE dav
+	./build/dav$(APP_EXT)
+
+clean: FORCE
+	$(RM) $(RMFLAGS) -R build/
+
+install: FORCE
+	@echo "install to $(DESTDIR)$(PREFIX)"
+	./install-sh -d $(DESTDIR)$(PREFIX)/bin
+	./install-sh build/dav $(DESTDIR)$(PREFIX)/bin
+	./install-sh build/dav-sync $(DESTDIR)$(PREFIX)/bin
+
+cppcheck: FORCE build
+	truncate -s0 $(CPPCHECK_LOG)
+	cd libidav; $(MAKE) cppcheck
+	cd dav; $(MAKE) cppcheck
+	@echo "Static code analysis complete. See $(CPPCHECK_LOG) for the results."
+
+FORCE:
+

mercurial