1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for alpha-specific library files..
6 asflags-y
:= $(KBUILD_CFLAGS
)
9 # Many of these routines have implementations tuned for ev6.
10 # Choose them iff we're targeting ev6 specifically.
11 ev6-
$(CONFIG_ALPHA_EV6
) := ev6-
13 # Several make use of the cttz instruction introduced in ev67.
14 ev67-
$(CONFIG_ALPHA_EV67
) := ev67-
16 lib-y
= __divqu.o __remqu.o __divlu.o __remlu.o \
30 $(ev6-y
)clear_user.o \
31 $(ev6-y
)csum_ipv6_magic.o \
32 $(ev6-y
)clear_page.o \
35 callback_srm.o srm_puts.o srm_printk.o \
38 # The division routines are built from single source, with different defines.
39 AFLAGS___divqu.o
= -DDIV
40 AFLAGS___remqu.o
= -DREM
41 AFLAGS___divlu.o
= -DDIV
-DINTSIZE
42 AFLAGS___remlu.o
= -DREM
-DINTSIZE
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
)
48 # There are direct branches between {str*cpy,str*cat} and stx*cpy.
49 # Ensure the branches are within range by merging these objects.
51 LDFLAGS_stycpy.o
:= -r
52 LDFLAGS_styncpy.o
:= -r
54 $(obj
)/stycpy.o
: $(obj
)/strcpy.o
$(obj
)/$(ev67-y
)strcat.o \
55 $(obj
)/$(ev6-y
)stxcpy.o FORCE
58 $(obj
)/styncpy.o
: $(obj
)/strncpy.o
$(obj
)/$(ev67-y
)strncat.o \
59 $(obj
)/$(ev6-y
)stxncpy.o FORCE