1EXTRA_DIST = autogen.sh Makefile.unx make.inc Makefile.nmake isa-l.def LICENSE README.md Doxyfile CONTRIBUTING.md 2CLEANFILES = 3LDADD = 4AM_MAKEFLAGS = --no-print-directory 5noinst_HEADERS = 6pkginclude_HEADERS = include/test.h 7noinst_LTLIBRARIES = 8bin_PROGRAMS = 9INCLUDE = -I $(srcdir)/include/ 10D = 11 12pkgconfigdir = $(libdir)/pkgconfig 13pkgconfig_DATA = libisal.pc 14EXTRA_DIST += libisal.pc.in 15CLEANFILES += libisal.pc 16 17lsrc= 18src_include= 19extern_hdrs= 20other_src= 21check_tests= 22unit_tests= 23perf_tests= 24unit_tests_extra= 25perf_tests_extra= 26examples= 27other_tests= 28other_tests_x86_64= 29other_tests_x86_32= 30other_tests_aarch64= 31other_tests_ppc64le= 32lsrc_x86_64= 33lsrc_x86_32= 34lsrc_aarch64= 35lsrc_ppc64le= 36lsrc_base_aliases= 37lsrc32= 38unit_tests32= 39perf_tests32= 40progs= 41 42# Include units 43 44include erasure_code/Makefile.am 45include raid/Makefile.am 46include crc/Makefile.am 47include igzip/Makefile.am 48include tests/fuzz/Makefile.am 49include examples/ec/Makefile.am 50include programs/Makefile.am 51include mem/Makefile.am 52 53# LIB version info not necessarily the same as package version 54LIBISAL_CURRENT=2 55LIBISAL_REVISION=31 56LIBISAL_AGE=0 57 58lib_LTLIBRARIES = libisal.la 59pkginclude_HEADERS += $(sort ${extern_hdrs}) 60libisal_la_SOURCES = ${lsrc} 61 62if CPU_X86_64 63ARCH=-Dx86_64 64libisal_la_SOURCES += ${lsrc_x86_64} 65other_tests += ${other_tests_x86_64} 66endif 67 68if CPU_X86_32 69ARCH=-Dx86_32 70libisal_la_SOURCES += ${lsrc_x86_32} 71other_tests += ${other_tests_x86_32} 72endif 73 74if CPU_AARCH64 75ARCH=-Daarch64 76libisal_la_SOURCES += ${lsrc_aarch64} 77other_tests += ${other_tests_aarch64} 78endif 79 80if CPU_PPC64LE 81ARCH=-Dppc64le 82libisal_la_SOURCES += ${lsrc_ppc64le} 83other_tests += ${other_tests_ppc64le} 84endif 85 86if CPU_UNDEFINED 87libisal_la_SOURCES += ${lsrc_base_aliases} 88endif 89 90nobase_include_HEADERS = isa-l.h 91libisal_la_LDFLAGS = $(AM_LDFLAGS) \ 92 -version-info $(LIBISAL_CURRENT):$(LIBISAL_REVISION):$(LIBISAL_AGE) 93libisal_la_LIBADD = ${noinst_LTLIBRARIES} 94 95EXTRA_DIST += ${other_src} 96EXTRA_DIST += Release_notes.txt 97 98# For tests 99LDADD += libisal.la 100check_PROGRAMS = ${check_tests} 101TESTS = ${check_tests} 102 103# For additional tests 104EXTRA_PROGRAMS = ${unit_tests} 105EXTRA_PROGRAMS += ${perf_tests} 106EXTRA_PROGRAMS += ${other_tests} 107EXTRA_PROGRAMS += ${examples} 108CLEANFILES += ${EXTRA_PROGRAMS} 109 110programs:${progs} 111perfs: ${perf_tests} 112tests: ${unit_tests} 113checks: ${check_tests} 114other: ${other_tests} 115perf: $(addsuffix .run,$(perf_tests)) 116ex: ${examples} 117test: $(addsuffix .run,$(unit_tests)) 118 119# Build rule to run tests 120%.run: % 121 $< 122 @echo Completed run: $< 123 124# Support for yasm/nasm/gas 125if USE_YASM 126 as_filter = ${srcdir}/tools/yasm-filter.sh 127endif 128if USE_NASM 129 as_filter = ${srcdir}/tools/nasm-filter.sh 130endif 131if CPU_AARCH64 132 as_filter = $(CC) -D__ASSEMBLY__ 133endif 134 135CCAS = $(as_filter) 136EXTRA_DIST += tools/yasm-filter.sh tools/nasm-filter.sh 137EXTRA_DIST += tools/yasm-cet-filter.sh tools/nasm-cet-filter.sh 138 139AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${ARCH} ${D} 140if CPU_AARCH64 141AM_CCASFLAGS = ${AM_CFLAGS} 142else 143AM_CCASFLAGS = ${yasm_args} ${INCLUDE} ${src_include} ${DEFS} ${D} 144endif 145 146.asm.s: 147 @echo " MKTMP " $@; 148 @cp $< $@ 149 150# Generate isa-l.h 151BUILT_SOURCES = isa-l.h 152CLEANFILES += isa-l.h 153isa-l.h: 154 @echo 'Building $@' 155 @echo '' >> $@ 156 @echo '/**' >> $@ 157 @echo ' * @file isa-l.h' >> $@ 158 @echo ' * @brief Include for ISA-L library' >> $@ 159 @echo ' */' >> $@ 160 @echo '' >> $@ 161 @echo '#ifndef _ISAL_H_' >> $@ 162 @echo '#define _ISAL_H_' >> $@ 163 @echo '' >> $@ 164 @echo '#define.ISAL_MAJOR_VERSION.${VERSION}' | ${AWK} -F . '{print $$1, $$2, $$3}' >> $@ 165 @echo '#define.ISAL_MINOR_VERSION.${VERSION}' | ${AWK} -F . '{print $$1, $$2, $$4}' >> $@ 166 @echo '#define.ISAL_PATCH_VERSION.${VERSION}' | ${AWK} -F . '{print $$1, $$2, $$5}' >> $@ 167 @echo '#define ISAL_MAKE_VERSION(maj, min, patch) ((maj) * 0x10000 + (min) * 0x100 + (patch))' >> $@ 168 @echo '#define ISAL_VERSION ISAL_MAKE_VERSION(ISAL_MAJOR_VERSION, ISAL_MINOR_VERSION, ISAL_PATCH_VERSION)' >> $@ 169 @echo '' >> $@ 170 @for unit in $(sort $(extern_hdrs)); do echo "#include <isa-l/$$unit>" | sed -e 's;include/;;' >> $@; done 171 @echo '#endif //_ISAL_H_' >> $@ 172 173doc: isa-l.h 174 (cat Doxyfile; echo 'PROJECT_NUMBER=${VERSION}') | doxygen - 175 $(MAKE) -C generated_doc/latex &> generated_doc/latex_build_api.log 176 cp generated_doc/latex/refman.pdf isa-l_api_${VERSION}.pdf 177