Make.inc 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. default: all
  19. %.c.o: %.c
  20. $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
  21. %.f.o: %.f
  22. $(FC) $(FFLAGS) -c $< -o $@
  23. %.S.o: %.S
  24. $(CC) $(filter -m% -B% -I% -D%,$(CFLAGS)) -c $< -o $@
  25. clean:
  26. rm -fr *.o *.c.o *.S.o *~ test-double test-float test-double-system test-float-system *.dSYM
  27. # OS-specific stuff
  28. ifeq ($(ARCH),i386)
  29. override ARCH = i387
  30. endif
  31. ifeq ($(ARCH),x86_64)
  32. override ARCH = amd64
  33. endif
  34. ifeq ($(ARCH),i686)
  35. override ARCH = i387
  36. endif
  37. ifeq ($(OS), MINGW32_NT-6.1)
  38. OS=WINNT
  39. CFLAGS+=-nodefaultlibs
  40. FFLAGS+=-nodefaultlibs
  41. endif
  42. ifeq ($(OS), Linux)
  43. SHLIB_EXT = so
  44. CFLAGS+=-fPIC
  45. FFLAGS+=-fPIC
  46. endif
  47. ifeq ($(OS), FreeBSD)
  48. SHLIB_EXT = so
  49. CFLAGS+=-fPIC
  50. FFLAGS+=-fPIC
  51. endif
  52. ifeq ($(OS), Darwin)
  53. SHLIB_EXT = dylib
  54. CFLAGS+=-fPIC
  55. FFLAGS+=-fPIC
  56. endif
  57. ifeq ($(OS), WINNT)
  58. SHLIB_EXT = dll
  59. endif