-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile.am
62 lines (49 loc) · 2.12 KB
/
Makefile.am
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
## Process this file with automake to produce Makefile.in
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src/libs \
src/bin
format:
astyle --recursive "src/libs/*.c,*h" "src/bin/*.c,*h" --verbose --options="tools-setup/astylerc"
# `cppcheck --help` for more options
cppcheck:
@cppcheck --language=c --std=c11 --enable=all --quiet \
--suppressions-list="$(top_srcdir)/tools-setup/cppcheck.supp" \
$(top_srcdir)/src/libs $(top_srcdir)/src/bin \
--error-exitcode=1
# Global 'memcheck' target
memcheck:
@echo "Start analyzing code with Valgrind..."
# 'html' target
DOXYGEN_DOXYFILE = $(top_srcdir)/tools-setup/Doxyfile
include $(top_srcdir)/m4/doxygen.mk
release: dist
$(AM_V_GEN)sha256sum $(DIST_ARCHIVES) > $(PACKAGE)-$(VERSION).sha256sum
.PHONY:
clean-release:
@rm -fv $(top_srcdir)/c_lang_project-*.sha256sum
@rm -fv $(top_srcdir)/c_lang_project-*.tar.gz
# ______________________________________________________________________________
# Other
sync-submodules:
@git submodule init
@git submodule update
# ______________________________________________________________________________
MAINTAINERCLEANFILES = configure config.in aclocal.m4 \
build-aux/ar-lib build-aux/config.guess build-aux/depcomp \
build-aux/ltmain.sh build-aux/test-driver build-aux/compile \
build-aux/config.sub build-aux/missing build-aux/install-sh \
Makefile.in
help:
@echo
@echo -e "Usage:\n make <target>"
@echo
@echo "(default) all ............. Build project"
@echo " sync-submodules . Update `git` submodules"
@echo " check ........... Run all unit tests"
@echo " cppcheck ........ Statically checks all .c files"
@echo " memcheck ........ Run unit test using Valgirnd to check memory leaks"
@echo " format .......... Format code using `astyle`"
@echo " html ............ Generate API documentation in `Docs/api/html`"
@echo " release ......... Build projcect and create distribution as `tar.gz`"
@echo " clean-release ... Remove release files"
@echo