libcfs-linux-objs += linux-crypto.o linux-crypto-crc32.o
libcfs-linux-objs += linux-crypto-adler.o
+libcfs-pclmul-obj :=
+
+ifeq ($(ARCH),x86)
+libcfs-linux-objs += linux-crypto-crc32pclmul.o
+libcfs-pclmul-obj += crc32-pclmul_asm.o
+endif
+ifeq ($(ARCH),i386)
+libcfs-linux-objs += linux-crypto-crc32pclmul.o
+libcfs-pclmul-obj += crc32-pclmul_asm.o
+endif
+ifeq ($(ARCH),x86_64)
+libcfs-linux-objs += linux-crypto-crc32pclmul.o
+libcfs-pclmul-obj += crc32-pclmul_asm.o
+endif
+
default: all
ifeq (@linux25@,no)
libcfs-all-objs := debug.o fail.o nidstrings.o lwt.o module.o tracefile.o \
watchdog.o libcfs_string.o hash.o kernel_user_comm.o \
prng.o workitem.o upcall_cache.o libcfs_cpu.o \
- libcfs_mem.o libcfs_lock.o
+ libcfs_mem.o libcfs_lock.o $(libcfs-pclmul-obj)
libcfs-objs := $(libcfs-linux-objs) $(libcfs-all-objs)