tomcrypt/makefile.include
2017-05-11 23:04:37 +02:00

118 lines
2.4 KiB
Plaintext

#
# 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./testprof/ -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
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