| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #
- # Include makefile for libtomcrypt
- #
- # The version
- VERSION=1.17
- # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
- VERSION_LT=0:117
- PLATFORM := $(shell uname | sed -e 's/_.*//')
- # Compiler and Linker Names
- ifndef PREFIX
- PREFIX:=
- endif
- ifeq ($(CC),cc)
- CC := $(PREFIX)gcc
- endif
- LD:=$(PREFIX)ld
- AR:=$(PREFIX)ar
- # Archiver [makes .a files]
- #AR=ar
- ARFLAGS:=r
- ifndef MAKE
- MAKE:=make
- endif
- # Compilation flags. Note the += does not write over the user's CFLAGS!
- CFLAGS += -I./src/headers/ -Wall -Wsign-compare -Wshadow -DLTC_SOURCE
- ifdef OLD_GCC
- CFLAGS += -W
- # older GCCs can't handle the "rotate with immediate" ROLc/RORc/etc macros
- # define this to help
- CFLAGS += -DLTC_NO_ROLC
- else
- CFLAGS += -Wextra
- # additional warnings
- CFLAGS += -Wsystem-headers -Wbad-function-cast -Wcast-align
- CFLAGS += -Wstrict-prototypes -Wpointer-arith
- CFLAGS += -Wdeclaration-after-statement
- endif
- CFLAGS += -Wno-type-limits
- ifdef LTC_DEBUG
- # compile for DEBUGGING (required for ccmalloc checking!!!)
- ifneq (,$(strip $(LTC_DEBUG)))
- CFLAGS += -g3 -DLTC_NO_ASM -DLTC_TEST_DBG=$(LTC_DEBUG)
- else
- CFLAGS += -g3 -DLTC_NO_ASM -DLTC_TEST_DBG
- endif
- else
- ifdef LTC_SMALL
- # optimize for SIZE
- CFLAGS += -Os -DLTC_SMALL_CODE
- else
- ifndef IGNORE_SPEED
- # optimize for SPEED
- CFLAGS += -O3 -funroll-loops
- # add -fomit-frame-pointer. hinders debugging!
- CFLAGS += -fomit-frame-pointer
- endif
- endif # COMPILE_SMALL
- endif # COMPILE_DEBUG
- ifneq ($(findstring clang,$(CC)),)
- CFLAGS += -Wno-typedef-redefinition -Wno-tautological-compare
- endif
- GIT_VERSION := $(shell [ -e .git ] && { echo -n git- ; git describe --tags --always --dirty ; } || echo $(VERSION))
- ifneq ($(GIT_VERSION),)
- CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
- endif
- #List of demo objects
- DSOURCES = $(wildcard demos/*.c)
- DOBJECTS = $(DSOURCES:.c=.o)
- #List of testprof headers
- THEADERS = $(wildcard testprof/*.h)
- TIMING=timing
- TEST=test
- USEFUL_DEMOS=hashsum
- DEMOS=$(USEFUL_DEMOS) ltcrypt small tv_gen sizes constants
- TIMINGS=demos/timing.o
- TESTS=demos/test.o
- #LIBPATH The directory for libtomcrypt to be installed to.
- #INCPATH The directory to install the header files for libtomcrypt.
- #DATAPATH The directory to install the pdf docs.
- #BINPATH The directory to install the binaries provided.
- DESTDIR ?= /usr/local
- LIBPATH ?= $(DESTDIR)/lib
- INCPATH ?= $(DESTDIR)/include
- DATAPATH ?= $(DESTDIR)/share/doc/libtomcrypt/pdf
- BINPATH ?= $(DESTDIR)/bin
- #Who do we install as?
- ifdef INSTALL_USER
- USER=$(INSTALL_USER)
- else
- USER=root
- endif
- ifdef INSTALL_GROUP
- GROUP=$(INSTALL_GROUP)
- else
- GROUP=wheel
- endif
|