Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. # src/mesa/Makefile
  2. TOP = ../..
  3. include $(TOP)/configs/current
  4. include sources.mak
  5. .SUFFIXES : .cpp
  6. .c.o:
  7. $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
  8. .cpp.o:
  9. $(CXX) -c $(INCLUDE_DIRS) $(CXXFLAGS) $< -o $@
  10. .S.o:
  11. $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
  12. # Default: build dependencies, then asm_subdirs, then convenience
  13. # libs (.a) and finally the device drivers:
  14. default: depend asm_subdirs libmesa.a libglapi.a driver_subdirs
  15. ######################################################################
  16. # Helper libraries used by many drivers:
  17. # Make archive of core mesa object files
  18. libmesa.a: $(MESA_OBJECTS)
  19. @ $(MKLIB) -o mesa -static $(MESA_OBJECTS)
  20. # Make archive of gl* API dispatcher functions only
  21. libglapi.a: $(GLAPI_OBJECTS)
  22. @if [ "${WINDOW_SYSTEM}" = "dri" ] ; then \
  23. touch libglapi.a ; \
  24. else \
  25. $(MKLIB) -o glapi -static $(GLAPI_OBJECTS) ; \
  26. fi
  27. ######################################################################
  28. # Device drivers
  29. driver_subdirs: libmesa.a libglapi.a
  30. (cd drivers && $(MAKE))
  31. ######################################################################
  32. # Assembly subdirs
  33. asm_subdirs:
  34. @ if echo "$(ASM_FLAGS)" | grep -q USE_X86_ASM ; then \
  35. (cd x86 && $(MAKE)) || exit 1 ; \
  36. fi
  37. @ if echo "$(ASM_FLAGS)" | grep -q USE_X86_64_ASM ; then \
  38. (cd x86 && $(MAKE)) || exit 1 ; \
  39. (cd x86-64 && $(MAKE)) || exit 1 ; \
  40. fi
  41. ######################################################################
  42. # Dependency generation
  43. depend: $(ALL_SOURCES)
  44. @ echo "running $(MKDEP)"
  45. @ touch depend
  46. @$(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) $(ALL_SOURCES) \
  47. > /dev/null 2>/dev/null
  48. ######################################################################
  49. # Installation rules
  50. # this isn't fleshed out yet but is probably the way to go in the future
  51. new_install:
  52. (cd drivers && $(MAKE) install)
  53. # XXX replace this with new_install above someday
  54. install: default
  55. @for driver in $(DRIVER_DIRS) ; do \
  56. case "$$driver" in \
  57. osmesa) if [ "$(DRIVER_DIRS)" = osmesa ]; then \
  58. $(MAKE) install-headers install-osmesa || exit 1 ; \
  59. else \
  60. $(MAKE) install-osmesa || exit 1 ; \
  61. fi ;; \
  62. dri) $(MAKE) install-libgl install-dri || exit 1 ;; \
  63. *) $(MAKE) install-libgl || exit 1 ;; \
  64. esac ; \
  65. done
  66. gl_pcedit = sed \
  67. -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \
  68. -e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),' \
  69. -e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),' \
  70. -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \
  71. -e 's,@GL_PC_REQ_PRIV@,$(GL_PC_REQ_PRIV),' \
  72. -e 's,@GL_PC_LIB_PRIV@,$(GL_PC_LIB_PRIV),' \
  73. -e 's,@GL_PC_CFLAGS@,$(GL_PC_CFLAGS),'
  74. gl.pc: gl.pc.in
  75. $(gl_pcedit) $< > $@
  76. osmesa_pcedit = sed \
  77. -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \
  78. -e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),' \
  79. -e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),' \
  80. -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \
  81. -e 's,@OSMESA_LIB@,$(OSMESA_LIB),' \
  82. -e 's,@OSMESA_PC_REQ@,$(OSMESA_PC_REQ),' \
  83. -e 's,@OSMESA_PC_LIB_PRIV@,$(OSMESA_PC_LIB_PRIV),'
  84. osmesa.pc: osmesa.pc.in
  85. $(osmesa_pcedit) $< > $@
  86. install-headers:
  87. $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL
  88. $(INSTALL) -m 644 $(TOP)/include/GL/*.h \
  89. $(DESTDIR)$(INSTALL_INC_DIR)/GL
  90. install-libgl: default gl.pc install-headers
  91. $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
  92. $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
  93. $(INSTALL) $(TOP)/$(LIB_DIR)/$(GL_LIB_GLOB) \
  94. $(DESTDIR)$(INSTALL_LIB_DIR)
  95. $(INSTALL) -m 644 gl.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
  96. install-osmesa: default osmesa.pc
  97. $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
  98. $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
  99. $(INSTALL) $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_GLOB) \
  100. $(DESTDIR)$(INSTALL_LIB_DIR)
  101. $(INSTALL) -m 644 osmesa.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
  102. install-dri: default
  103. cd drivers/dri && $(MAKE) install
  104. # Emacs tags
  105. tags:
  106. etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h
  107. clean:
  108. -rm -f */*.o
  109. -rm -f */*/*.o
  110. -rm -f depend depend.bak libmesa.a libglapi.a
  111. -rm -f drivers/*/*.o
  112. -rm -f *.pc
  113. -@cd drivers/dri && $(MAKE) clean
  114. -@cd drivers/x11 && $(MAKE) clean
  115. -@cd drivers/osmesa && $(MAKE) clean
  116. -@cd x86 && $(MAKE) clean
  117. -@cd x86-64 && $(MAKE) clean
  118. -include depend