Make.inc 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # -*- mode: makefile-gmake -*-
  2. OS := $(shell uname)
  3. FC = gfortran
  4. FFLAGS += -O3
  5. USEGCC = 1
  6. USECLANG = 0
  7. ifeq ($(USECLANG),1)
  8. USEGCC = 0
  9. CC = clang
  10. CFLAGS_add += -fno-builtin
  11. endif
  12. ifeq ($(USEGCC),1)
  13. CC = gcc
  14. CFLAGS_add += -fno-gnu89-inline
  15. endif
  16. AR = ar
  17. ARCH := $(shell $(CC) -dumpmachine | sed "s/\([^-]*\).*$$/\1/")
  18. ifeq ($(ARCH),mingw32)
  19. $(error "the mingw32 compiler you are using fails the openblas testsuite. please see the Julia README.windows.md document for a replacement")
  20. endif
  21. CFLAGS_add += -std=c99 -Wall -O3 -I$(OPENLIBM_HOME) -I$(OPENLIBM_HOME)/include -I$(OPENLIBM_HOME)/ld80 -I$(OPENLIBM_HOME)/$(ARCH) -I$(OPENLIBM_HOME)/src -DASSEMBLER -D__BSD_VISIBLE -Wno-implicit-function-declaration
  22. default: all
  23. %.c.o: %.c
  24. $(CC) $(CPPFLAGS) $(CFLAGS_add) $(CFLAGS) -c $< -o $@
  25. %.f.o: %.f
  26. $(FC) $(FFLAGS) -c $< -o $@
  27. %.S.o: %.S
  28. $(CC) $(SFLAGS) $(filter -m% -B% -I% -D%,$(CFLAGS_add)) -c $< -o $@
  29. clean:
  30. rm -fr *.o *.c.o *.S.o *~ test-double test-float test-double-system test-float-system *.dSYM
  31. # OS-specific stuff
  32. ifeq ($(ARCH),i386)
  33. override ARCH := i387
  34. endif
  35. ifeq ($(ARCH),i486)
  36. override ARCH := i387
  37. endif
  38. ifeq ($(ARCH),i686)
  39. override ARCH := i387
  40. endif
  41. ifeq ($(ARCH),x86_64)
  42. override ARCH := amd64
  43. endif
  44. ifneq (,$(findstring MINGW,$(OS)))
  45. override OS=WINNT
  46. endif
  47. #keep these if statements these separate
  48. ifeq ($(OS), WINNT)
  49. CFLAGS_add+=-nodefaultlibs
  50. FFLAGS+=-nodefaultlibs
  51. endif
  52. ifeq ($(OS), Linux)
  53. SHLIB_EXT = so
  54. CFLAGS_add+=-fPIC
  55. FFLAGS+=-fPIC
  56. endif
  57. ifeq ($(OS), FreeBSD)
  58. SHLIB_EXT = so
  59. CFLAGS_add+=-fPIC
  60. FFLAGS+=-fPIC
  61. endif
  62. ifeq ($(OS), Darwin)
  63. SHLIB_EXT = dylib
  64. CFLAGS_add+=-fPIC
  65. FFLAGS+=-fPIC
  66. endif
  67. ifeq ($(OS), WINNT)
  68. SHLIB_EXT = dll
  69. endif