# # 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 != ls demos/*.c DOBJECTS = ${DSOURCES:.c=.o} #List of testprof headers THEADERS != ls 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