summaryrefslogtreecommitdiffstats
path: root/arch/alpha/lib/Makefile
blob: 1e3e485b5a594c94a956caaee09217e7a0a2bd6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#
# Makefile for alpha-specific library files..
#

.S.s:
	$(CPP) -D__ASSEMBLY__ $(CFLAGS) -o $*.s $<
.S.o:
	$(CC) -D__ASSEMBLY__ $(CFLAGS) -c -o $*.o $<

# Many of these routines have implementations tuned for ev6.
# Choose them iff we're targeting ev6 specifically.
ev6 :=
ifeq ($(CONFIG_ALPHA_EV6),y)
  ev6 := ev6-
endif

# Several make use of the cttz instruction introduced in ev67.
ev67 :=
ifeq ($(CONFIG_ALPHA_EV67),y)
  ev67 := ev67-
endif

OBJS =	__divqu.o __remqu.o __divlu.o __remlu.o \
	$(ev6)memset.o \
	$(ev6)memcpy.o \
	memmove.o \
	io.o \
	checksum.o \
	csum_partial_copy.o \
	$(ev67)strlen.o \
	$(ev67)strcat.o \
	strcpy.o \
	$(ev67)strncat.o \
	strncpy.o \
	$(ev6)stxcpy.o \
	$(ev6)stxncpy.o \
	$(ev67)strchr.o \
	$(ev67)strrchr.o \
	$(ev6)memchr.o \
	$(ev6)copy_user.o \
	$(ev6)clear_user.o \
	$(ev6)strncpy_from_user.o \
	$(ev67)strlen_user.o \
	$(ev6)csum_ipv6_magic.o \
	strcasecmp.o \
	fpreg.o \
	callback_srm.o srm_puts.o srm_printk.o

lib.a: $(OBJS)
	$(AR) rcs lib.a $(OBJS)

__divqu.o: $(ev6)divide.S
	$(CC) $(AFLAGS) -DDIV -c -o __divqu.o $(ev6)divide.S

__remqu.o: $(ev6)divide.S
	$(CC) $(AFLAGS) -DREM -c -o __remqu.o $(ev6)divide.S

__divlu.o: $(ev6)divide.S
	$(CC) $(AFLAGS) -DDIV -DINTSIZE -c -o __divlu.o $(ev6)divide.S

__remlu.o: $(ev6)divide.S
	$(CC) $(AFLAGS) -DREM -DINTSIZE -c -o __remlu.o $(ev6)divide.S

dep:

include $(TOPDIR)/Rules.make