unix.mak 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. # Double precision Cephes library
  2. # Makefile for unix or GCC
  3. CC = gcc
  4. CFLAGS = -g -O2 -Wall -fno-builtin
  5. AR = ar
  6. RANLIB = ranlib
  7. INCS = mconf.h
  8. AS = as
  9. OBJS = acosh.o airy.o asin.o asinh.o atan.o atanh.o bdtr.o beta.o \
  10. btdtr.o cbrt.o chbevl.o chdtr.o clog.o cmplx.o const.o \
  11. cosh.o dawsn.o drand.o ellie.o ellik.o ellpe.o ellpj.o ellpk.o \
  12. exp.o exp10.o exp2.o expn.o fabs.o fac.o fdtr.o \
  13. fresnl.o gamma.o gdtr.o hyp2f1.o hyperg.o i0.o i1.o igami.o \
  14. incbet.o incbi.o igam.o isnan.o iv.o j0.o j1.o jn.o jv.o k0.o k1.o \
  15. kn.o log.o log2.o log10.o lrand.o nbdtr.o ndtr.o ndtri.o pdtr.o \
  16. polevl.o polmisc.o polyn.o pow.o powi.o psi.o rgamma.o round.o \
  17. shichi.o sici.o sin.o sindg.o sinh.o spence.o stdtr.o struve.o \
  18. tan.o tandg.o tanh.o unity.o yn.o zeta.o zetac.o \
  19. sqrt.o floor.o setprec.o mtherr.o
  20. all: libmd.a mtst dtestvec dcalc paranoia # stamp-timing
  21. stamp-timing: libmd.a mtst time-it
  22. time-it "mtst > /dev/null"
  23. touch stamp-timing
  24. time-it: time-it.o
  25. $(CC) -o time-it time-it.o
  26. time-it.o: time-it.c
  27. $(CC) -O2 -c time-it.c
  28. dcalc: dcalc.o libmd.a
  29. $(CC) -o dcalc dcalc.o libmd.a
  30. # aout2exe mtst
  31. mtst: mtst.o libmd.a
  32. $(CC) -v -o mtst mtst.o libmd.a
  33. # gcc -Wl,-verbose -b i486-linuxaout -v -o mtst mtst.o libmd.a
  34. # coff2exe mtst
  35. mtst.o: mtst.c
  36. $(CC) -O2 -Wall -c mtst.c
  37. dtestvec: dtestvec.o libmd.a
  38. $(CC) -o dtestvec dtestvec.o libmd.a
  39. dtestvec.o: dtestvec.c
  40. $(CC) -g -c dtestvec.c
  41. paranoia: paranoia.o setprec.o libmd.a
  42. $(CC) -o paranoia paranoia.o setprec.o libmd.a
  43. paranoia.o: paranoia.c
  44. $(CC) $(CFLAGS) -c paranoia.c
  45. libmd.a: $(OBJS) $(INCS)
  46. # for real Unix:
  47. $(AR) rv libmd.a $(OBJS)
  48. # for djgcc MSDOS:
  49. # >libmd.rf -rv libmd.a $(OBJS)
  50. # $(AR) @libmd.rf
  51. $(RANLIB) libmd.a
  52. # If the following are all commented out, the C versions
  53. # will be used by default.
  54. # IBM PC:
  55. #sqrt.o: sqrt.387
  56. # $(AS) -o sqrt.o sqrt.387
  57. #
  58. #floor.o: floor.387
  59. # $(AS) -o floor.o floor.387
  60. #
  61. #setprec.o: setprec.387
  62. # $(AS) -o setprec.o setprec.387
  63. # ELF versions for linux (no underscores)
  64. sqrt.o: sqrtelf.387
  65. $(AS) -o sqrt.o sqrtelf.387
  66. #floor.o: floorelf.387
  67. # $(AS) -o floor.o floorelf.387
  68. setprec.o: setprelf.387
  69. $(AS) -o setprec.o setprelf.387
  70. # Motorola 68881. Caution, subroutine return conventions vary.
  71. #sqrt.o: sqrt.688
  72. # $(AS) -o sqrt.o sqrt.688
  73. #
  74. #setprec.o: setprec.688
  75. # $(AS) -o setprec.o setprec.688
  76. # SPARC:
  77. #sqrt.o: sqrt.spa
  78. # $(AS) -o sqrt.o sqrt.spa
  79. clean:
  80. rm -f *.o
  81. rm -f mtst
  82. rm -f paranoia
  83. rm -f dcalc
  84. rm -f libmd.a
  85. rm -f time-it
  86. rm -f dtestvec