Annotation of OpenXM_contrib/pari/src/kernel/sparcv8/Makefile.SH, Revision 1.1.1.1
1.1 maekawa 1: # For SunOS
2: # If __GNUC__, most level0 functions are "asm inline"
3: # If not, they are "asm extern"
4: # The object kernel.o (resp. kernel2.o) contains entries for the functions
5: # that can (resp. cannot) be inline.
6: # Problem: "divll" uses "overflow", so kernel2.o is not the same when
7: # compiled with gcc or with cc. We should try to find a workaround.
8: # For NextStep or Linux
9: # We don't accept "asm inline" since it does not work (Ptitboul)
10:
11: if test -z "$__gnuc__" -o "$osname" = "nextstep" -o "$osname" = "linux"; then
12: kernel="$kernel kernel2"
13: fi
14:
15: ker=$src/kernel/sparcv8
16: kernel1=$ker/level0_$asmarch.S
17: kernel2=$ker/level0.S
18: level0=$ker/level0.h
19: if test "$osname" = "nextstep" -o "$osname" = "linux" -o "$gnuas" = "yes"; then
20: cat >> $file << EOT
21: kernel1.s: $kernel1
22: \$(CPP) $KERNELCPPFLAGS $kernel1 > \$@
23: kernel2.s: $kernel2
24: \$(CPP) $KERNELCPPFLAGS $kernel2 > \$@
25: EOT
26: kernel1=kernel1.s
27: kernel2=kernel2.s
28: level0=$src/kernel/none/asm0.h
29: fi
30: level1=$src/kernel/none/level1.h
31:
32: cat >> $file << EOT
33: pariinl.h: $level0 $level1
34: cat $level0 $level1 > \$@
35: kernel.o: $kernel1
36: \$(AS) \$(ASFLAGS) -o \$@ $kernel1
37: kernel2.o: $kernel2
38: \$(AS) \$(ASFLAGS) -o \$@ $kernel2
39: # Level 1 kernel is the generic one
40: mp.o: .headers $src/kernel/none/mp.c
41: \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o \$@ $src/kernel/none/mp.c
42: mpinl.o: .headers $level1
43: \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o \$@ $src/kernel/none/level1.c
44:
45: EOT
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>