patch-2.4.0-test12 linux/arch/alpha/lib/Makefile

Next file: linux/arch/alpha/lib/checksum.c
Previous file: linux/arch/alpha/kernel/sys_ruffian.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test11/linux/arch/alpha/lib/Makefile linux/arch/alpha/lib/Makefile
@@ -3,32 +3,63 @@
 #
 
 .S.s:
-	$(CC) -D__ASSEMBLY__ $(AFLAGS) -E -o $*.s $<
+	$(CPP) -D__ASSEMBLY__ $(CFLAGS) -o $*.s $<
 .S.o:
-	$(CC) -D__ASSEMBLY__ $(AFLAGS) -c -o $*.o $<
+	$(CC) -D__ASSEMBLY__ $(CFLAGS) -c -o $*.o $<
 
-OBJS  = __divqu.o __remqu.o __divlu.o __remlu.o memset.o memcpy.o io.o \
-	checksum.o csum_partial_copy.o strlen.o \
-	strcat.o strcpy.o strncat.o strncpy.o stxcpy.o stxncpy.o \
-	strchr.o strrchr.o memchr.o \
-	copy_user.o clear_user.o strncpy_from_user.o strlen_user.o \
-	csum_ipv6_magic.o strcasecmp.o fpreg.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 \
+	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: divide.S
-	$(CC) $(AFLAGS) -DDIV -c -o __divqu.o divide.S
+__divqu.o: $(ev6)divide.S
+	$(CC) $(AFLAGS) -DDIV -c -o __divqu.o $(ev6)divide.S
 
-__remqu.o: divide.S
-	$(CC) $(AFLAGS) -DREM -c -o __remqu.o divide.S
+__remqu.o: $(ev6)divide.S
+	$(CC) $(AFLAGS) -DREM -c -o __remqu.o $(ev6)divide.S
 
-__divlu.o: divide.S
-	$(CC) $(AFLAGS) -DDIV -DINTSIZE -c -o __divlu.o divide.S
+__divlu.o: $(ev6)divide.S
+	$(CC) $(AFLAGS) -DDIV -DINTSIZE -c -o __divlu.o $(ev6)divide.S
 
-__remlu.o: divide.S
-	$(CC) $(AFLAGS) -DREM -DINTSIZE -c -o __remlu.o divide.S
+__remlu.o: $(ev6)divide.S
+	$(CC) $(AFLAGS) -DREM -DINTSIZE -c -o __remlu.o $(ev6)divide.S
 
 dep:
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)