Rules.mak
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:2k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. ##########################################################################
  2. #
  3. #    common make rules and variables
  4. #
  5. #    (c) 2001-2002 Gilles Boccon-Gibod
  6. #    Author: Gilles Boccon-Gibod (bok@bok.net)
  7. #
  8. ##########################################################################
  9. ##########################################################################
  10. # build configurations
  11. ##########################################################################
  12. VPATH += $(AP4_BUILD_CONFIG)
  13. COMPILE_CPP_OPTIONS = $(WARNINGS_CPP) 
  14. ifeq ($(AP4_BUILD_CONFIG),Profile)
  15. COMPILE_CPP_OPTIONS += $(PROFILE_CPP)
  16. endif
  17. ifeq ($(AP4_BUILD_CONFIG),Debug)
  18. COMPILE_CPP_OPTIONS += $(DEBUG_CPP)
  19. else
  20. COMPILE_CPP_OPTIONS += $(OPTIMIZE_CPP)
  21. endif
  22. ##########################################################################
  23. # default rules
  24. ##########################################################################
  25. %.d: %.cpp
  26. $(AUTODEP_CPP) $(DEFINES_CPP) $(INCLUDES_CPP) $< -o $@
  27. ifneq ($(AUTODEP_STDOUT),)
  28. %.d: %.c
  29. $(AUTODEP_C) $(DEFINES_C) $(INCLUDES_C) $< > $@
  30. else
  31. %.d: %.c
  32. $(AUTODEP_CPP) $(DEFINES_CPP) $(INCLUDES_CPP) $< -o $@
  33. endif
  34. %.o: %.cpp
  35. $(COMPILE_CPP) $(COMPILE_CPP_OPTIONS) $($@_LOCAL_DEFINES_CPP) $(DEFINES_CPP) $(INCLUDES_CPP) -c $< -o $@
  36. %.a:
  37. $(ARCHIVE) -o $@ $^
  38. .PHONY: clean
  39. clean:
  40. @rm -rf $(TO_CLEAN)
  41. TITLE = @echo ============ making $@ =============
  42. INVOKE_SUBMAKE = $(MAKE) --no-print-directory
  43. ##########################################################################
  44. # variables
  45. ##########################################################################
  46. LINK                 = $(LINK_CPP) $(LINK_CPP_OPTIONS) 
  47. LINK_CPP_OPTIONS    += $(foreach lib,$(TARGET_LIBRARIES),-l$(lib))
  48. TARGET_LIBRARY_FILES = $(foreach lib,$(TARGET_LIBRARIES),lib$(lib).a)
  49. TARGET_OBJECTS       = $(TARGET_SOURCES:.cpp=.o)
  50. ##########################################################################
  51. # auto dependencies
  52. ##########################################################################
  53. TARGET_DEPENDENCIES := $(patsubst %.c,%.d,$(TARGET_SOURCES))
  54. TARGET_DEPENDENCIES := $(patsubst %.cpp,%.d,$(TARGET_DEPENDENCIES))
  55. ifneq ($(TARGET_DEPENDENCIES),)
  56. include $(TARGET_DEPENDENCIES)
  57. endif
  58. ##########################################################################
  59. # includes
  60. ##########################################################################
  61. ifneq ($(LOCAL_RULES),)
  62. include $(LOCAL_RULES)
  63. endif