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