Make.inc 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. OS = $(shell uname)
  2. ARCH = $(shell uname -m)
  3. USEGCC = 1
  4. USECLANG = 0
  5. ifeq ($(USECLANG),1)
  6. USEGCC = 0
  7. CC = clang
  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. endif
  10. ifeq ($(USEGCC),1)
  11. CC = gcc
  12. 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
  13. endif
  14. default: all
  15. %.c.o: %.c
  16. $(QUIET_CC)$(CC) $(CFLAGS) -c $< -o $@
  17. %.S.o: %.S
  18. $(QUIET_ASM)$(CC) $(filter -f% -m% -B% -I% -D%,$(CFLAGS)) -c $< -o $@
  19. clean:
  20. rm -f *.o *.c.o *.S.o *~
  21. # OS-specific stuff
  22. ifeq ($(ARCH),i386)
  23. override ARCH = i387
  24. endif
  25. ifeq ($(ARCH),x86_64)
  26. override ARCH = amd64
  27. endif
  28. ifeq ($(ARCH),i686)
  29. override ARCH = i387
  30. endif
  31. ifeq ($(OS), MINGW32_NT-6.1)
  32. OS=WINNT
  33. CFLAGS+=-nodefaultlibs
  34. endif
  35. ifeq ($(OS), Linux)
  36. SHLIB_EXT = so
  37. CFLAGS+=-fPIC
  38. endif
  39. ifeq ($(OS), FreeBSD)
  40. SHLIB_EXT = so
  41. CFLAGS+=-fPIC
  42. endif
  43. ifeq ($(OS), Darwin)
  44. SHLIB_EXT = dylib
  45. CFLAGS+=-fPIC
  46. endif
  47. ifeq ($(OS), WINNT)
  48. SHLIB_EXT = dll
  49. endif
  50. # Colors for make
  51. CCCOLOR="\033[34m"
  52. LINKCOLOR="\033[34;1m"
  53. SRCCOLOR="\033[33m"
  54. BINCOLOR="\033[37;1m"
  55. MAKECOLOR="\033[32;1m"
  56. ENDCOLOR="\033[0m"
  57. QUIET_CC = @printf ' %b %b\n' $(CCCOLOR)CC$(ENDCOLOR) $(SRCCOLOR)$@$(ENDCOLOR);
  58. QUIET_ASM = @printf ' %b %b\n' $(CCCOLOR)ASM$(ENDCOLOR) $(SRCCOLOR)$@$(ENDCOLOR);
  59. QUIET_LINK = @printf ' %b %b\n' $(LINKCOLOR)LINK$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR);