17fd405e9SGreg TuckerEXTRA_DIST = autogen.sh Makefile.unx make.inc Makefile.nmake isa-l_crypto.def LICENSE README.md Doxyfile 26df3ef80SGreg TuckerCLEANFILES = 36df3ef80SGreg TuckerLDADD = 46df3ef80SGreg TuckerAM_MAKEFLAGS = --no-print-directory 56df3ef80SGreg Tuckernoinst_HEADERS = 692aa5aa4SGreg Tuckerpkginclude_HEADERS = include/test.h include/types.h include/endian_helper.h 76df3ef80SGreg Tuckernoinst_LTLIBRARIES = 86df3ef80SGreg TuckerINCLUDE = -I $(srcdir)/include/ 96df3ef80SGreg Tucker 10c995a885SGreg Tuckerpkgconfigdir = $(libdir)/pkgconfig 11c995a885SGreg Tuckerpkgconfig_DATA = libisal_crypto.pc 12c995a885SGreg TuckerEXTRA_DIST += libisal_crypto.pc.in 13c995a885SGreg TuckerCLEANFILES += libisal_crypto.pc 14c995a885SGreg Tucker 156df3ef80SGreg Tuckerlsrc= 1636b9337dSXiaodong Liusrc_include= 176df3ef80SGreg Tuckerextern_hdrs= 186df3ef80SGreg Tuckerother_src= 196df3ef80SGreg Tuckercheck_tests= 206df3ef80SGreg Tuckerunit_tests= 216df3ef80SGreg Tuckerperf_tests= 226df3ef80SGreg Tuckerunit_tests_extra= 236df3ef80SGreg Tuckerperf_tests_extra= 246df3ef80SGreg Tuckerexamples= 256df3ef80SGreg Tuckerother_tests= 266df3ef80SGreg Tuckerlsrc32= 27ffd20d8cSJerry Yulsrc_x86_64= 28ffd20d8cSJerry Yulsrc_x86_32= 29ffd20d8cSJerry Yulsrc_aarch64= 30ffd20d8cSJerry Yulsrc_base_aliases= 316df3ef80SGreg Tuckerunit_tests32= 326df3ef80SGreg Tuckerperf_tests32= 336df3ef80SGreg Tucker 346df3ef80SGreg Tucker# Include units 356df3ef80SGreg Tuckerinclude sha1_mb/Makefile.am 36ffd20d8cSJerry Yuinclude mh_sha1/Makefile.am 37ffd20d8cSJerry Yuinclude md5_mb/Makefile.am 386df3ef80SGreg Tuckerinclude sha256_mb/Makefile.am 396df3ef80SGreg Tuckerinclude sha512_mb/Makefile.am 4081cebc19SGreg Tuckerinclude mh_sha1_murmur3_x64_128/Makefile.am 417dc32ad5SXiaodong Liuinclude mh_sha256/Makefile.am 4253dc9fa0SGreg Tuckerinclude rolling_hash/Makefile.am 43449703d9SChunyang Huiinclude sm3_mb/Makefile.am 44fea2d86aSMarcel Cornuinclude misc/Makefile.am 452118044bSDaniel Huif CPU_X86_64 46dc44e3c3SJerry Yuinclude aes/Makefile.am 472118044bSDaniel Huendif 482118044bSDaniel Huif CPU_X86_32 492118044bSDaniel Huinclude aes/Makefile.am 502118044bSDaniel Huendif 512118044bSDaniel Huif CPU_AARCH64 522118044bSDaniel Huinclude aes/Makefile.am 532118044bSDaniel Huendif 545e4dc74cSPablo de Larainclude fips/Makefile.am 55d7dccff4SJerry Yu 566df3ef80SGreg Tucker# LIB version info not necessarily the same as package version 576df3ef80SGreg TuckerLIBISAL_CURRENT=2 58*3aa2266bSPablo de LaraLIBISAL_REVISION=25 596df3ef80SGreg TuckerLIBISAL_AGE=0 606df3ef80SGreg Tucker 616df3ef80SGreg Tuckerlib_LTLIBRARIES = libisal_crypto.la 626df3ef80SGreg Tuckerpkginclude_HEADERS += $(sort ${extern_hdrs}) 636df3ef80SGreg Tuckerlibisal_crypto_la_SOURCES = ${lsrc} 64ffd20d8cSJerry Yuif CPU_X86_64 65ffd20d8cSJerry Yulibisal_crypto_la_SOURCES += ${lsrc_x86_64} 66ffd20d8cSJerry Yuendif 67ffd20d8cSJerry Yu 68ffd20d8cSJerry Yuif CPU_X86_32 69ffd20d8cSJerry Yulibisal_crypto_la_SOURCES += ${lsrc_x86_32} 70ffd20d8cSJerry Yuendif 71ffd20d8cSJerry Yu 72ffd20d8cSJerry Yuif CPU_AARCH64 73ffd20d8cSJerry Yulibisal_crypto_la_SOURCES += ${lsrc_aarch64} 74ffd20d8cSJerry Yuendif 75ffd20d8cSJerry Yu 76ffd20d8cSJerry Yuif CPU_UNDEFINED 77ffd20d8cSJerry Yulibisal_crypto_la_SOURCES += ${lsrc_base_aliases} 78ffd20d8cSJerry Yuendif 79ffd20d8cSJerry Yu 806df3ef80SGreg Tuckernobase_include_HEADERS = isa-l_crypto.h 816df3ef80SGreg Tuckerlibisal_crypto_la_LDFLAGS = $(AM_LDFLAGS) \ 826df3ef80SGreg Tucker -version-info $(LIBISAL_CURRENT):$(LIBISAL_REVISION):$(LIBISAL_AGE) 836df3ef80SGreg Tuckerlibisal_crypto_la_LIBADD = ${noinst_LTLIBRARIES} 846df3ef80SGreg Tucker 856df3ef80SGreg TuckerEXTRA_DIST += ${other_src} 866df3ef80SGreg TuckerEXTRA_DIST += Release_notes.txt 876df3ef80SGreg Tucker 886df3ef80SGreg Tucker# For tests 896df3ef80SGreg TuckerLDADD += libisal_crypto.la 906df3ef80SGreg Tuckercheck_PROGRAMS = ${check_tests} 916df3ef80SGreg TuckerTESTS = ${check_tests} 926df3ef80SGreg Tucker 936df3ef80SGreg Tucker# For additional tests 946df3ef80SGreg TuckerEXTRA_PROGRAMS = ${unit_tests} 956df3ef80SGreg TuckerEXTRA_PROGRAMS += ${perf_tests} 966df3ef80SGreg TuckerEXTRA_PROGRAMS += ${other_tests} 976df3ef80SGreg TuckerEXTRA_PROGRAMS += ${examples} 986df3ef80SGreg TuckerCLEANFILES += ${EXTRA_PROGRAMS} 996df3ef80SGreg Tucker 1006df3ef80SGreg Tuckerperfs: ${perf_tests} 1016df3ef80SGreg Tuckertests: ${unit_tests} 1025f81481dSGreg Tuckerchecks: ${check_tests} 1036df3ef80SGreg Tuckerother: ${other_tests} 1046df3ef80SGreg Tuckerperf: $(addsuffix .run,$(perf_tests)) 1056df3ef80SGreg Tuckerex: ${examples} 1066df3ef80SGreg Tuckertest: $(addsuffix .run,$(unit_tests)) 1076df3ef80SGreg Tucker 1086df3ef80SGreg Tucker# Build rule to run tests 1096df3ef80SGreg Tucker%.run: % 1106df3ef80SGreg Tucker $< 1116df3ef80SGreg Tucker @echo Completed run: $< 1126df3ef80SGreg Tucker 113151e9bcaSPablo de Lara# Support for nasm 1146df3ef80SGreg Tuckerif USE_NASM 1156df3ef80SGreg Tucker as_filter = ${srcdir}/tools/nasm-filter.sh 1166df3ef80SGreg Tuckerendif 117ffd20d8cSJerry Yuif CPU_AARCH64 118c22a0636SJerry Yu as_filter = $(CC) -D__ASSEMBLY__ 119ffd20d8cSJerry Yuendif 1206df3ef80SGreg TuckerCCAS = $(as_filter) 121151e9bcaSPablo de LaraEXTRA_DIST += tools/nasm-filter.sh 122151e9bcaSPablo de LaraEXTRA_DIST += tools/nasm-cet-filter.sh 12336b9337dSXiaodong Liu 124fa6261a4SPablo de LaraAM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${D} 125f2e0339bSchenxuqiangif CPU_AARCH64 126151e9bcaSPablo de LaraAM_CCASFLAGS = ${asm_args} ${INCLUDE} $(src_include) ${D} 127f2e0339bSchenxuqiangelse 128151e9bcaSPablo de LaraAM_CCASFLAGS = ${asm_args} ${INCLUDE} $(src_include) ${DEFS} ${D} 129f2e0339bSchenxuqiangendif 1306df3ef80SGreg Tucker 1316df3ef80SGreg Tucker.asm.s: 1326df3ef80SGreg Tucker @echo " MKTMP " $@; 1336df3ef80SGreg Tucker @cp $< $@ 1346df3ef80SGreg Tucker 1356df3ef80SGreg Tucker# Generate isa-l_crypto.h 1366df3ef80SGreg TuckerBUILT_SOURCES = isa-l_crypto.h 1376df3ef80SGreg TuckerCLEANFILES += isa-l_crypto.h 1386df3ef80SGreg Tuckerisa-l_crypto.h: 1396df3ef80SGreg Tucker @echo 'Building $@' 1406df3ef80SGreg Tucker @echo '' >> $@ 14117570868SGreg Tucker @echo '/**' >> $@ 14217570868SGreg Tucker @echo ' * @file isa-l_crypto.h'>> $@ 14317570868SGreg Tucker @echo ' * @brief Include for ISA-L_crypto library' >> $@ 14417570868SGreg Tucker @echo ' */' >> $@ 14517570868SGreg Tucker @echo '' >> $@ 1466df3ef80SGreg Tucker @echo '#ifndef _ISAL_CRYPTO_H_' >> $@ 1476df3ef80SGreg Tucker @echo '#define _ISAL_CRYPTO_H_' >> $@ 1486df3ef80SGreg Tucker @echo '' >> $@ 1496df3ef80SGreg Tucker @for unit in $(sort $(extern_hdrs)); do echo "#include <isa-l_crypto/$$unit>" | sed -e 's;include/;;' >> $@; done 1506df3ef80SGreg Tucker @echo '#endif //_ISAL_CRYPTO_H_' >> $@ 1517fd405e9SGreg Tucker 1527fd405e9SGreg Tuckerdoc: isa-l_crypto.h 1537fd405e9SGreg Tucker (cat Doxyfile; echo 'PROJECT_NUMBER=${VERSION}') | doxygen - 1547fd405e9SGreg Tucker $(MAKE) -C generated_doc/latex &> generated_doc/latex_build_api.log 1557fd405e9SGreg Tucker cp generated_doc/latex/refman.pdf isa-l_crypto_api_${VERSION}.pdf 156