Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 #
0003 # Makefile for alpha-specific library files..
0004 #
0005 
0006 asflags-y := $(KBUILD_CFLAGS)
0007 ccflags-y := -Werror
0008 
0009 # Many of these routines have implementations tuned for ev6.
0010 # Choose them iff we're targeting ev6 specifically.
0011 ev6-$(CONFIG_ALPHA_EV6) := ev6-
0012 
0013 # Several make use of the cttz instruction introduced in ev67.
0014 ev67-$(CONFIG_ALPHA_EV67) := ev67-
0015 
0016 lib-y = __divqu.o __remqu.o __divlu.o __remlu.o \
0017         udiv-qrnnd.o \
0018         udelay.o \
0019         $(ev6-y)memset.o \
0020         $(ev6-y)memcpy.o \
0021         memmove.o \
0022         checksum.o \
0023         csum_partial_copy.o \
0024         $(ev67-y)strlen.o \
0025         stycpy.o \
0026         styncpy.o \
0027         $(ev67-y)strchr.o \
0028         $(ev67-y)strrchr.o \
0029         $(ev6-y)memchr.o \
0030         $(ev6-y)copy_user.o \
0031         $(ev6-y)clear_user.o \
0032         $(ev6-y)csum_ipv6_magic.o \
0033         $(ev6-y)clear_page.o \
0034         $(ev6-y)copy_page.o \
0035         fpreg.o \
0036         callback_srm.o srm_puts.o srm_printk.o \
0037         fls.o
0038 
0039 # The division routines are built from single source, with different defines.
0040 AFLAGS___divqu.o = -DDIV
0041 AFLAGS___remqu.o =       -DREM
0042 AFLAGS___divlu.o = -DDIV       -DINTSIZE
0043 AFLAGS___remlu.o =       -DREM -DINTSIZE
0044 
0045 $(addprefix $(obj)/,__divqu.o __remqu.o __divlu.o __remlu.o): \
0046                                                 $(src)/$(ev6-y)divide.S FORCE
0047         $(call if_changed_rule,as_o_S)
0048 
0049 # There are direct branches between {str*cpy,str*cat} and stx*cpy.
0050 # Ensure the branches are within range by merging these objects.
0051 
0052 LDFLAGS_stycpy.o := -r
0053 LDFLAGS_styncpy.o := -r
0054 
0055 $(obj)/stycpy.o: $(obj)/strcpy.o $(obj)/$(ev67-y)strcat.o \
0056                  $(obj)/$(ev6-y)stxcpy.o FORCE
0057         $(call if_changed,ld)
0058 
0059 $(obj)/styncpy.o: $(obj)/strncpy.o $(obj)/$(ev67-y)strncat.o \
0060                  $(obj)/$(ev6-y)stxncpy.o FORCE
0061         $(call if_changed,ld)