Makefile 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. include ../makeinclude
  2. %.o : %.cpp
  3. @ echo Compiling $@...; $(CXX) $(CXXFLAGS) -c $< -o $@
  4. %.o : %.c
  5. @ echo Compiling $@...; $(CC) $(CXXFLAGS) -c $< -o $@
  6. CPP_SOURCE = \
  7. Flu_Button.cpp \
  8. Flu_Chat_Buffer.cpp \
  9. Flu_Choice_Group.cpp \
  10. Flu_Collapsable_Group.cpp \
  11. Flu_Combo_Box.cpp \
  12. Flu_Combo_List.cpp \
  13. Flu_Combo_Tree.cpp \
  14. Flu_DND.cpp \
  15. Flu_Dual_Progress_Meter.cpp \
  16. Flu_Dual_Slider.cpp \
  17. Flu_File_Chooser.cpp \
  18. Flu_Float_Input.cpp \
  19. Flu_Helpers.cpp \
  20. Flu_Int_Input.cpp \
  21. Flu_Label.cpp \
  22. Flu_Link_Button.cpp \
  23. Flu_Output.cpp \
  24. flu_file_chooser_pixmaps.cpp \
  25. flu_pixmaps.cpp \
  26. Flu_Progress.cpp \
  27. Flu_Progress_Meter.cpp \
  28. Flu_Return_Button.cpp \
  29. Flu_Separator.cpp \
  30. Flu_Simple_Group.cpp \
  31. FluSimpleString.cpp \
  32. Flu_Spinner.cpp \
  33. Flu_Toggle_Group.cpp \
  34. Flu_Tree_Browser.cpp \
  35. Flu_Wrap_Group.cpp \
  36. GL_CPP_SOURCE = \
  37. Flu_GL_Canvas.cpp \
  38. Flu_GL_Window.cpp
  39. OBJS = $(CPP_SOURCE:.cpp=.o)
  40. GL_OBJS = $(GL_CPP_SOURCE:.cpp=.o)
  41. STATIC_LIB_DIR = ../lib
  42. SHARED_LINK = libflu.$(SHARED_EXT)
  43. SHARED_LIB = $(SHARED_LINK).$(VERSION)
  44. STATIC_LIB = libflu.a
  45. GL_SHARED_LINK = libflu_gl.$(SHARED_EXT)
  46. GL_SHARED_LIB = $(GL_SHARED_LINK).$(VERSION)
  47. GL_STATIC_LIB = libflu_gl.a
  48. LIBS = $(STATIC_LIB)
  49. ifeq ($(ENABLE_SHARED),1)
  50. LIBS += $(SHARED_LIB)
  51. endif
  52. ifeq ($(ENABLE_GL),1)
  53. LIBS += $(GL_STATIC_LIB)
  54. ifeq ($(ENABLE_SHARED),1)
  55. LIBS += $(GL_SHARED_LIB)
  56. endif
  57. endif
  58. all: $(LIBS)
  59. $(SHARED_LIB): $(OBJS)
  60. @ echo Creating $@...; $(CXX) $(SHARED_FLAG) -o $(SHARED_LIB) $(OBJS) $(LDFLAGS) $(LDFLAGS_SHARED) $(EXTRAS)
  61. @ ln -sf $(SHARED_LIB) $(SHARED_LINK)
  62. $(STATIC_LIB): $(OBJS)
  63. @ echo Creating $@...; $(ARCHIVE) $(STATIC_LIB) $(OBJS)
  64. @ cp -f $(STATIC_LIB) $(STATIC_LIB_DIR)
  65. $(GL_SHARED_LIB): $(GL_OBJS)
  66. @ echo Creating $@...; $(CXX) $(SHARED_FLAG) -o $(GL_SHARED_LIB) $(GL_OBJS) $(LDFLAGS) $(LDFLAGS_SHARED) $(GL_EXTRAS)
  67. @ ln -sf $(GL_SHARED_LIB) $(GL_SHARED_LINK)
  68. $(GL_STATIC_LIB): $(GL_OBJS)
  69. @ echo Creating $@...; $(ARCHIVE) $(GL_STATIC_LIB) $(GL_OBJS)
  70. @ cp -f $(GL_STATIC_LIB) $(STATIC_LIB_DIR)
  71. clean:
  72. -@ rm -rf *.o ii_files so_locations *.so* $(STATIC_LIB_DIR)/$(STATIC_LIB) $(STATIC_LIB) $(SHARED_LIB) $(SHARED_LINK) $(STATIC_LIB_DIR)/$(GL_STATIC_LIB) $(GL_STATIC_LIB) $(GL_SHARED_LIB) $(GL_SHARED_LINK)
  73. install: $(LIBS)
  74. @ echo "Installing libraries in $(LPREFIX)..."
  75. @ mkdir -p $(LPREFIX)
  76. @ rm -f $(LPREFIX)/$(STATIC_LIB) $(LPREFIX)/$(GL_STATIC_LIB) $(LPREFIX)/$(SHARED_LINK) $(LPREFIX)/$(GL_SHARED_LINK) $(LPREFIX)/$(SHARED_LIB) $(LPREFIX)/$(GL_SHARED_LIB)
  77. @ for file in $(LIBS); do \
  78. cp $$file $(LPREFIX)/; \
  79. chmod 755 $(LPREFIX)/$$file; \
  80. if test $$file = $(SHARED_LIB); then \
  81. ln -sf $(SHARED_LIB) $(LPREFIX)/$(SHARED_LINK); \
  82. fi ; \
  83. if test $$file = $(GL_SHARED_LIB); then \
  84. ln -sf $(GL_SHARED_LIB) $(LPREFIX)/$(GL_SHARED_LINK); \
  85. fi; \
  86. done
  87. uninstall:
  88. @ echo "Uninstalling libraries from $(LPREFIX)..."
  89. @ rm -rf $(LPREFIX)/libflu*
  90. depend: $(CPP_SOURCE) $(GL_CPP_SOURCE)
  91. makedepend -Y -I../ -f makedepend $(CPP_SOURCE) $(GL_CPP_SOURCE)
  92. include makedepend