]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
1da177e4 LT |
2 | # |
3 | # Makefile for alpha-specific library files.. | |
4 | # | |
5 | ||
8a362cd6 | 6 | asflags-y := $(KBUILD_CFLAGS) |
7 | ccflags-y := -Werror | |
1da177e4 LT |
8 | |
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- | |
12 | ||
13 | # Several make use of the cttz instruction introduced in ev67. | |
14 | ev67-$(CONFIG_ALPHA_EV67) := ev67- | |
15 | ||
16 | lib-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 \ | |
4758ce82 RH |
24 | stycpy.o \ |
25 | styncpy.o \ | |
1da177e4 LT |
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 \ | |
1da177e4 LT |
31 | $(ev6-y)csum_ipv6_magic.o \ |
32 | $(ev6-y)clear_page.o \ | |
33 | $(ev6-y)copy_page.o \ | |
1da177e4 | 34 | fpreg.o \ |
74fd1b68 RH |
35 | callback_srm.o srm_puts.o srm_printk.o \ |
36 | fls.o | |
1da177e4 LT |
37 | |
38 | lib-$(CONFIG_SMP) += dec_and_lock.o | |
39 | ||
40 | # The division routines are built from single source, with different defines. | |
41 | AFLAGS___divqu.o = -DDIV | |
42 | AFLAGS___remqu.o = -DREM | |
43 | AFLAGS___divlu.o = -DDIV -DINTSIZE | |
44 | AFLAGS___remlu.o = -DREM -DINTSIZE | |
45 | ||
e19a4e3f | 46 | $(addprefix $(obj)/,__divqu.o __remqu.o __divlu.o __remlu.o): \ |
3eec0291 MY |
47 | $(src)/$(ev6-y)divide.S FORCE |
48 | $(call if_changed_rule,as_o_S) | |
4758ce82 RH |
49 | |
50 | # There are direct branches between {str*cpy,str*cat} and stx*cpy. | |
51 | # Ensure the branches are within range by merging these objects. | |
52 | ||
53 | LDFLAGS_stycpy.o := -r | |
54 | LDFLAGS_styncpy.o := -r | |
55 | ||
56 | $(obj)/stycpy.o: $(obj)/strcpy.o $(obj)/$(ev67-y)strcat.o \ | |
57 | $(obj)/$(ev6-y)stxcpy.o FORCE | |
58 | $(call if_changed,ld) | |
59 | ||
60 | $(obj)/styncpy.o: $(obj)/strncpy.o $(obj)/$(ev67-y)strncat.o \ | |
61 | $(obj)/$(ev6-y)stxncpy.o FORCE | |
62 | $(call if_changed,ld) |