linux/arch/alpha/lib/Makefile
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2#
   3# Makefile for alpha-specific library files..
   4#
   5
   6asflags-y := $(KBUILD_CFLAGS)
   7ccflags-y := -Werror
   8
   9# Many of these routines have implementations tuned for ev6.
  10# Choose them iff we're targeting ev6 specifically.
  11ev6-$(CONFIG_ALPHA_EV6) := ev6-
  12
  13# Several make use of the cttz instruction introduced in ev67.
  14ev67-$(CONFIG_ALPHA_EV67) := ev67-
  15
  16lib-y = __divqu.o __remqu.o __divlu.o __remlu.o \
  17        udelay.o \
  18        $(ev6-y)memset.o \
  19        $(ev6-y)memcpy.o \
  20        memmove.o \
  21        checksum.o \
  22        csum_partial_copy.o \
  23        $(ev67-y)strlen.o \
  24        stycpy.o \
  25        styncpy.o \
  26        $(ev67-y)strchr.o \
  27        $(ev67-y)strrchr.o \
  28        $(ev6-y)memchr.o \
  29        $(ev6-y)copy_user.o \
  30        $(ev6-y)clear_user.o \
  31        $(ev6-y)csum_ipv6_magic.o \
  32        $(ev6-y)clear_page.o \
  33        $(ev6-y)copy_page.o \
  34        fpreg.o \
  35        callback_srm.o srm_puts.o srm_printk.o \
  36        fls.o
  37
  38# The division routines are built from single source, with different defines.
  39AFLAGS___divqu.o = -DDIV
  40AFLAGS___remqu.o =       -DREM
  41AFLAGS___divlu.o = -DDIV       -DINTSIZE
  42AFLAGS___remlu.o =       -DREM -DINTSIZE
  43
  44$(addprefix $(obj)/,__divqu.o __remqu.o __divlu.o __remlu.o): \
  45                                                $(src)/$(ev6-y)divide.S FORCE
  46        $(call if_changed_rule,as_o_S)
  47
  48# There are direct branches between {str*cpy,str*cat} and stx*cpy.
  49# Ensure the branches are within range by merging these objects.
  50
  51LDFLAGS_stycpy.o := -r
  52LDFLAGS_styncpy.o := -r
  53
  54$(obj)/stycpy.o: $(obj)/strcpy.o $(obj)/$(ev67-y)strcat.o \
  55                 $(obj)/$(ev6-y)stxcpy.o FORCE
  56        $(call if_changed,ld)
  57
  58$(obj)/styncpy.o: $(obj)/strncpy.o $(obj)/$(ev67-y)strncat.o \
  59                 $(obj)/$(ev6-y)stxncpy.o FORCE
  60        $(call if_changed,ld)
  61