xref: /openbmc/linux/arch/alpha/lib/Makefile (revision 3eec0291)
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)csum_ipv6_magic.o \
351da177e4SLinus Torvalds	$(ev6-y)clear_page.o \
361da177e4SLinus Torvalds	$(ev6-y)copy_page.o \
371da177e4SLinus Torvalds	fpreg.o \
3874fd1b68SRichard Henderson	callback_srm.o srm_puts.o srm_printk.o \
3974fd1b68SRichard Henderson	fls.o
401da177e4SLinus Torvalds
411da177e4SLinus Torvaldslib-$(CONFIG_SMP) += dec_and_lock.o
421da177e4SLinus Torvalds
431da177e4SLinus Torvalds# The division routines are built from single source, with different defines.
441da177e4SLinus TorvaldsAFLAGS___divqu.o = -DDIV
451da177e4SLinus TorvaldsAFLAGS___remqu.o =       -DREM
461da177e4SLinus TorvaldsAFLAGS___divlu.o = -DDIV       -DINTSIZE
471da177e4SLinus TorvaldsAFLAGS___remlu.o =       -DREM -DINTSIZE
481da177e4SLinus Torvalds
49e19a4e3fSMasahiro Yamada$(addprefix $(obj)/,__divqu.o __remqu.o __divlu.o __remlu.o): \
503eec0291SMasahiro Yamada						$(src)/$(ev6-y)divide.S FORCE
513eec0291SMasahiro Yamada	$(call if_changed_rule,as_o_S)
52