xref: /openbmc/linux/arch/alpha/lib/Makefile (revision 8a362cd6)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# Makefile for alpha-specific library files..
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
58a362cd6Smatt mooneyasflags-y := $(KBUILD_CFLAGS)
68a362cd6Smatt mooneyccflags-y := -Werror
71da177e4SLinus Torvalds
81da177e4SLinus Torvalds# Many of these routines have implementations tuned for ev6.
91da177e4SLinus Torvalds# Choose them iff we're targeting ev6 specifically.
101da177e4SLinus Torvaldsev6-$(CONFIG_ALPHA_EV6) := ev6-
111da177e4SLinus Torvalds
121da177e4SLinus Torvalds# Several make use of the cttz instruction introduced in ev67.
131da177e4SLinus Torvaldsev67-$(CONFIG_ALPHA_EV67) := ev67-
141da177e4SLinus Torvalds
151da177e4SLinus Torvaldslib-y =	__divqu.o __remqu.o __divlu.o __remlu.o \
161da177e4SLinus Torvalds	udelay.o \
171da177e4SLinus Torvalds	$(ev6-y)memset.o \
181da177e4SLinus Torvalds	$(ev6-y)memcpy.o \
191da177e4SLinus Torvalds	memmove.o \
201da177e4SLinus Torvalds	checksum.o \
211da177e4SLinus Torvalds	csum_partial_copy.o \
221da177e4SLinus Torvalds	$(ev67-y)strlen.o \
231da177e4SLinus Torvalds	$(ev67-y)strcat.o \
241da177e4SLinus Torvalds	strcpy.o \
251da177e4SLinus Torvalds	$(ev67-y)strncat.o \
261da177e4SLinus Torvalds	strncpy.o \
271da177e4SLinus Torvalds	$(ev6-y)stxcpy.o \
281da177e4SLinus Torvalds	$(ev6-y)stxncpy.o \
291da177e4SLinus Torvalds	$(ev67-y)strchr.o \
301da177e4SLinus Torvalds	$(ev67-y)strrchr.o \
311da177e4SLinus Torvalds	$(ev6-y)memchr.o \
321da177e4SLinus Torvalds	$(ev6-y)copy_user.o \
331da177e4SLinus Torvalds	$(ev6-y)clear_user.o \
341da177e4SLinus Torvalds	$(ev6-y)strncpy_from_user.o \
351da177e4SLinus Torvalds	$(ev67-y)strlen_user.o \
361da177e4SLinus Torvalds	$(ev6-y)csum_ipv6_magic.o \
371da177e4SLinus Torvalds	$(ev6-y)clear_page.o \
381da177e4SLinus Torvalds	$(ev6-y)copy_page.o \
391da177e4SLinus Torvalds	fpreg.o \
4074fd1b68SRichard Henderson	callback_srm.o srm_puts.o srm_printk.o \
4174fd1b68SRichard Henderson	fls.o
421da177e4SLinus Torvalds
431da177e4SLinus Torvaldslib-$(CONFIG_SMP) += dec_and_lock.o
441da177e4SLinus Torvalds
451da177e4SLinus Torvalds# The division routines are built from single source, with different defines.
461da177e4SLinus TorvaldsAFLAGS___divqu.o = -DDIV
471da177e4SLinus TorvaldsAFLAGS___remqu.o =       -DREM
481da177e4SLinus TorvaldsAFLAGS___divlu.o = -DDIV       -DINTSIZE
491da177e4SLinus TorvaldsAFLAGS___remlu.o =       -DREM -DINTSIZE
501da177e4SLinus Torvalds
511da177e4SLinus Torvalds$(obj)/__divqu.o: $(obj)/$(ev6-y)divide.S
521da177e4SLinus Torvalds	$(cmd_as_o_S)
531da177e4SLinus Torvalds$(obj)/__remqu.o: $(obj)/$(ev6-y)divide.S
541da177e4SLinus Torvalds	$(cmd_as_o_S)
551da177e4SLinus Torvalds$(obj)/__divlu.o: $(obj)/$(ev6-y)divide.S
561da177e4SLinus Torvalds	$(cmd_as_o_S)
571da177e4SLinus Torvalds$(obj)/__remlu.o: $(obj)/$(ev6-y)divide.S
581da177e4SLinus Torvalds	$(cmd_as_o_S)
59