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