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