125 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			2.5 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./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
 |