Annotation of OpenXM_contrib/pari-2.2/src/kernel/sparcv8/Makefile.SH, Revision 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>