Mercurial > dropbear
comparison libtommath/makefile.include @ 1436:60fc6476e044
Update to libtommath v1.0
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sat, 24 Jun 2017 22:37:14 +0800 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1435:f849a5ca2efc | 1436:60fc6476e044 |
---|---|
1 # | |
2 # Include makefile for libtommath | |
3 # | |
4 | |
5 #version of library | |
6 VERSION=1.0 | |
7 VERSION_SO=1:0 | |
8 | |
9 # default make target | |
10 default: ${LIBNAME} | |
11 | |
12 # Compiler and Linker Names | |
13 ifndef PREFIX | |
14 PREFIX= | |
15 endif | |
16 | |
17 ifeq ($(CC),cc) | |
18 CC = $(PREFIX)gcc | |
19 endif | |
20 LD=$(PREFIX)ld | |
21 AR=$(PREFIX)ar | |
22 RANLIB=$(PREFIX)ranlib | |
23 | |
24 ifndef MAKE | |
25 MAKE=make | |
26 endif | |
27 | |
28 CFLAGS += -I./ -Wall -Wsign-compare -Wextra -Wshadow | |
29 | |
30 ifndef NO_ADDTL_WARNINGS | |
31 # additional warnings | |
32 CFLAGS += -Wsystem-headers -Wdeclaration-after-statement -Wbad-function-cast -Wcast-align | |
33 CFLAGS += -Wstrict-prototypes -Wpointer-arith | |
34 endif | |
35 | |
36 ifdef COMPILE_DEBUG | |
37 #debug | |
38 CFLAGS += -g3 | |
39 else | |
40 | |
41 ifdef COMPILE_SIZE | |
42 #for size | |
43 CFLAGS += -Os | |
44 else | |
45 | |
46 ifndef IGNORE_SPEED | |
47 #for speed | |
48 CFLAGS += -O3 -funroll-loops | |
49 | |
50 #x86 optimizations [should be valid for any GCC install though] | |
51 CFLAGS += -fomit-frame-pointer | |
52 endif | |
53 | |
54 endif # COMPILE_SIZE | |
55 endif # COMPILE_DEBUG | |
56 | |
57 # adjust coverage set | |
58 ifneq ($(filter $(shell arch), i386 i686 x86_64 amd64 ia64),) | |
59 COVERAGE = test_standalone timing | |
60 COVERAGE_APP = ./test && ./ltmtest | |
61 else | |
62 COVERAGE = test_standalone | |
63 COVERAGE_APP = ./test | |
64 endif | |
65 | |
66 HEADERS_PUB=tommath.h tommath_class.h tommath_superclass.h | |
67 HEADERS=tommath_private.h $(HEADERS_PUB) | |
68 | |
69 test_standalone: CFLAGS+=-DLTM_DEMO_TEST_VS_MTEST=0 | |
70 | |
71 #LIBPATH-The directory for libtommath to be installed to. | |
72 #INCPATH-The directory to install the header files for libtommath. | |
73 #DATAPATH-The directory to install the pdf docs. | |
74 LIBPATH?=/usr/lib | |
75 INCPATH?=/usr/include | |
76 DATAPATH?=/usr/share/doc/libtommath/pdf | |
77 | |
78 #make the code coverage of the library | |
79 # | |
80 coverage: CFLAGS += -fprofile-arcs -ftest-coverage -DTIMING_NO_LOGS | |
81 coverage: LFLAGS += -lgcov | |
82 coverage: LDFLAGS += -lgcov | |
83 | |
84 coverage: $(COVERAGE) | |
85 $(COVERAGE_APP) | |
86 | |
87 lcov: coverage | |
88 rm -f coverage.info | |
89 lcov --capture --no-external --no-recursion $(LCOV_ARGS) --output-file coverage.info -q | |
90 genhtml coverage.info --output-directory coverage -q | |
91 | |
92 # target that removes all coverage output | |
93 cleancov-clean: | |
94 rm -f `find . -type f -name "*.info" | xargs` | |
95 rm -rf coverage/ | |
96 | |
97 # cleans everything - coverage output and standard 'clean' | |
98 cleancov: cleancov-clean clean | |
99 | |
100 clean: | |
101 rm -f *.gcda *.gcno *.bat *.o *.a *.obj *.lib *.exe *.dll etclib/*.o demo/demo.o test ltmtest mpitest mtest/mtest mtest/mtest.exe \ | |
102 *.idx *.toc *.log *.aux *.dvi *.lof *.ind *.ilg *.ps *.log *.s mpi.c *.da *.dyn *.dpi tommath.tex `find . -type f | grep [~] | xargs` *.lo *.la | |
103 rm -rf .libs/ | |
104 cd etc ; MAKE=${MAKE} ${MAKE} clean | |
105 cd pics ; MAKE=${MAKE} ${MAKE} clean |