xref: /openbmc/linux/arch/alpha/lib/Makefile (revision 1da177e4)
1*1da177e4SLinus Torvalds#
2*1da177e4SLinus Torvalds# Makefile for alpha-specific library files..
3*1da177e4SLinus Torvalds#
4*1da177e4SLinus Torvalds
5*1da177e4SLinus TorvaldsEXTRA_AFLAGS := $(CFLAGS)
6*1da177e4SLinus TorvaldsEXTRA_CFLAGS := -Werror
7*1da177e4SLinus Torvalds
8*1da177e4SLinus Torvalds# Many of these routines have implementations tuned for ev6.
9*1da177e4SLinus Torvalds# Choose them iff we're targeting ev6 specifically.
10*1da177e4SLinus Torvaldsev6-$(CONFIG_ALPHA_EV6) := ev6-
11*1da177e4SLinus Torvalds
12*1da177e4SLinus Torvalds# Several make use of the cttz instruction introduced in ev67.
13*1da177e4SLinus Torvaldsev67-$(CONFIG_ALPHA_EV67) := ev67-
14*1da177e4SLinus Torvalds
15*1da177e4SLinus Torvaldslib-y =	__divqu.o __remqu.o __divlu.o __remlu.o \
16*1da177e4SLinus Torvalds	udelay.o \
17*1da177e4SLinus Torvalds	$(ev6-y)memset.o \
18*1da177e4SLinus Torvalds	$(ev6-y)memcpy.o \
19*1da177e4SLinus Torvalds	memmove.o \
20*1da177e4SLinus Torvalds	checksum.o \
21*1da177e4SLinus Torvalds	csum_partial_copy.o \
22*1da177e4SLinus Torvalds	$(ev67-y)strlen.o \
23*1da177e4SLinus Torvalds	$(ev67-y)strcat.o \
24*1da177e4SLinus Torvalds	strcpy.o \
25*1da177e4SLinus Torvalds	$(ev67-y)strncat.o \
26*1da177e4SLinus Torvalds	strncpy.o \
27*1da177e4SLinus Torvalds	$(ev6-y)stxcpy.o \
28*1da177e4SLinus Torvalds	$(ev6-y)stxncpy.o \
29*1da177e4SLinus Torvalds	$(ev67-y)strchr.o \
30*1da177e4SLinus Torvalds	$(ev67-y)strrchr.o \
31*1da177e4SLinus Torvalds	$(ev6-y)memchr.o \
32*1da177e4SLinus Torvalds	$(ev6-y)copy_user.o \
33*1da177e4SLinus Torvalds	$(ev6-y)clear_user.o \
34*1da177e4SLinus Torvalds	$(ev6-y)strncpy_from_user.o \
35*1da177e4SLinus Torvalds	$(ev67-y)strlen_user.o \
36*1da177e4SLinus Torvalds	$(ev6-y)csum_ipv6_magic.o \
37*1da177e4SLinus Torvalds	$(ev6-y)clear_page.o \
38*1da177e4SLinus Torvalds	$(ev6-y)copy_page.o \
39*1da177e4SLinus Torvalds	strcasecmp.o \
40*1da177e4SLinus Torvalds	fpreg.o \
41*1da177e4SLinus Torvalds	callback_srm.o srm_puts.o srm_printk.o
42*1da177e4SLinus Torvalds
43*1da177e4SLinus Torvaldslib-$(CONFIG_SMP) += dec_and_lock.o
44*1da177e4SLinus Torvalds
45*1da177e4SLinus Torvalds# The division routines are built from single source, with different defines.
46*1da177e4SLinus TorvaldsAFLAGS___divqu.o = -DDIV
47*1da177e4SLinus TorvaldsAFLAGS___remqu.o =       -DREM
48*1da177e4SLinus TorvaldsAFLAGS___divlu.o = -DDIV       -DINTSIZE
49*1da177e4SLinus TorvaldsAFLAGS___remlu.o =       -DREM -DINTSIZE
50*1da177e4SLinus Torvalds
51*1da177e4SLinus Torvalds$(obj)/__divqu.o: $(obj)/$(ev6-y)divide.S
52*1da177e4SLinus Torvalds	$(cmd_as_o_S)
53*1da177e4SLinus Torvalds$(obj)/__remqu.o: $(obj)/$(ev6-y)divide.S
54*1da177e4SLinus Torvalds	$(cmd_as_o_S)
55*1da177e4SLinus Torvalds$(obj)/__divlu.o: $(obj)/$(ev6-y)divide.S
56*1da177e4SLinus Torvalds	$(cmd_as_o_S)
57*1da177e4SLinus Torvalds$(obj)/__remlu.o: $(obj)/$(ev6-y)divide.S
58*1da177e4SLinus Torvalds	$(cmd_as_o_S)
59