#
# Makefile for sw-specific library files..
#

asflags-y := $(KBUILD_CFLAGS)
ccflags-y := -Werror

lib-y =	__divlu.o __remlu.o __divwu.o __remwu.o \
	udelay.o \
        memmove.o \
        checksum.o \
        csum_partial_copy.o \
        clear_user.o \
        fpreg.o \
        strcpy.o \
        stxcpy.o \
        fls.o \
        csum_ipv6_magic.o

ifeq ($(CONFIG_DEEP_CLEAR_PAGE),y)
lib-y += deep-clear_page.o
else
lib-y += clear_page.o
endif

ifeq ($(CONFIG_DEEP_COPY_PAGE),y)
lib-y += deep-copy_page.o
else
lib-y += copy_page.o
endif

ifeq ($(CONFIG_DEEP_COPY_USER),y)
lib-y += deep-copy_user.o
else
lib-y += copy_user.o
endif

ifeq ($(CONFIG_DEEP_MEMCPY),y)
lib-y += deep-memcpy.o
else
lib-y += memcpy.o
endif

ifeq ($(CONFIG_DEEP_MEMSET),y)
lib-y += deep-memset.o
else
lib-y += memset.o
endif

# The division routines are built from single source, with different defines.
AFLAGS___divlu.o = -DDIV
AFLAGS___remlu.o =       -DREM
AFLAGS___divwu.o = -DDIV       -DINTSIZE
AFLAGS___remwu.o =       -DREM -DINTSIZE

$(obj)/__divlu.o: $(obj)/divide.S
	$(cmd_as_o_S)
$(obj)/__remlu.o: $(obj)/divide.S
	$(cmd_as_o_S)
$(obj)/__divwu.o: $(obj)/divide.S
	$(cmd_as_o_S)
$(obj)/__remwu.o: $(obj)/divide.S
	$(cmd_as_o_S)
