Make.inc 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. # -*- mode: makefile-gmake -*-
  2. OS := $(shell uname)
  3. VERSION = 0.3
  4. VERSION_SPLIT = $(subst ., , $(VERSION))
  5. DESTDIR =
  6. prefix = /usr/local
  7. bindir = $(prefix)/bin
  8. libdir = $(prefix)/lib
  9. includedir = $(prefix)/include
  10. USEGCC = 1
  11. USECLANG = 0
  12. ifeq ($(OS), Darwin)
  13. USEGCC = 0
  14. USECLANG = 1
  15. endif
  16. AR = ar
  17. ifeq ($(USECLANG),1)
  18. USEGCC = 0
  19. CC = clang
  20. CFLAGS_add += -fno-builtin
  21. endif
  22. ifeq ($(USEGCC),1)
  23. CC = gcc
  24. CFLAGS_add += -fno-gnu89-inline
  25. endif
  26. ARCH := $(shell $(CC) -dumpmachine | sed "s/\([^-]*\).*$$/\1/")
  27. ifeq ($(ARCH),mingw32)
  28. $(error "the mingw32 compiler you are using fails the openblas testsuite. please see the Julia README.windows.md document for a replacement")
  29. endif
  30. 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
  31. default: all
  32. %.c.o: %.c
  33. $(CC) $(CPPFLAGS) $(CFLAGS_add) $(CFLAGS) -c $< -o $@
  34. %.S.o: %.S
  35. $(CC) $(SFLAGS) $(filter -m% -B% -I% -D%,$(CFLAGS_add)) -c $< -o $@
  36. # OS-specific stuff
  37. ifeq ($(ARCH),i386)
  38. override ARCH := i387
  39. endif
  40. ifeq ($(ARCH),i486)
  41. override ARCH := i387
  42. endif
  43. ifeq ($(ARCH),i586)
  44. override ARCH := i387
  45. endif
  46. ifeq ($(ARCH),i686)
  47. override ARCH := i387
  48. endif
  49. ifeq ($(ARCH),x86_64)
  50. override ARCH := amd64
  51. endif
  52. ifneq (,$(findstring MINGW,$(OS)))
  53. override OS=WINNT
  54. endif
  55. #keep these if statements separate
  56. ifeq ($(OS), WINNT)
  57. SHLIB_EXT = dll
  58. SONAME_FLAG = -soname
  59. CFLAGS_add += -nodefaultlibs
  60. shlibdir = $(bindir)
  61. else
  62. shlibdir = $(libdir)
  63. endif
  64. ifeq ($(OS), Linux)
  65. SHLIB_EXT = so
  66. SONAME_FLAG = -soname
  67. CFLAGS_add+=-fPIC
  68. endif
  69. ifeq ($(OS), FreeBSD)
  70. SHLIB_EXT = so
  71. SONAME_FLAG = -soname
  72. CFLAGS_add+=-fPIC
  73. endif
  74. ifeq ($(OS), Darwin)
  75. SHLIB_EXT = dylib
  76. SONAME_FLAG = -install_name
  77. CFLAGS_add+=-fPIC
  78. endif