Make.inc 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # -*- mode: makefile-gmake -*-
  2. OS = $(shell uname)
  3. ARCH = $(shell uname -m)
  4. FC = gfortran
  5. FFLAGS += -O3
  6. USEGCC = 1
  7. USECLANG = 0
  8. CFLAGS += -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
  9. ifeq ($(USECLANG),1)
  10. USEGCC = 0
  11. CC = clang
  12. CFLAGS += -fno-builtin
  13. endif
  14. ifeq ($(USEGCC),1)
  15. CC = gcc
  16. CFLAGS += -fno-gnu89-inline
  17. endif
  18. AR = ar
  19. default: all
  20. %.c.o: %.c
  21. $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
  22. %.f.o: %.f
  23. $(FC) $(FFLAGS) -c $< -o $@
  24. %.S.o: %.S
  25. $(CC) $(filter -m% -B% -I% -D%,$(CFLAGS)) -c $< -o $@
  26. clean:
  27. rm -fr *.o *.c.o *.S.o *~ test-double test-float test-double-system test-float-system *.dSYM
  28. # OS-specific stuff
  29. ifeq ($(ARCH),i386)
  30. override ARCH = i387
  31. endif
  32. ifeq ($(ARCH),x86_64)
  33. override ARCH = amd64
  34. endif
  35. ifeq ($(ARCH),i686)
  36. override ARCH = i387
  37. endif
  38. ifeq ($(OS), MINGW32_NT-6.1)
  39. OS=WINNT
  40. CFLAGS+=-nodefaultlibs
  41. FFLAGS+=-nodefaultlibs
  42. endif
  43. ifeq ($(OS), Linux)
  44. SHLIB_EXT = so
  45. CFLAGS+=-fPIC
  46. FFLAGS+=-fPIC
  47. endif
  48. ifeq ($(OS), FreeBSD)
  49. SHLIB_EXT = so
  50. CFLAGS+=-fPIC
  51. FFLAGS+=-fPIC
  52. endif
  53. ifeq ($(OS), Darwin)
  54. SHLIB_EXT = dylib
  55. CFLAGS+=-fPIC
  56. FFLAGS+=-fPIC
  57. endif
  58. ifeq ($(OS), WINNT)
  59. SHLIB_EXT = dll
  60. endif