1EXTRA_DIST = autogen.sh Makefile.unx make.inc Makefile.nmake isa-l_crypto.def LICENSE README.md Doxyfile 2CLEANFILES = 3LDADD = 4AM_MAKEFLAGS = --no-print-directory 5noinst_HEADERS = 6pkginclude_HEADERS = include/test.h include/types.h include/endian_helper.h 7noinst_LTLIBRARIES = 8INCLUDE = -I $(srcdir)/include/ 9 10pkgconfigdir = $(libdir)/pkgconfig 11pkgconfig_DATA = libisal_crypto.pc 12EXTRA_DIST += libisal_crypto.pc.in 13CLEANFILES += libisal_crypto.pc 14 15lsrc= 16src_include= 17extern_hdrs= 18other_src= 19check_tests= 20unit_tests= 21perf_tests= 22unit_tests_extra= 23perf_tests_extra= 24examples= 25other_tests= 26lsrc32= 27lsrc_x86_64= 28lsrc_x86_32= 29lsrc_aarch64= 30lsrc_base_aliases= 31unit_tests32= 32perf_tests32= 33 34# Include units 35include sha1_mb/Makefile.am 36include mh_sha1/Makefile.am 37include md5_mb/Makefile.am 38include sha256_mb/Makefile.am 39include sha512_mb/Makefile.am 40include mh_sha1_murmur3_x64_128/Makefile.am 41include mh_sha256/Makefile.am 42include rolling_hash/Makefile.am 43include sm3_mb/Makefile.am 44include misc/Makefile.am 45if CPU_X86_64 46include aes/Makefile.am 47endif 48if CPU_X86_32 49include aes/Makefile.am 50endif 51if CPU_AARCH64 52include aes/Makefile.am 53endif 54include fips/Makefile.am 55 56# LIB version info not necessarily the same as package version 57LIBISAL_CURRENT=2 58LIBISAL_REVISION=25 59LIBISAL_AGE=0 60 61lib_LTLIBRARIES = libisal_crypto.la 62pkginclude_HEADERS += $(sort ${extern_hdrs}) 63libisal_crypto_la_SOURCES = ${lsrc} 64if CPU_X86_64 65libisal_crypto_la_SOURCES += ${lsrc_x86_64} 66endif 67 68if CPU_X86_32 69libisal_crypto_la_SOURCES += ${lsrc_x86_32} 70endif 71 72if CPU_AARCH64 73libisal_crypto_la_SOURCES += ${lsrc_aarch64} 74endif 75 76if CPU_UNDEFINED 77libisal_crypto_la_SOURCES += ${lsrc_base_aliases} 78endif 79 80nobase_include_HEADERS = isa-l_crypto.h 81libisal_crypto_la_LDFLAGS = $(AM_LDFLAGS) \ 82 -version-info $(LIBISAL_CURRENT):$(LIBISAL_REVISION):$(LIBISAL_AGE) 83libisal_crypto_la_LIBADD = ${noinst_LTLIBRARIES} 84 85EXTRA_DIST += ${other_src} 86EXTRA_DIST += Release_notes.txt 87 88# For tests 89LDADD += libisal_crypto.la 90check_PROGRAMS = ${check_tests} 91TESTS = ${check_tests} 92 93# For additional tests 94EXTRA_PROGRAMS = ${unit_tests} 95EXTRA_PROGRAMS += ${perf_tests} 96EXTRA_PROGRAMS += ${other_tests} 97EXTRA_PROGRAMS += ${examples} 98CLEANFILES += ${EXTRA_PROGRAMS} 99 100perfs: ${perf_tests} 101tests: ${unit_tests} 102checks: ${check_tests} 103other: ${other_tests} 104perf: $(addsuffix .run,$(perf_tests)) 105ex: ${examples} 106test: $(addsuffix .run,$(unit_tests)) 107 108# Build rule to run tests 109%.run: % 110 $< 111 @echo Completed run: $< 112 113# Support for nasm 114if USE_NASM 115 as_filter = ${srcdir}/tools/nasm-filter.sh 116endif 117if CPU_AARCH64 118 as_filter = $(CC) -D__ASSEMBLY__ 119endif 120CCAS = $(as_filter) 121EXTRA_DIST += tools/nasm-filter.sh 122EXTRA_DIST += tools/nasm-cet-filter.sh 123 124AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${D} 125if CPU_AARCH64 126AM_CCASFLAGS = ${asm_args} ${INCLUDE} $(src_include) ${D} 127else 128AM_CCASFLAGS = ${asm_args} ${INCLUDE} $(src_include) ${DEFS} ${D} 129endif 130 131.asm.s: 132 @echo " MKTMP " $@; 133 @cp $< $@ 134 135# Generate isa-l_crypto.h 136BUILT_SOURCES = isa-l_crypto.h 137CLEANFILES += isa-l_crypto.h 138isa-l_crypto.h: 139 @echo 'Building $@' 140 @echo '' >> $@ 141 @echo '/**' >> $@ 142 @echo ' * @file isa-l_crypto.h'>> $@ 143 @echo ' * @brief Include for ISA-L_crypto library' >> $@ 144 @echo ' */' >> $@ 145 @echo '' >> $@ 146 @echo '#ifndef _ISAL_CRYPTO_H_' >> $@ 147 @echo '#define _ISAL_CRYPTO_H_' >> $@ 148 @echo '' >> $@ 149 @for unit in $(sort $(extern_hdrs)); do echo "#include <isa-l_crypto/$$unit>" | sed -e 's;include/;;' >> $@; done 150 @echo '#endif //_ISAL_CRYPTO_H_' >> $@ 151 152doc: isa-l_crypto.h 153 (cat Doxyfile; echo 'PROJECT_NUMBER=${VERSION}') | doxygen - 154 $(MAKE) -C generated_doc/latex &> generated_doc/latex_build_api.log 155 cp generated_doc/latex/refman.pdf isa-l_crypto_api_${VERSION}.pdf 156