Annotation of OpenXM_contrib/pari-2.2/src/kernel/sparcv8/Makefile.SH, Revision 1.1.1.1
1.1 noro 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: if test "$gnuas" = "yes"; then do_cpp=yes; fi
15:
16: ker=$src/kernel/sparcv8
17: kernel1=$ker/level0_$asmarch.S
18: kernel2=$ker/level0.S
19:
20: if test "$osname" = "nextstep" -o "$osname" = "linux"
21: then
22: level0=$src/kernel/none/asm0.h
23: else
24: level0=$ker/level0.h
25: fi
26: level1=$src/kernel/none/level1.h
27:
28: if test "$osname" = "nextstep" -o "$osname" = "linux" -o "$do_cpp" = "yes"
29: then
30: cat >> $file << EOT
31: kernel1.s: $kernel1
32: \$(CPP) $KERNELCPPFLAGS $kernel1 > \$@
33: kernel2.s: $kernel2
34: \$(CPP) $KERNELCPPFLAGS $kernel2 > \$@
35: EOT
36: kernel1=kernel1.s
37: kernel2=kernel2.s
38: fi
39:
40: cat >> $file << EOT
41: pariinl.h: $level0 $level1
42: cat $level0 $level1 > \$@
43: kernel.o: $kernel1
44: \$(AS) \$(ASFLAGS) -o \$@ $kernel1
45: kernel2.o: $kernel2
46: \$(AS) \$(ASFLAGS) -o \$@ $kernel2
47: # Level 1 kernel is the generic one
48: mp.o: .headers $src/kernel/none/mp.c
49: \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o \$@ $src/kernel/none/mp.c
50: mpinl.o: .headers $level1
51: \$(CC) -c \$(CFLAGS) \$(CPPFLAGS) -o \$@ $src/kernel/none/level1.c
52:
53: EOT
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>