704055810f
when building packages (e.g. for openSUSE Linux) (random) filesystem order of input files influences ordering of functions in the output, thus without the patch, builds (in disposable VMs) would differ. See https://reproducible-builds.org/ for why this matters.
74 lines
2.2 KiB
Plaintext
74 lines
2.2 KiB
Plaintext
# MAKEFILE for linux GCC
|
|
#
|
|
# This makefile produces a shared object and requires libtool to be installed.
|
|
#
|
|
# Thanks to Zed Shaw for helping debug this on BSD/OSX.
|
|
# Tom St Denis
|
|
#
|
|
# (GNU make only)
|
|
|
|
ifndef LT
|
|
ifeq ($(PLATFORM), Darwin)
|
|
LT:=glibtool
|
|
else
|
|
LT:=libtool
|
|
endif
|
|
endif
|
|
LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC)
|
|
INSTALL_CMD = $(LT) --mode=install install
|
|
|
|
#Output filenames for various targets.
|
|
ifndef LIBTEST
|
|
LIBTEST=libtomcrypt_prof.la
|
|
endif
|
|
ifndef LIBNAME
|
|
LIBNAME=libtomcrypt.la
|
|
endif
|
|
|
|
|
|
include makefile_include.mk
|
|
|
|
|
|
#ciphers come in two flavours... enc+dec and enc
|
|
src/ciphers/aes/aes_enc.o: src/ciphers/aes/aes.c src/ciphers/aes/aes_tab.c
|
|
$(LTCOMPILE) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DENCRYPT_ONLY -c src/ciphers/aes/aes.c -o src/ciphers/aes/aes_enc.o
|
|
|
|
.c.o:
|
|
$(LTCOMPILE) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ -c $<
|
|
|
|
$(LIBNAME): $(OBJECTS)
|
|
$(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) `find ./src -type f -name "*.lo" | LC_ALL=C sort` $(EXTRALIBS) -o $@ -rpath $(LIBPATH) -version-info $(VERSION_LT)
|
|
|
|
$(LIBTEST): $(TOBJECTS)
|
|
$(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) `find ./testprof -type f -name "*.lo" | LC_ALL=C sort` -o $@ -rpath $(LIBPATH) -version-info $(VERSION_LT)
|
|
|
|
install: .common_install
|
|
sed -e 's,^prefix=.*,prefix=$(DESTDIR),' -e 's,^Version:.*,Version: $(VERSION),' libtomcrypt.pc.in > libtomcrypt.pc
|
|
install -d $(LIBPATH)/pkgconfig
|
|
install -m 644 libtomcrypt.pc $(LIBPATH)/pkgconfig/
|
|
|
|
install_bins: .common_install_bins
|
|
|
|
install_test: .common_install_test
|
|
|
|
test: $(LIBNAME) $(LIBTEST) $(TESTS)
|
|
$(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TEST) $(TESTS) $(LIBTEST) $(LIBNAME) $(EXTRALIBS)
|
|
|
|
timing: $(LIBNAME) $(LIBTEST) $(TIMINGS)
|
|
$(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TIMING) $(TIMINGS) $(LIBTEST) $(LIBNAME) $(EXTRALIBS)
|
|
|
|
# build the demos from a template
|
|
define DEMO_template
|
|
$(1): demos/$(1).o $$(LIBNAME)
|
|
ifneq ($V,1)
|
|
@echo " * $${CC} $$@"
|
|
endif
|
|
$$(LT) --mode=link --tag=CC $$(CC) $$(CFLAGS) $$(CPPFLAGS) $$(LDFLAGS) $$^ $$(EXTRALIBS) -o $(1)
|
|
endef
|
|
|
|
$(foreach demo, $(strip $(DEMOS)), $(eval $(call DEMO_template,$(demo))))
|
|
|
|
# $Source$
|
|
# $Revision$
|
|
# $Date$
|